[jboss-cvs] JBossBlog SVN: r334 - labs/src/action/org/jboss/blog/session/cache.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 24 04:24:09 EDT 2008


Author: adamw
Date: 2008-10-24 04:24:09 -0400 (Fri, 24 Oct 2008)
New Revision: 334

Modified:
   labs/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java
Log:
JBBLOG-75 fix

Modified: labs/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java
===================================================================
--- labs/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java	2008-10-24 08:21:11 UTC (rev 333)
+++ labs/src/action/org/jboss/blog/session/cache/CacheManagerHashMapImpl.java	2008-10-24 08:24:09 UTC (rev 334)
@@ -17,6 +17,7 @@
 import java.lang.ref.SoftReference;
 import java.util.List;
 import java.util.Map;
+import java.util.ArrayList;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -82,12 +83,17 @@
         return feedName + "/" + from + "/" + to;
     }
 
+    private <T> List<T> copyList(List<T> original) {
+        return new ArrayList<T>(original);
+    }
+
     public void putFeedPosts(RestrictedFeed feed, List<? extends RestrictedPost> posts, int from, int to) {
         readPosts(posts);
 
         log.debug("Putting feed '#0' posts into the cache, from #1 to #2.", feed.getName(), from, to);
         
-        cache.put(getFeedPostsFqn(feed.getName(), from, to), new SoftReference<List<? extends RestrictedPost>>(posts));
+        cache.put(getFeedPostsFqn(feed.getName(), from, to), new SoftReference<List<? extends RestrictedPost>>(
+                copyList(posts)));
     }
 
     public List<? extends RestrictedPost> getFeedPosts(String feedName, int from, int to) {
@@ -97,7 +103,7 @@
                         getFeedPostsFqn(feedName, from, to))));
         log.debug("Getting feed '#0' posts from the cache, from #1 to #2, result: #3.",
                 feedName, from, to, inCache);
-        return inCache;
+        return inCache == null ? null : copyList(inCache);
     }
 
     //




More information about the jboss-cvs-commits mailing list