You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ja...@apache.org on 2010/01/28 23:36:41 UTC
svn commit: r904284 - in
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config:
FacesConfigurator.java impl/digester/DigesterFacesConfigUnmarshallerImpl.java
impl/digester/elements/Application.java
Author: jakobk
Date: Thu Jan 28 22:36:40 2010
New Revision: 904284
URL: http://svn.apache.org/viewvc?rev=904284&view=rev
Log:
MYFACES-2514 An empty <default-validators> in faces-config should disable default validators
Modified:
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/DigesterFacesConfigUnmarshallerImpl.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java
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=904284&r1=904283&r2=904284&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 Thu Jan 28 22:36:40 2010
@@ -915,6 +915,20 @@
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
+ // if so, clear all currently installed default validators.
+ // note that this applys only for the faces-config with the
+ // highest precendence (not for standard-faces-config files).
+ for (org.apache.myfaces.config.impl.digester.elements.Application app : webAppConfig.getApplications())
+ {
+ if (app.isDefaultValidatorsPresent() && app.getDefaultValidatorIds().isEmpty())
+ {
+ // clear all default validator from standard-config-files
+ getDispenser().getDefaultValidatorIds().clear();
+ break;
+ }
+ }
}
}
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java?rev=904284&r1=904283&r2=904284&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/DigesterFacesConfigUnmarshallerImpl.java Thu Jan 28 22:36:40 2010
@@ -81,6 +81,7 @@
digester.addSetNext("faces-config/application", "addApplication");
digester.addCallMethod("faces-config/application/action-listener", "addActionListener", 0);
digester.addCallMethod("faces-config/application/default-render-kit-id", "addDefaultRenderkitId", 0);
+ digester.addCallMethod("faces-config/application/default-validators", "setDefaultValidatorsPresent");
digester.addCallMethod("faces-config/application/default-validators/validator-id", "addDefaultValidatorId", 0);
digester.addCallMethod("faces-config/application/message-bundle", "addMessageBundle", 0);
digester.addCallMethod("faces-config/application/navigation-handler", "addNavigationHandler", 0);
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java?rev=904284&r1=904283&r2=904284&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/impl/digester/elements/Application.java Thu Jan 28 22:36:40 2010
@@ -42,6 +42,7 @@
private final List<String> elResolver = new ArrayList<String>();
private final List<ResourceBundle> resourceBundle = new ArrayList<ResourceBundle>();
private final List<SystemEventListener> systemEventListeners = new ArrayList<SystemEventListener>();
+ private boolean defaultValidatorsPresent = false;
public void addActionListener(String listener)
{
@@ -192,4 +193,15 @@
{
return resourceBundle;
}
+
+ public boolean isDefaultValidatorsPresent()
+ {
+ return defaultValidatorsPresent;
+ }
+
+ public void setDefaultValidatorsPresent()
+ {
+ defaultValidatorsPresent = true;
+ }
+
}