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

Reply via email to