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/12/25 15:37:23 UTC

svn commit: r893863 - in /myfaces/extensions/validator/trunk: component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ core/src/main/java/org/apache/myfaces/extensions/validator/core/ core...

Author: gpetracek
Date: Fri Dec 25 14:37:22 2009
New Revision: 893863

URL: http://svn.apache.org/viewvc?rev=893863&view=rev
Log:
EXTVAL-79 initial implementation

Modified:
    myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/AbstractHtmlCoreComponentsComponentInitializer.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
    myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java

Modified: myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java?rev=893863&r1=893862&r2=893863&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java (original)
+++ myfaces/extensions/validator/trunk/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java Fri Dec 25 14:37:22 2009
@@ -19,6 +19,7 @@
 package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
 
 import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
 import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -42,7 +43,7 @@
     public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
                                               Map<String, Object> metaData)
     {
-        if(!validateEmptyFields())
+        if(!validateEmptyFields() && isRequiredInitializationActive())
         {
             return false;
         }
@@ -86,6 +87,11 @@
         return false;
     }
 
+    private boolean isRequiredInitializationActive()
+    {
+        return Boolean.TRUE.equals(ExtValContext.getContext().getGlobalProperty("init:required"));
+    }
+
     protected boolean validateEmptyFields()
     {
         return ExtValUtils.validateEmptyFields();

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java?rev=893863&r1=893862&r2=893863&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/WebXmlParameter.java Fri Dec 25 14:37:22 2009
@@ -132,6 +132,9 @@
     static final String DEACTIVATE_VALIDATION_PARAMETERS = WebXmlUtils
         .getInitParameter("DEACTIVATE_VALIDATION_PARAMETERS");
 
+    static final String DEACTIVATE_REQUIRED_INITIALIZATION = WebXmlUtils
+        .getInitParameter("DEACTIVATE_REQUIRED_INITIALIZATION");
+
     //there is nothing like DEACTIVATE_DEFAULT_VALIDATION_INTERCEPTOR
     //use ExtValContext.getContext().denyRendererInterceptor(...) within an extval-StartupListener
 

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/AbstractHtmlCoreComponentsComponentInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/AbstractHtmlCoreComponentsComponentInitializer.java?rev=893863&r1=893862&r2=893863&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/AbstractHtmlCoreComponentsComponentInitializer.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/component/AbstractHtmlCoreComponentsComponentInitializer.java Fri Dec 25 14:37:22 2009
@@ -25,6 +25,7 @@
 import org.apache.myfaces.extensions.validator.util.ExtValUtils;
 import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
 import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.ExtValContext;
 
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIComponent;
@@ -51,7 +52,7 @@
     {
         if(processComponent(uiComponent))
         {
-            if(validateEmptyFields())
+            if(validateEmptyFields() && isRequiredInitializationActive())
             {
                 configureRequiredAttribute(facesContext, uiComponent, metaData);
             }
@@ -65,6 +66,11 @@
         return ExtValUtils.validateEmptyFields();
     }
 
+    private boolean isRequiredInitializationActive()
+    {
+        return Boolean.TRUE.equals(ExtValContext.getContext().getGlobalProperty("init:required"));
+    }
+
     protected abstract void configureRequiredAttribute(FacesContext facesContext,
                                               UIComponent uiComponent,
                                               Map<String, Object> metaData);

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java?rev=893863&r1=893862&r2=893863&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/interceptor/ValidationInterceptor.java Fri Dec 25 14:37:22 2009
@@ -54,12 +54,17 @@
          * the required flag in a component leads to problems with h:messages (additional message) as well as
          * incompatibilities with skip validation and severities
          */
-        if(uiComponent instanceof EditableValueHolder)
+        if(uiComponent instanceof EditableValueHolder && isRequiredInitializationActive())
         {
             ((EditableValueHolder)uiComponent).setRequired(false);
         }
     }
 
+    private boolean isRequiredInitializationActive()
+    {
+        return Boolean.TRUE.equals(ExtValContext.getContext().getGlobalProperty("init:required"));
+    }
+
     protected void initComponent(FacesContext facesContext, UIComponent uiComponent)
     {
         if(logger.isTraceEnabled())

Modified: myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java?rev=893863&r1=893862&r2=893863&view=diff
==============================================================================
--- myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java (original)
+++ myfaces/extensions/validator/trunk/core/src/main/java/org/apache/myfaces/extensions/validator/core/startup/ExtValStartupListener.java Fri Dec 25 14:37:22 2009
@@ -105,6 +105,7 @@
         initProjectStageResolver();
         initViolationSeverityKey();
         initDisableClientSideValidationKey();
+        initRequiredInitialization();
         executeCustomStartupListener();
     }
 
@@ -226,4 +227,11 @@
         ExtValContext.getContext().addGlobalProperty(
                 DisableClientSideValidation.class.getName(), DisableClientSideValidation.class, false);
     }
+
+    private void initRequiredInitialization()
+    {
+        boolean requiredInitialization = !"true".equalsIgnoreCase(WebXmlParameter.DEACTIVATE_REQUIRED_INITIALIZATION);
+
+        ExtValContext.getContext().addGlobalProperty("init:required", requiredInitialization);
+    }
 }