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/09/24 02:42:09 UTC
svn commit: r1000676 - in
/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces:
application/ApplicationImpl.java config/FacesConfigurator.java
config/RuntimeConfig.java
Author: lu4242
Date: Fri Sep 24 00:42:08 2010
New Revision: 1000676
URL: http://svn.apache.org/viewvc?rev=1000676&view=rev
Log:
MYFACES-2928 FacesConfigurator cast for ApplicationImpl directly to load converter configuration, instead use RuntimeConfig object
Modified:
myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java?rev=1000676&r1=1000675&r2=1000676&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/application/ApplicationImpl.java Fri Sep 24 00:42:08 2010
@@ -113,7 +113,6 @@ public class ApplicationImpl extends App
// synchronize, uses ConcurrentHashMap to allow concurrent read of map
private final Map<String, Class> _converterIdToClassMap = new ConcurrentHashMap<String, Class>();
private final Map<Class, String> _converterClassNameToClassMap = new ConcurrentHashMap<Class, String>();
- private final Map<String, org.apache.myfaces.config.impl.digester.elements.Converter> _converterClassNameToConfigurationMap = new ConcurrentHashMap<String, org.apache.myfaces.config.impl.digester.elements.Converter>();
private final Map<String, Class> _componentClassMap = new ConcurrentHashMap<String, Class>();
private final Map<String, Class> _validatorClassMap = new ConcurrentHashMap<String, Class>();
@@ -621,16 +620,6 @@ public class ApplicationImpl extends App
}
}
- public final void addConverterConfiguration(final String converterClassName,
- final org.apache.myfaces.config.impl.digester.elements.Converter configuration)
- {
- checkNull(converterClassName, "converterClassName");
- checkEmpty(converterClassName, "converterClassName");
- checkNull(configuration, "configuration");
-
- _converterClassNameToConfigurationMap.put(converterClassName, configuration);
- }
-
@Override
public final void addValidator(final String validatorId, final String validatorClass)
{
@@ -882,8 +871,8 @@ public class ApplicationImpl extends App
private void setConverterProperties(final Class converterClass, final Converter converter)
{
- final org.apache.myfaces.config.impl.digester.elements.Converter converterConfig = _converterClassNameToConfigurationMap
- .get(converterClass.getName());
+ final org.apache.myfaces.config.impl.digester.elements.Converter converterConfig = _runtimeConfig
+ .getConverterConfiguration(converterClass.getName());
if (converterConfig != null)
{
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java?rev=1000676&r1=1000675&r2=1000676&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/FacesConfigurator.java Fri Sep 24 00:42:08 2010
@@ -821,17 +821,6 @@ public class FacesConfigurator
}
}
- if (application instanceof ApplicationImpl)
- {
- for (Iterator it = dispenser.getConverterConfigurationByClassName(); it.hasNext();)
- {
- String converterClassName = (String) it.next();
-
- ((ApplicationImpl) application).addConverterConfiguration(converterClassName, dispenser
- .getConverterConfiguration(converterClassName));
- }
- }
-
for (Iterator it = dispenser.getValidatorIds(); it.hasNext();)
{
String validatorId = (String) it.next();
@@ -946,6 +935,14 @@ public class FacesConfigurator
}
+ for (Iterator<String> it = _dispenser.getConverterConfigurationByClassName(); it.hasNext();)
+ {
+ String converterClassName = (String) it.next();
+
+ runtimeConfig.addConverterConfiguration(converterClassName,
+ _dispenser.getConverterConfiguration(converterClassName));
+ }
+
for (Iterator<ResourceBundle> iter = dispenser.getResourceBundles(); iter.hasNext();)
{
runtimeConfig.addResourceBundle(iter.next());
Modified: myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java?rev=1000676&r1=1000675&r2=1000676&view=diff
==============================================================================
--- myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java (original)
+++ myfaces/core/branches/1.2.x/impl/src/main/java/org/apache/myfaces/config/RuntimeConfig.java Fri Sep 24 00:42:08 2010
@@ -18,9 +18,14 @@
*/
package org.apache.myfaces.config;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
-import javax.el.CompositeELResolver;
import javax.el.ELResolver;
import javax.el.ExpressionFactory;
import javax.faces.context.ExternalContext;
@@ -66,6 +71,9 @@ public class RuntimeConfig
private VariableResolver _variableResolverChainHead;
+ private final Map<String, org.apache.myfaces.config.impl.digester.elements.Converter> _converterClassNameToConfigurationMap =
+ new ConcurrentHashMap<String, org.apache.myfaces.config.impl.digester.elements.Converter>();
+
public static RuntimeConfig getCurrentInstance(ExternalContext externalContext)
{
RuntimeConfig runtimeConfig = (RuntimeConfig) externalContext.getApplicationMap().get(
@@ -85,6 +93,7 @@ public class RuntimeConfig
_oldManagedBeans.putAll(_managedBeans);
_managedBeans.clear();
_navigationRulesChanged = false;
+ _converterClassNameToConfigurationMap.clear();
}
/**
@@ -136,6 +145,38 @@ public class RuntimeConfig
_oldManagedBeans.remove(name);
}
+
+ public final void addConverterConfiguration(final String converterClassName,
+ final org.apache.myfaces.config.impl.digester.elements.Converter configuration)
+ {
+ checkNull(converterClassName, "converterClassName");
+ checkEmpty(converterClassName, "converterClassName");
+ checkNull(configuration, "configuration");
+
+ _converterClassNameToConfigurationMap.put(converterClassName, configuration);
+ }
+
+ public org.apache.myfaces.config.impl.digester.elements.Converter getConverterConfiguration(String converterClassName)
+ {
+ return (org.apache.myfaces.config.impl.digester.elements.Converter)_converterClassNameToConfigurationMap.get(converterClassName);
+ }
+
+ private void checkNull(final Object param, final String paramName)
+ {
+ if (param == null)
+ {
+ throw new NullPointerException(paramName + " can not be null.");
+ }
+ }
+
+ private void checkEmpty(final String param, final String paramName)
+ {
+ if (param.length() == 0)
+ {
+ throw new NullPointerException("String " + paramName + " can not be empty.");
+ }
+ }
+
/**
* Return the resourcebundle which was configured in faces config by var name
*