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);
}