You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2007/11/23 20:25:56 UTC

svn commit: r597729 - in /myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit: RendererUtils.java html/HtmlListboxRendererBase.java html/HtmlMenuRendererBase.java html/HtmlRadioRendererBase.java

Author: matzew
Date: Fri Nov 23 11:25:55 2007
New Revision: 597729

URL: http://svn.apache.org/viewvc?rev=597729&view=rev
Log:
MYFACES-1759
Thx to Leonardo Uribe, for his patch

Modified:
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/RendererUtils.java
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/RendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/RendererUtils.java?rev=597729&r1=597728&r2=597729&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/RendererUtils.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/RendererUtils.java Fri Nov 23 11:25:55 2007
@@ -690,6 +690,40 @@
         }
     }
 
+    public static Object getConvertedUISelectOneValue(FacesContext facesContext, UISelectOne output, Object submittedValue){        
+        if (submittedValue != null && !(submittedValue instanceof String))
+        {
+            if (RendererUtils.NOTHING.equals(submittedValue))
+            {
+                return null;
+            }
+            throw new IllegalArgumentException("Submitted value of type String for component : "
+                    + getPathToComponent(output) + "expected");
+        }
+        
+        //To be compatible with jsf ri, and according to issue 69
+        //[  Permit the passing of a null value to SelectItem.setValue()  ]
+        //If submittedValue == "" then convert to null.
+        if ((submittedValue != null) && (submittedValue instanceof String) && ("".equals(submittedValue)))
+        {
+            //Replace "" by null value
+            submittedValue = null;
+        }
+
+        Converter converter;
+        try
+        {
+            converter = findUIOutputConverter(facesContext, output);
+        }
+        catch (FacesException e)
+        {
+            throw new ConverterException(e);
+        }
+
+        return converter == null ? submittedValue : converter
+                .getAsObject(facesContext, output, (String) submittedValue);
+    }
+    
     public static Object getConvertedUIOutputValue(FacesContext facesContext, UIOutput output, Object submittedValue)
             throws ConverterException
     {

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java?rev=597729&r1=597728&r2=597729&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlListboxRendererBase.java Fri Nov 23 11:25:55 2007
@@ -114,7 +114,7 @@
         }
         else if (uiComponent instanceof UISelectOne)
         {
-            return RendererUtils.getConvertedUIOutputValue(facesContext,
+            return RendererUtils.getConvertedUISelectOneValue(facesContext,
                                                            (UISelectOne)uiComponent,
                                                            submittedValue);
         }

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java?rev=597729&r1=597728&r2=597729&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMenuRendererBase.java Fri Nov 23 11:25:55 2007
@@ -111,7 +111,7 @@
         }
         else if (uiComponent instanceof UISelectOne)
         {
-            return org.apache.myfaces.shared.renderkit.RendererUtils.getConvertedUIOutputValue(facesContext,
+            return org.apache.myfaces.shared.renderkit.RendererUtils.getConvertedUISelectOneValue(facesContext,
                                                            (UISelectOne)uiComponent,
                                                            submittedValue);
         }

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java?rev=597729&r1=597728&r2=597729&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java Fri Nov 23 11:25:55 2007
@@ -258,7 +258,7 @@
             writer.writeAttribute(HTML.CHECKED_ATTR, HTML.CHECKED_ATTR, null);
         }
 
-        if ((value != null) && (value.length() > 0))
+        if (value != null)
         {
             writer.writeAttribute(HTML.VALUE_ATTR, value, null);
         }
@@ -299,10 +299,10 @@
 
     public Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object submittedValue) throws ConverterException
     {
-        RendererUtils.checkParamValidity(facesContext, uiComponent, UIOutput.class);
-        return org.apache.myfaces.shared.renderkit.RendererUtils.getConvertedUIOutputValue(facesContext,
-                                                                                           (UIOutput)uiComponent,
-                                                                                           submittedValue);
+        RendererUtils.checkParamValidity(facesContext, uiComponent, UISelectOne.class);
+        return org.apache.myfaces.shared.renderkit.RendererUtils.getConvertedUISelectOneValue(facesContext,
+                                                                                               (UISelectOne)uiComponent,
+                                                                                               submittedValue);
     }
 
 }