You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ar...@apache.org on 2009/08/28 00:07:14 UTC

svn commit: r808660 - /myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java

Author: arobinson74
Date: Thu Aug 27 22:07:14 2009
New Revision: 808660

URL: http://svn.apache.org/viewvc?rev=808660&view=rev
Log:
TRINIDAD-1557 - applied patch

Modified:
    myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java

Modified: myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java?rev=808660&r1=808659&r2=808660&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java (original)
+++ myfaces/trinidad/branches/1.2.12.1-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/model/XMLMenuModel.java Thu Aug 27 22:07:14 2009
@@ -41,6 +41,7 @@
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
 import org.apache.myfaces.trinidad.util.ClassLoaderUtils;
 import org.apache.myfaces.trinidad.util.ContainerUtils;
+import org.apache.myfaces.trinidad.util.TransientHolder;
 
 
 /**
@@ -601,12 +602,14 @@
    // a synchronized block.
    synchronized (lock)
    {
-      Map contentHandlerMap = (Map) scopeMap.get(_CACHED_MODELS_KEY);
+     TransientHolder<Map<Object, List<MenuContentHandler> >> holder =  
+       (TransientHolder<Map<Object, List<MenuContentHandler> >>) scopeMap.get(_CACHED_MODELS_KEY);
+      Map<Object, List<MenuContentHandler>> contentHandlerMap = (holder != null) ? holder.getValue() : null;
       if (contentHandlerMap == null)
       {
         contentHandlerMap =
-            new ConcurrentHashMap<String, List<MenuContentHandler>>();
-        scopeMap.put(_CACHED_MODELS_KEY, contentHandlerMap);
+            new ConcurrentHashMap<Object, List<MenuContentHandler>>();
+        scopeMap.put(_CACHED_MODELS_KEY, TransientHolder.newTransientHolder( contentHandlerMap) );
         scopeMap.put(_CACHED_MODELS_ID_CNTR_KEY,new AtomicInteger(-1));
       }
       return contentHandlerMap;