You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2009/04/10 13:46:00 UTC

svn commit: r763914 - in /myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval: ./ annotation/ validation/

Author: gpetracek
Date: Fri Apr 10 11:46:00 2009
New Revision: 763914

URL: http://svn.apache.org/viewvc?rev=763914&view=rev
Log:
conditional validation for bv

Modified:
    myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
    myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java
    myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java
    myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java

Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/BeanValidationInterceptor.java Fri Apr 10 11:46:00 2009
@@ -376,8 +376,7 @@
                 modelValidationEntry.removeGroup(restrictedGroup);
             }
 
-            if(modelValidationEntry.getGroups().length > 0 &&
-                    isModelValidationAllowed(modelValidationEntry.getMetaData()))
+            if(modelValidationEntry.getGroups().length > 0)
             {
                 addTargetsForModelValidation(modelValidationEntry, propertyDetails.getBaseObject());
                 extValBeanValidationContext.addModelValidationEntry(modelValidationEntry, currentViewId, component);
@@ -508,8 +507,8 @@
     {
         for (String currentViewId : beanValidation.viewIds())
         {
-            if (currentViewId.equals(FacesContext.getCurrentInstance().getViewRoot().getViewId()) ||
-                    currentViewId.equals("*"))
+            if ((currentViewId.equals(FacesContext.getCurrentInstance().getViewRoot().getViewId()) ||
+                    currentViewId.equals("*")) && isValidationPermitted(beanValidation))
             {
                 if(isModelValidation(beanValidation))
                 {
@@ -647,11 +646,11 @@
         return ReflectionUtils.tryToInvokeMethod(base, targetMethod);
     }
 
-    private boolean isModelValidationAllowed(ModelValidation modelValidation)
+    private boolean isValidationPermitted(BeanValidation beanValidation)
     {
         ELHelper elHelper = ExtValUtils.getELHelper();
 
-        for(String condition : modelValidation.conditions())
+        for(String condition : beanValidation.conditions())
         {
             if(elHelper.isELTermWellFormed(condition) &&
                     elHelper.isELTermValid(FacesContext.getCurrentInstance(), condition))

Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/BeanValidation.java Fri Apr 10 11:46:00 2009
@@ -20,6 +20,8 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
 
 import javax.validation.groups.Default;
 import java.lang.annotation.Target;
@@ -45,6 +47,9 @@
 
     Class[] restrictGroups() default NoRestrictionGroup.class;
 
+    @ToDo(value = Priority.HIGH, description = "support property chain syntax")
+    String[] conditions() default "#{true}";
+
     ModelValidation modelValidation() default @ModelValidation;
     
     @Retention(RUNTIME) static @interface List

Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/annotation/ModelValidation.java Fri Apr 10 11:46:00 2009
@@ -20,8 +20,6 @@
 
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
 import org.apache.myfaces.extensions.validator.internal.UsageCategory;
-import org.apache.myfaces.extensions.validator.internal.ToDo;
-import org.apache.myfaces.extensions.validator.internal.Priority;
 
 import java.lang.annotation.Target;
 import java.lang.annotation.Retention;
@@ -46,8 +44,5 @@
 
     boolean displayInline() default false;
 
-    @ToDo(value = Priority.HIGH, description = "support property chain syntax")
-    String[] conditions() default "#{true}";
-
     String[] validationTargets() default DEFAULT_TARGET;
 }
\ No newline at end of file

Modified: myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java?rev=763914&r1=763913&r2=763914&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/beanval_integration/trunk/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/validation/ModelValidationPhaseListener.java Fri Apr 10 11:46:00 2009
@@ -68,8 +68,6 @@
             processModelValidation(modelValidationEntry, processedValidationTargets);
         }
 
-        FacesContext.getCurrentInstance().renderResponse();
-        
         if (logger.isTraceEnabled())
         {
             logger.trace("jsr303 validation finished");
@@ -98,6 +96,8 @@
 
             if (violations != null && violations.size() > 0)
             {
+                FacesContext.getCurrentInstance().renderResponse();
+
                 //jsf 2.0 is able to display multiple messages per component - so process all violations
                 //jsf < 2.0 will just use the first one (it's only a little overhead)
                 Iterator violationsIterator = violations.iterator();