Author: bpapez
Date: Wed Jun 6 17:46:32 2007
New Revision: 17475
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17475&repname=
=3Djahia
Log:
Cache isEmpty instead of size =3D=3D 0
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
he.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
heImplementation.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/ClusterServiceCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/batch/BatchingClusterServiceCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/jms=
/JMSCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/osc=
ache/OSCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/ref=
erence/ReferenceCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/sim=
ple/SimpleCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/tre=
ecache/TreeCacheImpl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/st=
ores/JahiaBindingStore.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/Cache.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/Cache.java&rev=3D17475&repna=
me=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
he.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
he.java Wed Jun 6 17:46:32 2007
@@ -281,6 +281,14 @@
=
}
=
+ /** <p>Return true if there are no entries in the cache.</p>
+ *
+ * @return true when the cache is empty
+ */
+ final public boolean isEmpty () {
+ return cacheImplementation.isEmpty ();
+ } =
+ =
=
/** <p>Return the current number of entries in the cache.</p>
*
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/CacheImplementation.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/CacheImplementation.java&rev=
=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
heImplementation.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Cac=
heImplementation.java Wed Jun 6 17:46:32 2007
@@ -36,6 +36,8 @@
*/
void put(Object key, String[] groups, Object value);
=
+ boolean isEmpty(); =
+ =
int size();
=
void flushAll(boolean propagate);
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/clusterservice/ClusterServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/clusterservice/ClusterServic=
eCacheImpl.java&rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/ClusterServiceCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/ClusterServiceCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -138,6 +138,10 @@
public void setName(String name) {
underlyingCacheImplementation.setName(name);
}
+ =
+ public boolean isEmpty() {
+ return underlyingCacheImplementation.isEmpty();
+ } =
=
public int size() {
return underlyingCacheImplementation.size();
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/clusterservice/batch/BatchingClusterServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/clusterservice/batch/Batchin=
gClusterServiceCacheImpl.java&rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/batch/BatchingClusterServiceCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/clu=
sterservice/batch/BatchingClusterServiceCacheImpl.java Wed Jun 6 17:46:32 =
2007
@@ -137,6 +137,10 @@
public void setName(String name) {
underlyingCacheImplementation.setName(name);
}
+ =
+ public boolean isEmpty() {
+ return underlyingCacheImplementation.isEmpty();
+ } =
=
public int size() {
return underlyingCacheImplementation.size();
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/jms/JMSCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java&rev=3D=
17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/jms=
/JMSCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/jms=
/JMSCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -222,6 +222,9 @@
=
}
=
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
=
/** <p>Return the current number of entries in the cache.</p>
*
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/oscache/OSCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java&rev=
=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/osc=
ache/OSCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/osc=
ache/OSCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -84,6 +84,10 @@
cache.flushEntry( key.toString() );
}
=
+ public boolean isEmpty() {
+ throw new UnsupportedOperationException("isEmpty()");
+ } =
+ =
public int size() {
return -1; // not supported
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/reference/ReferenceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/reference/ReferenceCacheImpl=
.java&rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/ref=
erence/ReferenceCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/ref=
erence/ReferenceCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -122,6 +122,10 @@
}
=
}
+ =
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
=
public int size() {
return cache.size();
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/simple/SimpleCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java&=
rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/sim=
ple/SimpleCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/sim=
ple/SimpleCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -108,6 +108,10 @@
allLRUsEntries.put(lru);
}
=
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
+ =
public int size() {
return cache.size();
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/treecache/TreeCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.java=
&rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/tre=
ecache/TreeCacheImpl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/tre=
ecache/TreeCacheImpl.java Wed Jun 6 17:46:32 2007
@@ -19,9 +19,11 @@
=
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Set;
=
import org.apache.log4j.Logger;
+import org.jahia.services.cache.CacheEntry;
import org.jahia.services.cache.CacheImplementation;
import org.jahia.services.cache.CacheListener;
import org.jboss.cache.CacheException;
@@ -148,11 +150,12 @@
=
public Object get(Object entryKey) {
Object result =3D null;
- try {
- result =3D getTreeCache().get(new Fqn(getFqn(), entryKey), "en=
try");
- } catch (CacheException e) {
- logger.warn(getName() + entryKey, e);
+
+ CacheEntry entry =3D getCacheEntry(entryKey);
+ if (entry !=3D null) {
+ result =3D entry.getObject();
}
+
return result;
}
=
@@ -183,19 +186,16 @@
}
=
public void put(Object entryKey, Object entryObj) {
- try {
- getTreeCache().put(new Fqn(getFqn(), entryKey), entryObj, "ent=
ry");
- } catch (Exception e) {
- logger.warn(getName() + entryKey, e);
- }
- }
+ CacheEntry entry =3D new CacheEntry(entryObj);
+ putCacheEntry(entryKey, entry, true);
+ } =
=
public void put(Object entryKey, String groups[], Object entryObj) {
try {
- TreeCache treeCache =3D getTreeCache();
- Fqn entryFqn =3D new Fqn(getFqn(), entryKey);
- treeCache.put(entryFqn, "entry", entryObj);
+ put(entryKey, entryObj);
+ =
if (groups !=3D null){
+ Fqn entryFqn =3D new Fqn(getFqn(), entryKey);
for (int i =3D 0; i < groups.length; i++){
getNonTxTreeCache().put(new Fqn(groupsFqn, groups[i]),=
entryFqn, null); =
} =
@@ -243,16 +243,66 @@
=
public void remove(Object entryKey) {
try {
- Fqn localFqn =3D new Fqn(getFqn(), entryKey);
+ Fqn localFqn =3D null;
+ if (entryKey instanceof List) {
+ List entryList =3D (List) entryKey;
+ localFqn =3D new Fqn(getFqn(), entryList);
+ } else {
+ localFqn =3D new Fqn(getFqn(), entryKey);
+ }
+
TreeCache localTreeCache =3D getTreeCache();
- if (localTreeCache.exists(localFqn)) {
- localTreeCache.remove(localFqn);
- } =
+ // if (localTreeCache.exists(localFqn)) {
+ localTreeCache.remove(localFqn);
+ // }
} catch (CacheException e) {
logger.warn(getName() + entryKey, e);
}
}
=
+ /**
+ * <p>
+ * Return true if cache is empty.
+ * </p>
+ * =
+ * @return true if cache is empty
+ */
+ final public boolean isEmpty() {
+ return !getTreeCache().hasChild(getFqn());
+ } =
+ =
+ public CacheEntry getCacheEntry(Object entryKey) {
+ CacheEntry entry =3D null;
+ try {
+ if (entryKey instanceof List) {
+ List entryList =3D (List) entryKey;
+ entry =3D (CacheEntry) getTreeCache().get(
+ new Fqn(getFqn(), entryList), "entry");
+ } else {
+ entry =3D (CacheEntry) getTreeCache().get(
+ new Fqn(getFqn(), entryKey), "entry");
+ }
+ } catch (CacheException e) {
+ logger.warn(getName() + entryKey, e);
+ }
+ return entry;
+ } =
+ =
+ public void putCacheEntry(Object entryKey, CacheEntry entry,
+ boolean propagate) {
+ try {
+ if (entryKey instanceof List) {
+ List entryList =3D (List) entryKey;
+ getTreeCache()
+ .put(new Fqn(getFqn(), entryList), "entry", entry);
+ } else {
+ getTreeCache().put(new Fqn(getFqn(), entryKey), "entry", e=
ntry);
+ }
+ } catch (Exception e) {
+ logger.warn(getName() + entryKey, e);
+ }
+ } =
+ =
public int size() {
int size =3D 0;
try {
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/web=
dav/stores/JahiaBindingStore.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/webdav/stores/JahiaBindingStore.ja=
va&rev=3D17475&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/st=
ores/JahiaBindingStore.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/st=
ores/JahiaBindingStore.java Wed Jun 6 17:46:32 2007
@@ -188,7 +188,7 @@
}
=
public boolean isEmpty() {
- return false;
+ return jahiaCache.isEmpty();
}
=
public Object get(Object key) {
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list