You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/05/26 10:47:15 UTC

svn commit: r178623 - in /myfaces/trunk/src: myfaces/org/apache/myfaces/config/FacesConfigurator.java share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java

Author: mmarinschek
Date: Thu May 26 01:47:15 2005
New Revision: 178623

URL: http://svn.apache.org/viewcvs?rev=178623&view=rev
Log:
Properly fixed the other decode methods in HtmlMenuRendererBase.java as well

Modified:
    myfaces/trunk/src/myfaces/org/apache/myfaces/config/FacesConfigurator.java
    myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java
    myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java
    myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java

Modified: myfaces/trunk/src/myfaces/org/apache/myfaces/config/FacesConfigurator.java
URL: http://svn.apache.org/viewcvs/myfaces/trunk/src/myfaces/org/apache/myfaces/config/FacesConfigurator.java?rev=178623&r1=178622&r2=178623&view=diff
==============================================================================
--- myfaces/trunk/src/myfaces/org/apache/myfaces/config/FacesConfigurator.java (original)
+++ myfaces/trunk/src/myfaces/org/apache/myfaces/config/FacesConfigurator.java Thu May 26 01:47:15 2005
@@ -584,7 +584,7 @@
 
             renderKitFactory.addRenderKit(renderKitId, renderKit);
         }
-    }
+    }                                              
 
 
     private void configureLifecycle()

Modified: myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java
URL: http://svn.apache.org/viewcvs/myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java?rev=178623&r1=178622&r2=178623&view=diff
==============================================================================
--- myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java (original)
+++ myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlMenuRendererBase.java Thu May 26 01:47:15 2005
@@ -78,32 +78,6 @@
         }
     }
 
-
-    private String getStyleClass(UISelectMany component)
-    {
-        if (component instanceof HtmlSelectManyMenu)
-        {
-            return ((HtmlSelectManyMenu)component).getStyleClass();
-        }
-        else
-        {
-            return (String)component.getAttributes().get(HTML.STYLE_CLASS_ATTR);
-        }
-    }
-
-    private String getStyleClass(UISelectOne component)
-    {
-        if (component instanceof HtmlSelectOneMenu)
-        {
-            return ((HtmlSelectOneMenu)component).getStyleClass();
-        }
-        else
-        {
-            return (String)component.getAttributes().get(HTML.STYLE_CLASS_ATTR);
-        }
-    }
-
-
     public void decode(FacesContext facesContext, UIComponent uiComponent)
     {
         RendererUtils.checkParamValidity(facesContext, uiComponent, null);

Modified: myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewcvs/myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java?rev=178623&r1=178622&r2=178623&view=diff
==============================================================================
--- myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlRendererUtils.java Thu May 26 01:47:15 2005
@@ -78,8 +78,15 @@
         if(isDisabledOrReadOnly(component))
             return;
 
-        ((EditableValueHolder) component).setSubmittedValue(paramMap
+        if(paramMap.containsKey(clientId))
+        {
+            ((EditableValueHolder) component).setSubmittedValue(paramMap
                 .get(clientId));
+        }
+        else
+        {
+            log.warn("There should always be a submitted value for an input if it is rendered, its form is submitted, and it is not disabled or read-only.");
+        }
     }
 
     /**
@@ -95,6 +102,10 @@
                     + component.getClientId(facesContext)
                     + " is not an EditableValueHolder");
         }
+
+        if(isDisabledOrReadOnly(component))
+            return;
+
         Map paramMap = facesContext.getExternalContext()
                 .getRequestParameterMap();
         String clientId = component.getClientId(facesContext);
@@ -111,13 +122,7 @@
                         .setSubmittedValue(Boolean.FALSE);
             }
         } else {
-            //request parameter not found, nothing to decode - set submitted value to empty
-            //if the component has not been disabled
-            if(!isDisabledOrReadOnly(component))
-            {
-                ((EditableValueHolder) component).setSubmittedValue( Boolean.FALSE );
-                // Necessary for unchecked chek box
-            }
+            log.warn("There should always be a submitted value for a checkbox if it is rendered, its form is submitted, and it is not disabled or read-only.");
         }
     }
 
@@ -152,17 +157,21 @@
         Map paramValuesMap = facesContext.getExternalContext()
                 .getRequestParameterValuesMap();
         String clientId = component.getClientId(facesContext);
+
+        if(isDisabledOrReadOnly(component))
+            return;
+
         if (paramValuesMap.containsKey(clientId)) {
             String[] reqValues = (String[]) paramValuesMap.get(clientId);
             ((EditableValueHolder) component).setSubmittedValue(reqValues);
         } else {
-            //request parameter not found, nothing to decode - set submitted value to empty
-            //if the component has not been disabled
-            if(!isDisabledOrReadOnly(component))
-            {
-                ((EditableValueHolder) component).setSubmittedValue( RendererUtils.EMPTY_STRING );
-                // Necessary for combo box / list with no selected item
-            }
+            /* request parameter not found, nothing to decode - set submitted value to an empty array
+               as we should get here only if the component is on a submitted form, is rendered
+               and if the component is not readonly or has not been disabled.
+
+               So in fact, there must be component value at this location, but for listboxes, comboboxes etc.
+               the submitted value is not posted if no item is selected. */
+            ((EditableValueHolder) component).setSubmittedValue( new String[]{});
         }
     }
 
@@ -179,6 +188,10 @@
                     + component.getClientId(facesContext)
                     + " is not an EditableValueHolder");
         }
+
+        if(isDisabledOrReadOnly(component))
+            return;
+
         Map paramMap = facesContext.getExternalContext()
                 .getRequestParameterMap();
         String clientId = component.getClientId(facesContext);
@@ -187,14 +200,8 @@
             ((EditableValueHolder) component).setSubmittedValue(paramMap
                     .get(clientId));
         } else {
-            //request parameter not found, nothing to decode - set submitted value to empty
-            //if the component has not been disabled
-
-            if(!isDisabledOrReadOnly(component))
-            {
-                ((EditableValueHolder) component).setSubmittedValue( RendererUtils.EMPTY_STRING );
-                // Necessary for list with no selected item
-            }
+            //see reason for this action at decodeUISelectMany
+            ((EditableValueHolder) component).setSubmittedValue( RendererUtils.EMPTY_STRING );
         }
     }
 

Modified: myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java?rev=178623&r1=178622&r2=178623&view=diff
==============================================================================
--- myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java (original)
+++ myfaces/trunk/src/share/org/apache/myfaces/renderkit/html/HtmlResponseWriterImpl.java Thu May 26 01:47:15 2005
@@ -260,7 +260,7 @@
         }
         else
         {
-            String strValue = value.toString(); //TODO: Use converter for value
+            String strValue = value.toString();
             _writer.write(' ');
             _writer.write(name);
             _writer.write("=\"");
@@ -280,7 +280,7 @@
             throw new IllegalStateException("Must be called before the start element is closed (attribute '" + name + "')");
         }
 
-        String strValue = value.toString(); //TODO: Use converter for value?
+        String strValue = value.toString();
         _writer.write(' ');
         _writer.write(name);
         _writer.write("=\"");
@@ -343,7 +343,7 @@
         if(value == null)
             return;
 
-        String strValue = value.toString(); //TODO: Use converter for value?
+        String strValue = value.toString();
 
         if (isScriptOrStyle())
         {