You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2013/08/17 00:21:48 UTC

svn commit: r1514909 - in /myfaces/core/trunk/impl/src: main/java/org/apache/myfaces/config/annotation/ test/java/org/apache/myfaces/view/facelets/test/component/ test/resources/org/apache/myfaces/view/facelets/test/component/

Author: lu4242
Date: Fri Aug 16 22:21:48 2013
New Revision: 1514909

URL: http://svn.apache.org/r1514909
Log:
MYFACES-3756 @FacesComponent and @FacesValidator value are now optional

Added:
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel3.java
      - copied, changed from r1509781, myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel1.java
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel3.xhtml
      - copied, changed from r1509781, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel2.xhtml
Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/FacesComponentAnnotationMyFacesRequestTestCase.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java?rev=1514909&r1=1514908&r2=1514909&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java Fri Aug 16 22:21:48 2013
@@ -119,13 +119,19 @@ public class AnnotationConfigurator
                         log.finest("addComponent(" + comp.value() + ","
                                 + clazz.getName() + ")");
                     }
-
-                    facesConfig.addComponent(comp.value(), clazz.getName());
+                    String value = comp.value();
+                    if ( value == null ||
+                        (value != null && value.length() <= 0))
+                    {
+                        String simpleName = clazz.getSimpleName();
+                        value = Character.toLowerCase(simpleName.charAt(0)) + simpleName.substring(1);
+                    }
+                    facesConfig.addComponent(value, clazz.getName());
                     
                     if (comp.createTag())
                     {
-                        facesConfig.addComponentTagDeclaration(comp.value(), 
-                                new ComponentTagDeclarationImpl(comp.value(), 
+                        facesConfig.addComponentTagDeclaration(value, 
+                                new ComponentTagDeclarationImpl(value, 
                                     comp.namespace(), comp.tagName()));
                     }
                 }
@@ -188,7 +194,14 @@ public class AnnotationConfigurator
                         log.finest("addValidator(" + val.value() + "," + clazz.getName()
                                 + ")");
                     }
-                    facesConfig.addValidator(val.value(), clazz.getName());
+                    String value = val.value();
+                    if ( value == null ||
+                        (value != null && value.length() <= 0))
+                    {
+                        String simpleName = clazz.getSimpleName();
+                        value = Character.toLowerCase(simpleName.charAt(0)) + simpleName.substring(1);
+                    }
+                    facesConfig.addValidator(value, clazz.getName());
                     if (val.isDefault())
                     {
                         Application app = null;
@@ -200,7 +213,7 @@ public class AnnotationConfigurator
                         {
                             app = (Application) facesConfig.getApplications().get(0);
                         }
-                        app.addDefaultValidatorId(val.value());
+                        app.addDefaultValidatorId(value);
                     }
                 }
             }

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/FacesComponentAnnotationMyFacesRequestTestCase.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/FacesComponentAnnotationMyFacesRequestTestCase.java?rev=1514909&r1=1514908&r2=1514909&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/FacesComponentAnnotationMyFacesRequestTestCase.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/FacesComponentAnnotationMyFacesRequestTestCase.java Fri Aug 16 22:21:48 2013
@@ -76,4 +76,22 @@ public class FacesComponentAnnotationMyF
         
         tearDownRequest();
     }
+    
+    @Test
+    public void testUIPanel3() throws Exception
+    {
+        setupRequest("/testMyUIPanel3.xhtml");
+        processLifecycleExecuteAndRender();
+        
+        UIComponent comp = facesContext.getViewRoot().findComponent("panel3");
+        Assert.assertNotNull(comp);
+        Assert.assertTrue(comp instanceof MyUIPanel3);
+
+        // Check component type
+        MyUIPanel3 comp2 = (MyUIPanel3) 
+            facesContext.getApplication().createComponent("myUIPanel3");
+        Assert.assertNotNull(comp2);
+        
+        tearDownRequest();
+    }
 }

Copied: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel3.java (from r1509781, myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel1.java)
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel3.java?p2=myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel3.java&p1=myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel1.java&r1=1509781&r2=1514909&rev=1514909&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel1.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/view/facelets/test/component/MyUIPanel3.java Fri Aug 16 22:21:48 2013
@@ -25,11 +25,11 @@ import javax.faces.component.UIPanel;
  *
  * @author Leonardo Uribe
  */
-@FacesComponent(value="oam.my.UIPanel1", createTag=true, tagName="myUIPanel1")
-public class MyUIPanel1 extends UIPanel
+@FacesComponent(createTag=true, tagName="myUIPanel3")
+public class MyUIPanel3 extends UIPanel
 {
     
-    public MyUIPanel1()
+    public MyUIPanel3()
     {
         super();
     }

Copied: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel3.xhtml (from r1509781, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel2.xhtml)
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel3.xhtml?p2=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel3.xhtml&p1=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel2.xhtml&r1=1509781&r2=1514909&rev=1514909&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel2.xhtml (original)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/test/component/testMyUIPanel3.xhtml Fri Aug 16 22:21:48 2013
@@ -16,10 +16,10 @@
 				xmlns:h="http://java.sun.com/jsf/html"
 				xmlns:f="http://java.sun.com/jsf/core"
 				xmlns:ui="http://java.sun.com/jsf/facelets"
-				xmlns:custom="http://my.coolorganization.org/tags">
-<custom:myUIPanel2 id="panel1">
+				xmlns:custom="http://xmlns.jcp.org/jsf/component">
+<custom:myUIPanel3 id="panel3">
     Hello World
-</custom:myUIPanel2>		
+</custom:myUIPanel3>
 	
 </ui:composition>