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 2013/02/27 23:25:33 UTC

svn commit: r1451003 - in /myfaces/extensions/validator/branches/branch_for_jsf_2_0: core/src/main/java/org/apache/myfaces/extensions/validator/core/ validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/

Author: gpetracek
Date: Wed Feb 27 22:25:33 2013
New Revision: 1451003

URL: http://svn.apache.org/r1451003
Log:
EXTVAL-152 configuration for deactivating group validation triggered via action-methods

Modified:
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
    myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/ExtValApplicationWrapper.java

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java?rev=1451003&r1=1451002&r2=1451003&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/DefaultExtValCoreConfiguration.java Wed Feb 27 22:25:33 2013
@@ -504,4 +504,14 @@ public class DefaultExtValCoreConfigurat
     {
         return "true".equalsIgnoreCase(WebXmlParameter.ACTIVATE_MARKUP_META_DATA);
     }
+
+    /**
+     * {@inheritDoc}
+     * Value taken from the Web.xml initialization parameter DEACTIVATE_ACTION_BASED_GROUP_VALIDATION.
+     */
+    @Override
+    public boolean deactivateActionBasedGroupValidation()
+    {
+        return "true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_ACTION_BASED_GROUP_VALIDATION);
+    }
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java?rev=1451003&r1=1451002&r2=1451003&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/ExtValCoreConfiguration.java Wed Feb 27 22:25:33 2013
@@ -639,4 +639,18 @@ public abstract class ExtValCoreConfigur
      * @return true to overrule constraint meta-data with meta-data provided by the component, false otherwise
      */
     public abstract boolean activateMarkupMetaData();
+
+    /**
+     * @since r7
+     */
+
+    /**
+     * Per default ExtVal creates a custom {@link javax.faces.component.UIViewRoot} implementation to allow
+     * group-validation triggered via action-methods. It's possible to restore the default behaviour by
+     * deactivating this feature. Currently it's only used by the bean-validation module, however, the concept of groups
+     * is part of the core and therefore this (optional) configuration is part of the core as well.
+     *
+     * @return true to deactivate the whole feature, false otherwise
+     */
+    public abstract boolean deactivateActionBasedGroupValidation();
 }

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java?rev=1451003&r1=1451002&r2=1451003&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java Wed Feb 27 22:25:33 2013
@@ -158,6 +158,12 @@ interface WebXmlParameter
     //there is nothing like DEACTIVATE_DEFAULT_VALIDATION_INTERCEPTOR
     //use ExtValContext.getContext().denyRendererInterceptor(...) within an extval-StartupListener
 
+    /**
+     * @since r7
+     */
+    static final String DEACTIVATE_ACTION_BASED_GROUP_VALIDATION = WebXmlUtils
+        .getInitParameter("DEACTIVATE_ACTION_BASED_GROUP_VALIDATION");
+
     /*
      * spec parameters
      */

Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/ExtValApplicationWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/ExtValApplicationWrapper.java?rev=1451003&r1=1451002&r2=1451003&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/ExtValApplicationWrapper.java (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/java/org/apache/myfaces/extensions/validator/beanval/factory/ExtValApplicationWrapper.java Wed Feb 27 22:25:33 2013
@@ -18,6 +18,8 @@
  */
 package org.apache.myfaces.extensions.validator.beanval.factory;
 
+import org.apache.myfaces.extensions.validator.core.ExtValCoreConfiguration;
+
 import javax.el.ValueExpression;
 import javax.faces.FacesException;
 import javax.faces.application.ApplicationWrapper;
@@ -33,6 +35,9 @@ import javax.faces.el.ValueBinding;
  */
 class ExtValApplicationWrapper extends ApplicationWrapper
 {
+    private static final boolean DEACTIVATE_ACTION_BASED_GROUP_VALIDATION =
+            ExtValCoreConfiguration.get().deactivateActionBasedGroupValidation();
+
     private Application wrapped;
 
     public ExtValApplicationWrapper(Application wrapped)
@@ -101,6 +106,11 @@ class ExtValApplicationWrapper extends A
 
     private UIComponent customizedComponent(UIComponent result)
     {
+        if (DEACTIVATE_ACTION_BASED_GROUP_VALIDATION)
+        {
+            return result;
+        }
+
         //don't check with instanceof
         //if it isn't javax.faces.component.UIViewRoot itself, we need to proxy it
         //due to the overhead we should wait for users who request such a proxy