You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2010/05/05 00:13:36 UTC
svn commit: r941072 - in /myfaces/core/trunk/impl/src/main:
conf/META-INF/standard-faces-config-base.xml
java/org/apache/myfaces/config/FacesConfigurator.java
java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
Author: lu4242
Date: Tue May 4 22:13:36 2010
New Revision: 941072
URL: http://svn.apache.org/viewvc?rev=941072&view=rev
Log:
MYFACES-2697 BeanValidation class is annotated with @FacesValidator tag
Modified:
myfaces/core/trunk/impl/src/main/conf/META-INF/standard-faces-config-base.xml
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
Modified: myfaces/core/trunk/impl/src/main/conf/META-INF/standard-faces-config-base.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/conf/META-INF/standard-faces-config-base.xml?rev=941072&r1=941071&r2=941072&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/conf/META-INF/standard-faces-config-base.xml (original)
+++ myfaces/core/trunk/impl/src/main/conf/META-INF/standard-faces-config-base.xml Tue May 4 22:13:36 2010
@@ -32,9 +32,11 @@
<state-manager>org.apache.myfaces.application.jsp.JspStateManagerImpl</state-manager>
<navigation-handler>org.apache.myfaces.application.NavigationHandlerImpl</navigation-handler>
<resource-handler>org.apache.myfaces.application.ResourceHandlerImpl</resource-handler>
+ <!--
<default-validators>
<validator-id>javax.faces.Bean</validator-id>
</default-validators>
+ -->
</application>
<factory>
<application-factory>org.apache.myfaces.application.ApplicationFactoryImpl</application-factory>
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java?rev=941072&r1=941071&r2=941072&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java Tue May 4 22:13:36 2010
@@ -981,7 +981,7 @@ public class FacesConfigurator
if(webAppConfig != null) //add null check for apps which don't have a faces-config.xml (e.g. tomahawk examples for 1.1/1.2)
{
getDispenser().feed(webAppConfig);
-
+ /*
// check if there is an empty <default-validators> entry.
// note that this applys only for the faces-config with the
// highest precendence (not for standard-faces-config files).
@@ -993,6 +993,7 @@ public class FacesConfigurator
break;
}
}
+ */
}
}
@@ -2000,7 +2001,23 @@ public class FacesConfigurator
application.addValidator(validatorId, dispenser.getValidatorClass(validatorId));
}
+ if (ExternalSpecifications.isBeanValidationAvailable())
+ {
+ String disabled = _externalContext.getInitParameter(BeanValidator.DISABLE_DEFAULT_BEAN_VALIDATOR_PARAM_NAME);
+ boolean defaultBeanValidatorDisabled = (disabled != null && disabled.toLowerCase().equals("true"));
+ if (!defaultBeanValidatorDisabled)
+ {
+ application.addDefaultValidatorId(BeanValidator.VALIDATOR_ID);
+ }
+ }
+
+ for (String validatorId : dispenser.getDefaultValidatorIds())
+ {
+ application.addDefaultValidatorId(validatorId);
+ }
+
// only add default validators if there is no empty <default-validators> in faces-config.xml
+ /*
if (!dispenser.isEmptyDefaultValidators())
{
boolean beanValidatorAdded = false;
@@ -2031,7 +2048,7 @@ public class FacesConfigurator
application.addDefaultValidatorId(BeanValidator.VALIDATOR_ID);
}
}
- }
+ }*/
for (Behavior behavior : dispenser.getBehaviors()) {
application.addBehavior(behavior.getBehaviorId(), behavior.getBehaviorClass());
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java?rev=941072&r1=941071&r2=941072&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigDispenserImpl.java Tue May 4 22:13:36 2010
@@ -155,7 +155,30 @@ public class DigesterFacesConfigDispense
variableResolver.addAll(application.getVariableResolver());
resourceBundles.addAll(application.getResourceBundle());
elResolvers.addAll(application.getElResolver());
- defaultValidatorIds.addAll (application.getDefaultValidatorIds());
+
+ // check if there is an empty <default-validators> entry.
+ // note that this applys only for the faces-config with the
+ // highest precendence (not for standard-faces-config files).
+ // -= Leonardo Uribe =- According to jsf 2.0 spec section 3.5.3
+ // This apply to all configuration resources. The text says this:
+ // ".... Any configuration resource that declares a list of default validators overrides any list provided in a previously processed
+ // configuration resource. If an empty <default-validators/> element is found in a configuration resource, the list
+ // of default validators must be cleared....."
+ if (application.isDefaultValidatorsPresent() && application.getDefaultValidatorIds().isEmpty() )
+ {
+ defaultValidatorIds.clear();
+ }
+ else if (!application.getDefaultValidatorIds().isEmpty())
+ {
+ // "... Any configuration resource that declares a list of default validators overrides any list provided ..."
+ defaultValidatorIds.clear();
+ defaultValidatorIds.addAll (application.getDefaultValidatorIds());
+ }
+ else
+ {
+ //No need to add anything
+ }
+
systemEventListeners.addAll(application.getSystemEventListeners());
}