You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/08/19 14:39:46 UTC
svn commit: r233471 -
/myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java
Author: mmarinschek
Date: Fri Aug 19 05:39:41 2005
New Revision: 233471
URL: http://svn.apache.org/viewcvs?rev=233471&view=rev
Log:
fix for MYFACES-419. Thanks to Rahul Pilani for this patch.
Modified:
myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java
Modified: myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java
URL: http://svn.apache.org/viewcvs/myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java?rev=233471&r1=233470&r2=233471&view=diff
==============================================================================
--- myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java (original)
+++ myfaces/impl/trunk/src/java/org/apache/myfaces/application/NavigationHandlerImpl.java Fri Aug 19 05:39:41 2005
@@ -196,15 +196,15 @@
private Map getNavigationCases(FacesContext facesContext)
{
- if (_navigationCases == null)
+ ExternalContext externalContext = facesContext.getExternalContext();
+ RuntimeConfig runtimeConfig = RuntimeConfig.getCurrentInstance(externalContext);
+
+ if (_navigationCases == null || runtimeConfig.isNavigationRulesChanged())
{
synchronized(this)
{
- if (_navigationCases == null)
+ if (_navigationCases == null || runtimeConfig.isNavigationRulesChanged())
{
- ExternalContext externalContext = facesContext.getExternalContext();
- RuntimeConfig runtimeConfig = RuntimeConfig.getCurrentInstance(externalContext);
-
Collection rules = runtimeConfig.getNavigationRules();
int rulesSize = rules.size();
Map cases = new HashMap(HashMapUtils.calcCapacity(rulesSize));
@@ -249,6 +249,8 @@
// earlier time, before all init code completes
_navigationCases = cases;
_wildcardKeys = wildcardKeys;
+
+ runtimeConfig.setNavigationRulesChanged(false);
}
}
}