You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2005/11/07 05:34:59 UTC
svn commit: r331199 - in /portals/jetspeed-2/trunk/components:
file-cache/src/java/org/apache/jetspeed/cache/file/
file-cache/src/test/org/apache/jetspeed/cache/file/
page-manager/src/java/org/apache/jetspeed/page/psml/
Author: rwatler
Date: Sun Nov 6 20:34:55 2005
New Revision: 331199
URL: http://svn.apache.org/viewcvs?rev=331199&view=rev
Log:
Add FileCache.evictAll() to support CastorXmlPageManager.reset()
Modified:
portals/jetspeed-2/trunk/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java
portals/jetspeed-2/trunk/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java
portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java
Modified: portals/jetspeed-2/trunk/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java?rev=331199&r1=331198&r2=331199&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java (original)
+++ portals/jetspeed-2/trunk/components/file-cache/src/java/org/apache/jetspeed/cache/file/FileCache.java Sun Nov 6 20:34:55 2005
@@ -307,6 +307,49 @@
}
/**
+ * Evicts all entries
+ *
+ */
+ public void evictAll()
+ {
+ synchronized (cache)
+ {
+ // evict all cache entries
+ List list = new LinkedList(cache.values());
+ for (Iterator it = list.iterator(); it.hasNext(); )
+ {
+ // evict cache entry
+ FileCacheEntry entry = (FileCacheEntry) it.next();
+ // notify that eviction will soon take place
+ for (Iterator lit = this.listeners.iterator(); lit.hasNext(); )
+ {
+ FileCacheEventListener listener =
+ (FileCacheEventListener) lit.next();
+ try
+ {
+ listener.evict(entry);
+ }
+ catch (Exception e1)
+ {
+ log.warn("Unable to evict cache entry. "+e1.toString(), e1);
+ }
+ }
+ // remove from cache by key
+ String key = null;
+ try
+ {
+ key = entry.getFile().getCanonicalPath();
+ }
+ catch (java.io.IOException e)
+ {
+ log.error("Exception getting file path: ", e);
+ }
+ cache.remove(key);
+ }
+ }
+ }
+
+ /**
* Comparator function for sorting by last accessed during eviction
*
*/
Modified: portals/jetspeed-2/trunk/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java?rev=331199&r1=331198&r2=331199&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java (original)
+++ portals/jetspeed-2/trunk/components/file-cache/src/test/org/apache/jetspeed/cache/file/TestFileCache.java Sun Nov 6 20:34:55 2005
@@ -113,6 +113,7 @@
dumpCache(cache.getIterator());
cache.addListener(this);
+
// start the cache's scanner
cache.startFileScanner();
@@ -143,13 +144,16 @@
files[18].setLastModified(new Date().getTime());
-
Thread.sleep(9000);
assertNotNull(refreshedEntry);
System.out.println("refreshed entry = " + refreshedEntry);
cache.stopFileScanner();
+
+ // evict all from cache
+ cache.evictAll();
+ assertTrue(cache.getSize() == 0);
removeTestFiles();
}
Modified: portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java?rev=331199&r1=331198&r2=331199&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java (original)
+++ portals/jetspeed-2/trunk/components/page-manager/src/java/org/apache/jetspeed/page/psml/CastorXmlPageManager.java Sun Nov 6 20:34:55 2005
@@ -507,8 +507,12 @@
*/
public void reset()
{
- // propagate
+ // propagate to super
super.reset();
+
+ // evict all from file cache to force subsequent
+ // refreshs from persistent store
+ fileCache.evictAll();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org