You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ug...@apache.org on 2005/10/03 18:06:18 UTC

svn commit: r293372 - /cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java

Author: ugo
Date: Mon Oct  3 09:06:13 2005
New Revision: 293372

URL: http://svn.apache.org/viewcvs?rev=293372&view=rev
Log:
Fix for bug #36727.

Modified:
    cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java

Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java?rev=293372&r1=293371&r2=293372&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/MultiValueField.java Mon Oct  3 09:06:13 2005
@@ -15,14 +15,15 @@
  */
 package org.apache.cocoon.forms.formmodel;
 
-import java.util.Locale;
 import java.lang.reflect.Array;
+import java.util.Locale;
 
 import org.apache.cocoon.forms.Constants;
 import org.apache.cocoon.forms.FormContext;
-import org.apache.cocoon.forms.datatype.SelectionList;
 import org.apache.cocoon.forms.datatype.Datatype;
+import org.apache.cocoon.forms.datatype.SelectionList;
 import org.apache.cocoon.forms.datatype.convertor.ConversionResult;
+import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.event.ValueChangedEvent;
 import org.apache.cocoon.forms.event.WidgetEvent;
 import org.apache.cocoon.forms.util.I18nMessage;
@@ -139,17 +140,21 @@
 
     public void generateItemSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException {
         contentHandler.startElement(Constants.INSTANCE_NS, VALUES_EL, Constants.INSTANCE_PREFIX_COLON + VALUES_EL, XMLUtils.EMPTY_ATTRIBUTES);
+        Convertor convertor = definition.getDatatype().getPlainConvertor();
+        if (convertor == null) {
+            convertor = definition.getDatatype().getConvertor();
+        }
         if (values != null) {
             for (int i = 0; i < values.length; i++) {
                 contentHandler.startElement(Constants.INSTANCE_NS, VALUE_EL, Constants.INSTANCE_PREFIX_COLON + VALUE_EL, XMLUtils.EMPTY_ATTRIBUTES);
-                String value = definition.getDatatype().getPlainConvertor().convertToString(values[i], locale, null);
+                String value = convertor.convertToString(values[i], locale, null);
                 contentHandler.characters(value.toCharArray(), 0, value.length());
                 contentHandler.endElement(Constants.INSTANCE_NS, VALUE_EL, Constants.INSTANCE_PREFIX_COLON + VALUE_EL);
             }
         } else if (enteredValues != null) {
             for (int i = 0; i < enteredValues.length; i++) {
                 contentHandler.startElement(Constants.INSTANCE_NS, VALUE_EL, Constants.INSTANCE_PREFIX_COLON + VALUE_EL, XMLUtils.EMPTY_ATTRIBUTES);
-                String value = definition.getDatatype().getPlainConvertor().convertToString(enteredValues[i], locale, null);
+                String value = convertor.convertToString(enteredValues[i], locale, null);
                 contentHandler.characters(value.toCharArray(), 0, value.length());
                 contentHandler.endElement(Constants.INSTANCE_NS, VALUE_EL, Constants.INSTANCE_PREFIX_COLON + VALUE_EL);
             }