[cig-commits] r7891 - in
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal:
portlets util
wei at geodynamics.org
wei at geodynamics.org
Fri Aug 24 14:54:46 PDT 2007
Author: wei
Date: 2007-08-24 14:54:46 -0700 (Fri, 24 Aug 2007)
New Revision: 7891
Modified:
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/portlets/CigMagPortlet.java
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/util/SimpleGridConstants.java
Log:
Added Sarah's file-upload to mag portlet.
Modified: cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/portlets/CigMagPortlet.java
===================================================================
--- cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/portlets/CigMagPortlet.java 2007-08-24 19:22:05 UTC (rev 7890)
+++ cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/portlets/CigMagPortlet.java 2007-08-24 21:54:46 UTC (rev 7891)
@@ -36,6 +36,11 @@
import org.ietf.jgss.GSSCredential;
import org.ogce.portlets.VelocityPortlet;
+//apache commons FileUpload
+import org.apache.commons.fileupload.portlet.*;
+import org.apache.commons.fileupload.*;
+import org.apache.commons.fileupload.disk.*;
+
public class CigMagPortlet extends VelocityPortlet {
/* This method is called whenever porlet is loaded */
public void buildViewContext( RenderRequest req, RenderResponse res, Context aContext ) {
@@ -231,6 +236,55 @@
}
this.fillTemplate(aContext, req, res, error);
}
+
+
+ //added file upload handling
+ public void doMag_file_upload ( ActionRequest req, ActionResponse res, Context aContext ) throws Exception
+ {
+ // clear error info
+ String error = "";
+ try {
+ PortletSession mysession = req.getPortletSession(true);
+ User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+ String uid = user.getUserID();
+ String uploadfile = req.getParameter("cig_mag_parm_filename");
+ if (uploadfile != null)
+ {
+ // Check that we have a file upload request
+ boolean isMultipart = PortletFileUpload.isMultipartContent(req);
+ // Create a factory for disk-based file items
+ DiskFileItemFactory factory = new DiskFileItemFactory();
+ //Create a new file upload handler
+ PortletFileUpload upload = new PortletFileUpload(factory);
+ // Parse the request
+ List items = upload.parseRequest(req);
+ // Check validity of directory file(s) will be written to
+ String udir = this.getPortletContext().getRealPath("storage/"+uid+"/mag/datasets");
+ System.out.println(udir);
+ File usermagDir = new File(udir);
+ if (!usermagDir.isDirectory()) throw new PortletException(udir+": mag portlet: user mag dataset dir is not a directory.");
+ // Process the uploaded items
+ Iterator iter = items.iterator();
+ while (iter.hasNext())
+ {
+ FileItem item = (FileItem) iter.next();
+ if (item.isFormField()){
+ System.out.println("\nField = " + item.getFieldName());
+ }
+ else{
+ String fileName = item.getName();
+ System.out.println("\nNAME: " + fileName);
+ File uploadedFile = new File(udir, fileName);
+ item.write(uploadedFile);
+ }
+ }
+ }
+ }catch (Exception e) {
+ error += "CigPortalMagAction::doMag_file_upload: error\n"+e.toString() + "\n";
+ }
+ this.fillTemplate(aContext, req, res, error);
+ }
+
public void doMag_view_dataset ( ActionRequest req, ActionResponse res, Context aContext ) throws Exception
{
//clear error info
Modified: cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/util/SimpleGridConstants.java
===================================================================
--- cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/util/SimpleGridConstants.java 2007-08-24 19:22:05 UTC (rev 7890)
+++ cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/cig/portal/util/SimpleGridConstants.java 2007-08-24 21:54:46 UTC (rev 7891)
@@ -29,7 +29,8 @@
public static final String MagParamK = "cig_mag_parm_k";
public static final String MagParamR = "cig_mag_parm_r";
public static final String MagParamSite = "cig_mag_parm_site";
-
+ public static final String MagParamFileUpload = "cig_mag_parm_filename"; //added for file uploading
+
public static final String MagId = "cig_mag_id";
// service instance names
More information about the cig-commits
mailing list