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