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 2011/10/05 21:53:22 UTC

svn commit: r1179403 - in /myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config: annotation/AnnotationConfigurator.java impl/digester/DigesterFacesConfigDispenserImpl.java

Author: lu4242
Date: Wed Oct  5 19:53:21 2011
New Revision: 1179403

URL: http://svn.apache.org/viewvc?rev=1179403&view=rev
Log:
MYFACES-3315 @FacesValidator.isDefault() not processed

Modified:
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java?rev=1179403&r1=1179402&r2=1179403&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java Wed Oct  5 19:53:21 2011
@@ -45,6 +45,7 @@ import javax.faces.render.FacesRenderer;
 import javax.faces.render.RenderKitFactory;
 import javax.faces.validator.FacesValidator;
 
+import org.apache.myfaces.config.impl.digester.elements.Application;
 import org.apache.myfaces.config.impl.digester.elements.Behavior;
 import org.apache.myfaces.config.impl.digester.elements.Converter;
 import org.apache.myfaces.config.impl.digester.elements.FacesConfig;
@@ -185,6 +186,19 @@ public class AnnotationConfigurator
                                 + ")");
                     }
                     facesConfig.addValidator(val.value(), clazz.getName());
+                    if (val.isDefault())
+                    {
+                        Application app = null;
+                        if(facesConfig.getApplications().isEmpty())
+                        {
+                            app = new Application();
+                        }
+                        else
+                        {
+                            app = (Application) facesConfig.getApplications().get(0);
+                        }
+                        app.addDefaultValidatorId(val.value());
+                    }
                 }
             }
         }

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java?rev=1179403&r1=1179402&r2=1179403&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java Wed Oct  5 19:53:21 2011
@@ -64,6 +64,7 @@ public class DigesterFacesConfigDispense
     private List<String> renderKitFactories = new ArrayList<String>();
     private List<String> tagHandlerDelegateFactories = new ArrayList<String>();
     private List<String> visitContextFactories = new ArrayList<String>();
+    private List<String> faceletCacheFactories = new ArrayList<String>();
     
     private String defaultRenderKitId;
     private String messageBundle;
@@ -92,6 +93,7 @@ public class DigesterFacesConfigDispense
     private List<String> variableResolver = new ArrayList<String>();
     private List<String> viewHandlers = new ArrayList<String>();
     private List<String> defaultValidatorIds = new ArrayList<String>();
+    private List<String> defaultAnnotatedValidatorIds = new ArrayList<String>();
     
     private List<ManagedBean> managedBeans = new ArrayList<ManagedBean>();
     
@@ -176,6 +178,13 @@ public class DigesterFacesConfigDispense
                 // now add all default-validator entries (could be zero)
                 defaultValidatorIds.addAll(application.getDefaultValidatorIds());
             }
+            else
+            {
+                //If isDefaultValidatorsPresent() is false, and there are still 
+                //default validators, it means they were added using annotations, so
+                //they are not affected by the empty entry according to section 3.5.3
+                defaultAnnotatedValidatorIds.addAll(application.getDefaultValidatorIds());
+            }
             
             systemEventListeners.addAll(application.getSystemEventListeners());
         }
@@ -537,7 +546,10 @@ public class DigesterFacesConfigDispense
      */
     public Collection<String> getDefaultValidatorIds ()
     {
-        return defaultValidatorIds;
+        List<String> allDefaultValidatorIds = new ArrayList<String>();
+        allDefaultValidatorIds.addAll(defaultAnnotatedValidatorIds);
+        allDefaultValidatorIds.addAll(defaultValidatorIds);
+        return allDefaultValidatorIds;
     }
     
     /**