[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