Author: nbelaevski
Date: 2009-05-08 12:04:43 -0400 (Fri, 08 May 2009)
New Revision: 14082
Modified:
trunk/ui/pickList/src/main/java/org/richfaces/component/UIPickList.java
trunk/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
Log:
https://jira.jboss.org/jira/browse/RF-7034
Modified: trunk/ui/pickList/src/main/java/org/richfaces/component/UIPickList.java
===================================================================
--- trunk/ui/pickList/src/main/java/org/richfaces/component/UIPickList.java 2009-05-08
15:04:49 UTC (rev 14081)
+++ trunk/ui/pickList/src/main/java/org/richfaces/component/UIPickList.java 2009-05-08
16:04:43 UTC (rev 14082)
@@ -64,7 +64,6 @@
}
-
@Override
public Converter getConverter() {
@@ -86,20 +85,6 @@
return null;
}
- private static final Converter noOpConverter = new Converter() {
-
- public Object getAsObject(FacesContext context, UIComponent component,
- String value) {
- return value;
- }
-
- public String getAsString(FacesContext context, UIComponent component,
- Object value) {
- return value != null ? value.toString() : "";
- }
-
- };
-
public Converter getConverterForValue(FacesContext context) {
Converter converter = null;
ValueExpression expression = this.getValueExpression("value");
@@ -108,11 +93,8 @@
Class<?> containerClass = ELUtils.getContainerClass(context, expression);
converter = getConverterForType(context, containerClass);
- if (converter == null && String.class.equals(containerClass)) {
- converter = noOpConverter;
- }
}
-
+
return converter;
}
Modified: trunk/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
===================================================================
---
trunk/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2009-05-08
15:04:49 UTC (rev 14081)
+++
trunk/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2009-05-08
16:04:43 UTC (rev 14082)
@@ -192,22 +192,20 @@
}
String hiddenClientId = picklist.getClientId(context) + HIDDEN_SUFFIX;
- Map <String, String[]> paramValuesMap =
context.getExternalContext().getRequestParameterValuesMap();
+ Map <String, String> paramMap =
context.getExternalContext().getRequestParameterMap();
if (picklist.isDisabled()) {
return;
}
- if (paramValuesMap.containsKey(hiddenClientId)) {
-
- String[] valuesInline = (String[]) paramValuesMap.get(hiddenClientId);
-
- if (valuesInline[0].trim().equals("")) {
+ String value = paramMap.get(hiddenClientId);
+ if (value != null) {
+ if (value.trim().equals("")) {
((EditableValueHolder) picklist).setSubmittedValue(new String[] {});
} else {
- String[] reqValues = valuesInline[0].split(",");
+ String[] reqValues = value.split(",");
((EditableValueHolder) picklist).setSubmittedValue(reqValues);
}
@@ -391,12 +389,14 @@
Converter converter = pickList.getConverter();
List <String> lookupList = new ArrayList<String>();
+ List <Object> values = getValuesList(pickList);
- if(converter != null) {
- List <Object> values = getValuesList(pickList);
- for(Object value: values) {
- lookupList.add(converter.getAsString(context, pickList, value));
- }
+ for (Object value: values) {
+ if(converter != null) {
+ lookupList.add(converter.getAsString(context, pickList, value));
+ } else {
+ lookupList.add(value != null ? value.toString() : "");
+ }
}
encodeHiddenField(context, pickList, lookupList);