You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/12/09 16:00:27 UTC

svn commit: r888821 - /labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java

Author: simoneg
Date: Wed Dec  9 15:00:26 2009
New Revision: 888821

URL: http://svn.apache.org/viewvc?rev=888821&view=rev
Log:
LABS-380 : Fixes on file handling at request parsing level

Modified:
    labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java

Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java?rev=888821&r1=888820&r2=888821&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/utils/OnDemandBinder.java Wed Dec  9 15:00:26 2009
@@ -45,6 +45,7 @@
 	private Map<String,String> newCookies = null;
 	
 	private Map<String, Object> unconvertedSession = new HashMap<String, Object>();
+	private Map<String,String[]> allparams = null;
 	
 	public enum Interaction {
 		session,
@@ -82,8 +83,9 @@
 	}
 
 	private Object fetchAllParams() {
+		if (allparams != null) return allparams;
 		if (uploads == null) {
-			return req.getParameterMap();
+			allparams = req.getParameterMap();
 		} else {
 			Map<String, String[]> params = new HashMap<String, String[]>();
 			for (Map.Entry<String, FileItem[]> entry : uploads.entrySet()) {
@@ -93,9 +95,11 @@
 					if (items[0].isFormField()) {
 						vals[i] = items[i].getString();
 					} else {
+						if (items[i].getSize() == 0) continue;
 						File f;
 						try {
 							f = File.createTempFile("magma_upload", ".raw");
+							f.deleteOnExit();
 							items[i].write(f);
 						} catch (Exception e) {
 							throw new MagmaException(e, "Error saving temporary uploaded file");
@@ -103,13 +107,14 @@
 						String origname = items[i].getName();
 						origname = origname.replaceAll("\\\\", "/");
 						String[] split = origname.split("/");
-						vals[i] = split[split.length - 1] + "/" + f.getAbsolutePath();
+						vals[i] = "FILE " + split[split.length - 1] + ":" + f.getAbsolutePath();
 					}
 				}
 				params.put(entry.getKey(), vals);
 			}
-			return params;
+			allparams = params;
 		}
+		return allparams;
 	}
 
 	private Object fetchRequest(String rawname, Class type) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org