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);
+ }
}