You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2006/04/18 05:19:49 UTC

svn commit: r394828 - /struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java

Author: gvanmatre
Date: Mon Apr 17 20:19:46 2006
New Revision: 394828

URL: http://svn.apache.org/viewcvs?rev=394828&view=rev
Log:
Fix for bug 39294 reported by Simon Matic Langford. I narrowed the scope from the general category of renderer's in command family to the Link and Button renderer type's that are specified in the JSF runtime and have know behavior.  


Modified:
    struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java

Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java?rev=394828&r1=394827&r2=394828&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java (original)
+++ struts/shale/trunk/core-library/src/java/org/apache/shale/faces/ValidatorRenderKit.java Mon Apr 17 20:19:46 2006
@@ -35,6 +35,9 @@
  * The majority of the implementation is passed on the the original 
  * <code>RenderKit</code> but requests for renderers registered with the 
  * "javax.faces.Command" and "javax.faces.Input" families are decorated.
+ * Only renderers in the "javax.faces.Command" family of types 
+ * "javax.faces.Link" and "javax.faces.Button" are considered.  These are
+ * renderers from the vanilla JSF runtime that have predictable behavior.  
  * The wrapper adds special behavior for the 
  * {@link org.apache.shale.validator.CommonsValidator} validator and
  * {@link org.apache.shale.component.ValidatorScript} component.</p>
@@ -44,6 +47,9 @@
     private static String COMMAND_FAMILY = "javax.faces.Command";
     private static String INPUT_FAMILY = "javax.faces.Input";
     
+    private static String COMMAND_LINK_TYPE = "javax.faces.Link";
+    private static String COMMAND_BUTTON_TYPE = "javax.faces.Button";
+    
     
     /**
      * <p>The original RenderKit.</p>
@@ -65,14 +71,17 @@
     /**
      * <p>If the component family is not "javax.faces.Command" or
      * "javax.faces.Input", the <code>defaultRenderKit</code> handles the 
-     * request.  If the family is "javax.faces.Command", the default
-     * renderer is decorated with {@link org.apache.shale.renderer.ValidatorCommandRenderer}.
+     * request.  If the family is "javax.faces.Command", and the renderer type
+     * is "javax.faces.Link" or "javax.faces.Button" the default
+     * renderer is decorated with {@link org.apache.shale.renderer.ValidatorCommandRenderer}. 
      * If the component family is "javax.faces.Input", the default 
      * renderer is decorated with {@link org.apache.shale.renderer.ValidatorInputRenderer}.
      */
     public Renderer getRenderer(String componentFamily, String rendererType) {
         Renderer target = defaultRenderKit.getRenderer(componentFamily, rendererType);
-        if (componentFamily.equals(COMMAND_FAMILY)) {
+        if (componentFamily.equals(COMMAND_FAMILY) && 
+            (rendererType.equals(COMMAND_LINK_TYPE) || 
+             rendererType.equals(COMMAND_BUTTON_TYPE))) {
            if (!(target instanceof ValidatorCommandRenderer)) {
                target = new ValidatorCommandRenderer(target);
                addRenderer(componentFamily, rendererType, target);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org