Index: magnolia-core/src/main/java/info/magnolia/cms/beans/runtime/MultipartForm.java =================================================================== --- magnolia-core/src/main/java/info/magnolia/cms/beans/runtime/MultipartForm.java (revision 25671) +++ magnolia-core/src/main/java/info/magnolia/cms/beans/runtime/MultipartForm.java (revision 25672) @@ -52,14 +52,14 @@ */ public static final String REQUEST_ATTRIBUTE_NAME = "multipartform"; //$NON-NLS-1$ - private Map parameters; + private Map parameters; private Map documents; private Map parameterList; public MultipartForm() { - this.parameters = new Hashtable(); + this.parameters = new Hashtable(); this.documents = new Hashtable(); this.parameterList = new Hashtable(); } @@ -68,7 +68,14 @@ * @deprecated since 4.0 - should not be needed anymore since MAGNOLIA-2449 - request parameters should be correctly wrapped. */ public void addParameter(String name, Object value) { - this.parameters.put(name, value); + if (value instanceof String[]) + { + this.parameters.put(name, (String[]) value); + } + else + { + this.parameters.put(name, new String[]{(String) value }); + } } /** @@ -81,7 +88,7 @@ /** * @deprecated since 4.0 - should not be needed anymore since MAGNOLIA-2449 - request parameters should be correctly wrapped. */ - public Map getParameters() { + public Map getParameters() { return this.parameters; } @@ -89,10 +96,17 @@ * @deprecated since 4.0 - should not be needed anymore since MAGNOLIA-2449 - request parameters should be correctly wrapped. */ public String getParameter(String name) { - try { - return (String) this.parameters.get(name); + try + { + String[] params = this.parameters.get(name); + if (params != null && params.length > 0) + { + return params[0]; + } + return null; } - catch (Exception e) { + catch (Exception e) + { return null; } }