Author: bpapez
Date: Fri Jun 15 14:34:08 2007
New Revision: 17581
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17581&repname=
=3Djahia
Log:
Cache isEmpty instead of size =3D=3D 0
Modified:
trunk/core/src/java/org/jahia/services/cache/Cache.java
trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java
trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java
trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va
trunk/core/src/java/org/jahia/services/webdav/stores/JahiaBindingStore.=
java
Modified: trunk/core/src/java/org/jahia/services/cache/Cache.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/Cache.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/Cache.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/Cache.java Fri Jun 15 14:3=
4:08 2007
@@ -281,11 +281,24 @@
=
}
=
+ /**
+ * <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>
- *
- * @return the current cache size
- */
+ /**
+ * <p>
+ * Return the current number of entries in the cache.
+ * </p>
+ * =
+ * @return the current cache size
+ */
final public int size () {
return cacheImplementation.size ();
}
Modified: trunk/core/src/java/org/jahia/services/cache/CacheImplementation.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/CacheImplementation.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java (=
original)
+++ trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java F=
ri Jun 15 14:34:08 2007
@@ -36,6 +36,8 @@
*/
void put(Object key, String[] groups, Object value);
=
+ boolean isEmpty(); =
+ =
int size();
=
void flushAll(boolean propagate);
Modified: trunk/core/src/java/org/jahia/services/cache/clusterservice/Clust=
erServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/clusterservice/ClusterServiceCacheImpl.java&rev=3D1=
7581&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
--- trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java Fri Jun 15 14:34:08 2007
@@ -139,6 +139,10 @@
underlyingCacheImplementation.setName(name);
}
=
+ public boolean isEmpty() {
+ return underlyingCacheImplementation.isEmpty();
+ } =
+
public int size() {
return underlyingCacheImplementation.size();
}
Modified: trunk/core/src/java/org/jahia/services/cache/clusterservice/batch=
/BatchingClusterServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/clusterservice/batch/BatchingClusterServiceCacheImp=
l.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java Fri Jun 15 14:34:08 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: trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/jms/JMSCacheImpl.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java (ori=
ginal)
+++ trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java Fri =
Jun 15 14:34:08 2007
@@ -222,6 +222,9 @@
=
}
=
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
=
/** <p>Return the current number of entries in the cache.</p>
*
Modified: trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/oscache/OSCacheImpl.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java (=
original)
+++ trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java F=
ri Jun 15 14:34:08 2007
@@ -84,6 +84,10 @@
cache.flushEntry( key.toString() );
}
=
+ public boolean isEmpty() {
+ throw new UnsupportedOperationException("isEmpty()");
+ } =
+ =
public int size() {
return -1; // not supported
}
Modified: trunk/core/src/java/org/jahia/services/cache/reference/ReferenceC=
acheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/reference/ReferenceCacheImpl.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java Fri Jun 15 14:34:08 2007
@@ -122,6 +122,10 @@
}
=
}
+ =
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
=
public int size() {
return cache.size();
Modified: trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheIm=
pl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/simple/SimpleCacheImpl.java&rev=3D17581&repname=3Dj=
ahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.jav=
a (original)
+++ trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.jav=
a Fri Jun 15 14:34:08 2007
@@ -108,6 +108,10 @@
allLRUsEntries.put(lru);
}
=
+ public boolean isEmpty() {
+ return cache.isEmpty();
+ } =
+ =
public int size() {
return cache.size();
}
Modified: trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheI=
mpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/treecache/TreeCacheImpl.java&rev=3D17581&repname=3D=
jahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va (original)
+++ trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va Fri Jun 15 14:34:08 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,29 +243,70 @@
=
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);
}
}
=
- public int size() {
- int size =3D 0;
+ /**
+ * <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 {
- Set treeKeys =3D getTreeCache().getChildrenNames(getFqn());
- if (treeKeys !=3D null) {
- size =3D treeKeys.size();
+ 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(), e);
+ logger.warn(getName() + entryKey, e);
}
- return size;
+ 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() {
+ return getTreeCache().getNumberOfAttributes(getFqn());
}
-
+ =
public long getCacheLimit() {
int cacheLimit =3D -1;
/*
Modified: trunk/core/src/java/org/jahia/services/webdav/stores/JahiaBinding=
Store.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/webdav/stores/JahiaBindingStore.java&rev=3D17581&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
--- trunk/core/src/java/org/jahia/services/webdav/stores/JahiaBindingStore.=
java (original)
+++ trunk/core/src/java/org/jahia/services/webdav/stores/JahiaBindingStore.=
java Fri Jun 15 14:34:08 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