Author: bpoussin Date: 2012-06-02 04:23:42 +0200 (Sat, 02 Jun 2012) New Revision: 171 Url: http://chorem.org/repositories/revision/chorem/171 Log: fix bug in collection field "" must be empty collection and not collection with empty string Modified: trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/GenericAction.java Modified: trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/GenericAction.java =================================================================== --- trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/GenericAction.java 2012-06-01 17:38:34 UTC (rev 170) +++ trunk/chorem-webmotion/src/main/java/org/chorem/webmotion/actions/GenericAction.java 2012-06-02 02:23:42 UTC (rev 171) @@ -1,7 +1,17 @@ package org.chorem.webmotion.actions; import com.google.common.collect.LinkedHashMultimap; +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.ClassUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -22,16 +32,6 @@ import org.nuiton.wikitty.query.WikittyQueryParser; import org.nuiton.wikitty.query.WikittyQueryResult; -import java.io.ByteArrayInputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; - /** * * @author poussin @@ -409,12 +409,13 @@ v = file.getFile(); } else { String[] values = (String[]) params.get(fqfield); + System.out.println("ZZZZ fqfield:"+fqfield+" values: " + Arrays.toString(values) + " size:" + values.length); if (w.getFieldType(fqfield).isCollection()) { if (values.length == 1 && w.getFieldType(fqfield).getType() == WikittyTypes.WIKITTY) { // petit hack si l'editeur utilise n'est pas un select, // mais un input (et donc des valeurs separees par des ',' - values = values[0].split(","); - System.out.println("YYYY " + Arrays.toString(values)); + values = StringUtils.split(values[0], ","); + System.out.println("YYYY " + Arrays.toString(values) + " size: " + values.length); } v = values; } else { @@ -423,7 +424,7 @@ } try { w.setFqField(fqfield, v); - System.out.println("XXX after field: " + w.getFqField(fqfield)); + System.out.println("XXX after field: " + w.getFqField(fqfield) + "(" + ClassUtils.getSimpleName(w.getFqField(fqfield), "NULLclasse!!!") + ")"); } catch (Exception eee) { String msg = String.format("Can't put value '%s' in field '%s'", v, fqfield); error += "\n<li>" + msg + "</li>";