[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