[Carbon-dev] svn commit r43462 - branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload

azeez at wso2.com azeez at wso2.com
Fri Aug 14 10:01:51 PDT 2009


Author: azeez
Date: Fri Aug 14 10:01:51 2009
New Revision: 43462
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=43462

Log:
Support for handling arrays from form submissions



Modified:
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AnyFileUploadExecutor.java
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/JarZipUploadExecutor.java
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/KeyStoreFileUploadExecutor.java
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java
   branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsFileUploadExecutor.java

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AbstractFileUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.wso2.carbon.ui.transports.fileupload;
 
 import org.apache.axis2.context.ConfigurationContext;
@@ -54,9 +53,9 @@
 
     protected ConfigurationContext configurationContext;
 
-    protected Map<String, FileItemData> fileItemsMap;
+    protected Map<String, ArrayList<FileItemData>> fileItemsMap;
 
-    protected Map<String, String> formFieldsMap;
+    protected Map<String, ArrayList<String>> formFieldsMap;
 
     public abstract boolean execute(HttpServletRequest request,
                            HttpServletResponse response) throws CarbonException, IOException;
@@ -69,8 +68,8 @@
     }
 
     void parseRequest(HttpServletRequest request) throws CarbonException{
-        fileItemsMap = new HashMap<String, FileItemData>();
-        formFieldsMap = new HashMap<String, String>();
+        fileItemsMap = new HashMap<String, ArrayList<FileItemData>>();
+        formFieldsMap = new HashMap<String, ArrayList<String>>();
 
         ServletRequestContext servletRequestContext = new ServletRequestContext(request);
         boolean isMultipart =
@@ -88,14 +87,19 @@
                     FileItem item = (FileItem) iter.next();
                     String fieldName = item.getFieldName().trim();
                     if (item.isFormField()) {
-                        formFieldsMap.put(fieldName, new String(item.get()));
-
+                        if (formFieldsMap.get(fieldName) == null) {
+                            formFieldsMap.put(fieldName, new ArrayList<String>());
+                        }
+                        formFieldsMap.get(fieldName).add(new String(item.get()));
                     }else {
                         String fileName = item.getName();
                         if ((fileName == null || fileName.length() == 0) && multiItems) {
                             continue;
                         }
-                        fileItemsMap.put(fieldName, new FileItemData(item));
+                        if (fileItemsMap.get(fieldName) == null) {
+                            fileItemsMap.put(fieldName, new ArrayList<FileItemData>());
+                        }
+                        fileItemsMap.get(fieldName).add(new FileItemData(item));
                     }
                 }
             }
@@ -245,11 +249,11 @@
             int i = 0;
             while (iterator.hasNext()) {
                 String fieldName = iterator.next();
-                String fileName = fileItemsMap.get(fieldName).getFileItem().getName();
+                String fileName = fileItemsMap.get(fieldName).get(0).getFileItem().getName();
                 if ((fileName == null || fileName.length() == 0) && multiItems) {
                     continue;
                 }
-                FileItemData fileItemData = fileItemsMap.get(fieldName);
+                FileItemData fileItemData = fileItemsMap.get(fieldName).get(0);
                 UploadedFileItem uploadedFileItem = new UploadedFileItem();
                 uploadedFileItem.setDataHandler(fileItemData.getDataHandler());
                 uploadedFileItem.setFileName(fileName);
@@ -435,4 +439,13 @@
         dh.writeTo(out);
         out.flush();
     }
+
+    protected List<FileItemData> getAllFileItems(){
+        Collection<ArrayList<FileItemData>> listCollection = fileItemsMap.values();
+        List<FileItemData> fileItems = new ArrayList<FileItemData>();
+        for (ArrayList<FileItemData> fileItemData : listCollection) {
+            fileItems.addAll(fileItemData);
+        }
+        return fileItems;
+    }
 }

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AnyFileUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AnyFileUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AnyFileUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/AnyFileUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -16,7 +16,6 @@
 
 package org.wso2.carbon.ui.transports.fileupload;
 
-import org.apache.axis2.context.ConfigurationContext;
 import org.wso2.carbon.CarbonException;
 
 import javax.servlet.http.HttpServletRequest;

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/JarZipUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/JarZipUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/JarZipUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/JarZipUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -15,13 +15,12 @@
  */
 package org.wso2.carbon.ui.transports.fileupload;
 
-import org.apache.axis2.context.ConfigurationContext;
 import org.apache.commons.collections.bidimap.TreeBidiMap;
 import org.apache.commons.fileupload.disk.DiskFileItem;
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
 import org.apache.commons.fileupload.servlet.ServletRequestContext;
-import org.wso2.carbon.utils.ServerConstants;
 import org.wso2.carbon.CarbonException;
+import org.wso2.carbon.utils.ServerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/KeyStoreFileUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/KeyStoreFileUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/KeyStoreFileUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/KeyStoreFileUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -16,13 +16,12 @@
 
 package org.wso2.carbon.ui.transports.fileupload;
 
-import org.apache.axis2.context.ConfigurationContext;
 import org.apache.commons.collections.bidimap.TreeBidiMap;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
 import org.apache.commons.fileupload.servlet.ServletRequestContext;
-import org.wso2.carbon.utils.ServerConstants;
 import org.wso2.carbon.CarbonException;
+import org.wso2.carbon.utils.ServerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsAnyFileUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -1,20 +1,21 @@
 package org.wso2.carbon.ui.transports.fileupload;
 
+import org.apache.commons.collections.bidimap.TreeBidiMap;
+import org.wso2.carbon.CarbonException;
+import org.wso2.carbon.utils.FileItemData;
+import org.wso2.carbon.utils.ServerConstants;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.collections.bidimap.TreeBidiMap;
-import org.wso2.carbon.CarbonException;
-import org.wso2.carbon.utils.FileItemData;
-import org.wso2.carbon.utils.ServerConstants;
-
 public class ToolsAnyFileUploadExecutor extends AbstractFileUploadExecutor {
 
 	@Override
@@ -30,7 +31,7 @@
         		configurationContext.setProperty(ServerConstants.FILE_RESOURCE_MAP,
                                              fileResourceMap);
         	}
-            Collection<FileItemData> fileItems = fileItemsMap.values();
+            List<FileItemData> fileItems = getAllFileItems();
             String filePaths = "";
 
             for (FileItemData fileItem : fileItems) {

Modified: branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsFileUploadExecutor.java
URL: http://wso2.org/svn/browse/wso2/branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsFileUploadExecutor.java?rev=43462&r1=43461&r2=43462&view=diff
==============================================================================
--- branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsFileUploadExecutor.java	(original)
+++ branches/carbon-platform/2.0.1/carbon/org.wso2.carbon.ui/src/main/java/org/wso2/carbon/ui/transports/fileupload/ToolsFileUploadExecutor.java	Fri Aug 14 10:01:51 2009
@@ -27,13 +27,14 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Collection;
+import java.util.List;
 
 public class ToolsFileUploadExecutor extends AbstractFileUploadExecutor {
     public boolean execute(HttpServletRequest request, HttpServletResponse response)
             throws CarbonException, IOException {
         PrintWriter out = response.getWriter();
         try {
-            Collection<FileItemData> fileItems = fileItemsMap.values();
+            List<FileItemData> fileItems = getAllFileItems();
             String filePaths = "";
 
             for (FileItemData fileItem : fileItems) {



More information about the Carbon-dev mailing list