[cig-commits] r7888 - in
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo:
portlets util
lis at geodynamics.org
lis at geodynamics.org
Fri Aug 24 11:52:40 PDT 2007
Author: lis
Date: 2007-08-24 11:52:40 -0700 (Fri, 24 Aug 2007)
New Revision: 7888
Modified:
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java
cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/util/SimpleGridConstants.java
Log:
added file uploading to DMS portlet and constant file
Modified: cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java
===================================================================
--- cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java 2007-08-24 18:20:39 UTC (rev 7887)
+++ cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java 2007-08-24 18:52:40 UTC (rev 7888)
@@ -1,6 +1,6 @@
/**
- * Copyright (c) 2007 Computational Infrastructure for Geodynamics (CIG),
- * California Institute of Technology, All Rights Reserved.
+ * Copyright (c) 2007 CyberInfrastructure and Geospatial Information Laboratory (CIGI),
+ * University of Illinois at Urbana-Champaign, All Rights Reserved.
*/
package org.gisolve.demo.portlets;
@@ -30,6 +30,11 @@
import org.gisolve.demo.grid.security.*;
import org.gisolve.demo.app.IDWVizThread;
+//apache commons FileUpload
+import org.apache.commons.fileupload.portlet.*;
+import org.apache.commons.fileupload.*;
+import org.apache.commons.fileupload.disk.*;
+
public class GISolveDMSPortlet extends VelocityPortlet {
/* This method is called whenever porlet is loaded */
public void buildViewContext( RenderRequest req, RenderResponse res, Context aContext ) {
@@ -225,6 +230,54 @@
}
this.fillTemplate(aContext, req, res, error);
}
+
+ //added file upload handling
+ public void doDms_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("gisolve_dms_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+"/dms/datasets");
+ System.out.println(udir);
+ File userdmsDir = new File(udir);
+ if (!userdmsDir.isDirectory()) throw new PortletException(udir+": dms portlet: user dms 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 += "GISolveDMSAction::doDms_file_upload: error\n"+e.toString() + "\n";
+ }
+ this.fillTemplate(aContext, req, res, error);
+ }
+
public void doDms_view_dataset ( ActionRequest req, ActionResponse res, Context aContext ) throws Exception
{
//clear error info
Modified: cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/util/SimpleGridConstants.java
===================================================================
--- cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/util/SimpleGridConstants.java 2007-08-24 18:20:39 UTC (rev 7887)
+++ cs/cigtg/trunk/cigtg-dev/CigPortal/cigportal/src/org/gisolve/demo/util/SimpleGridConstants.java 2007-08-24 18:52:40 UTC (rev 7888)
@@ -1,6 +1,6 @@
/**
- * Copyright (c) 2007 Computational Infrastructure for Geodynamics (CIG),
- * California Institute of Technology, All Rights Reserved.
+ * Copyright (c) 2007 CyberInfrastructure and Geospatial Information Laboratory (CIGI),
+ * University of Illinois at Urbana-Champaign, All Rights Reserved.
*/
package org.gisolve.demo.util;
@@ -29,6 +29,7 @@
public static final String dmsParamK = "gisolve_dms_parm_k";
public static final String dmsParamR = "gisolve_dms_parm_r";
public static final String dmsParamSite = "gisolve_dms_parm_site";
+ public static final String dmsParamFileUpload = "gisolve_dms_parm_filename"; //added for file uploading
public static final String dmsId = "gisolve_dms_id";
More information about the cig-commits
mailing list