You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Sven Meier <sv...@meiers.net> on 2015/10/30 14:48:19 UTC
MultiFileUploadField
Hi all,
I had problems building Wicket 6.x due to a failure in
MultiFileUploadFieldTest:
It seems that depending on the JVM the uploaded files are in a different
order.
How about sorting the upload by input name?
diff --git
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
index 450a42d..cc95ff9 100644
---
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
+++
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form.upload;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -273,6 +274,7 @@ public class MultiFileUploadField extends
FormComponentPanel<Collection<FileUplo
if (names != null)
{
+ Collections.sort(names);
inputArrayCache = names.toArray(new
String[names.size()]);
}
}
This way the test will always work, and the upload is kept in the order
the user has added the files.
WDYT?
Sven
Re: MultiFileUploadField
Posted by Martin Grigorov <mg...@apache.org>.
Hi Sven,
I guess you have this error while building 6.x with JDK 7+?
This is a known problem. And the solution to the other places we had this
problem was to use LinkedHashMap, as Tobias suggested.
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Fri, Oct 30, 2015 at 3:48 PM, Sven Meier <sv...@meiers.net> wrote:
> Hi all,
>
> I had problems building Wicket 6.x due to a failure in
> MultiFileUploadFieldTest:
> It seems that depending on the JVM the uploaded files are in a different
> order.
>
> How about sorting the upload by input name?
>
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> index 450a42d..cc95ff9 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> @@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form.upload;
>
> import java.util.ArrayList;
> import java.util.Collection;
> +import java.util.Collections;
> import java.util.HashMap;
> import java.util.List;
> import java.util.Map;
> @@ -273,6 +274,7 @@ public class MultiFileUploadField extends
> FormComponentPanel<Collection<FileUplo
>
> if (names != null)
> {
> + Collections.sort(names);
> inputArrayCache = names.toArray(new
> String[names.size()]);
> }
> }
>
> This way the test will always work, and the upload is kept in the order
> the user has added the files.
>
> WDYT?
>
> Sven
>
Re: MultiFileUploadField
Posted by Tobias Soloschenko <to...@googlemail.com>.
Hi,
I don't know the other code of the file upload, but would it be better to use a LinkedHashMap to ensure the order?
kind regards
Tobias
> Am 30.10.2015 um 14:48 schrieb Sven Meier <sv...@meiers.net>:
>
> Hi all,
>
> I had problems building Wicket 6.x due to a failure in MultiFileUploadFieldTest:
> It seems that depending on the JVM the uploaded files are in a different order.
>
> How about sorting the upload by input name?
>
> diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> index 450a42d..cc95ff9 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
> @@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.form.upload;
>
> import java.util.ArrayList;
> import java.util.Collection;
> +import java.util.Collections;
> import java.util.HashMap;
> import java.util.List;
> import java.util.Map;
> @@ -273,6 +274,7 @@ public class MultiFileUploadField extends FormComponentPanel<Collection<FileUplo
>
> if (names != null)
> {
> + Collections.sort(names);
> inputArrayCache = names.toArray(new String[names.size()]);
> }
> }
>
> This way the test will always work, and the upload is kept in the order the user has added the files.
>
> WDYT?
>
> Sven