bpapez      2005/12/01 10:50:35 CET

  Modified files:
    core/src/java/org/jahia/services/cache/jms JMSCacheImpl.java 
    core/src/java/org/jahia/services/cache/oscache 
                                                   OSCacheImpl.java 
    core/src/java/org/jahia/services/cache 
                                           CacheImplementation.java 
                                           Cache.java 
    core/src/java/org/jahia/services/cache/simple 
                                                  SimpleCacheImpl.java 
  Log:
  cache interface changes (containsKey and listener registration)
  
  Revision  Changes    Path
  1.11      +3 -3      jahia/core/src/java/org/jahia/services/cache/Cache.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/Cache.java.diff?r1=1.10&r2=1.11&f=h
  1.3       +4 -1      
jahia/core/src/java/org/jahia/services/cache/CacheImplementation.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/CacheImplementation.java.diff?r1=1.2&r2=1.3&f=h
  1.4       +21 -3     
jahia/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java.diff?r1=1.3&r2=1.4&f=h
  1.3       +18 -3     
jahia/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java.diff?r1=1.2&r2=1.3&f=h
  1.4       +10 -2     
jahia/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java.diff?r1=1.3&r2=1.4&f=h
  
  
  
  Index: JMSCacheImpl.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JMSCacheImpl.java 17 Aug 2005 16:08:14 -0000      1.3
  +++ JMSCacheImpl.java 1 Dec 2005 09:50:34 -0000       1.4
  @@ -42,6 +42,7 @@
   import org.jahia.services.cache.*;
   import org.apache.commons.collections.FastHashMap;
   
  +import java.util.List;
   import java.util.Map;
   import java.util.Set;
   import java.util.Iterator;
  @@ -68,7 +69,7 @@
       /** reference to the JMS hub to send messages. */
       private JMSHub jmsHub = null;
   
  -    private ArrayList listeners = null;
  +    private List listeners = new ArrayList();
   
   
       /** <p>Creates a new <code>Cache</code> instance.</p>
  @@ -81,6 +82,20 @@
           init (name, hub);
       }
   
  +    /** <p>Checks whether the cache contains the entry associated to the 
<code>entryKey</code> 
  +     * object stored in fetched cache entry. <code>null</code> is returned 
when the
  +     * <code>entryKey</code> is <code>null</code>, or when no cache entry 
could be found
  +     * for the specified <code>entryKey</code>.</p>
  +     *
  +     * @param entryKey  the key associated to the requested object. A 
<code>null</code>
  +     *                   key will return in a <code>null</code> result.
  +     *
  +     * @return  the object associated to the code <code>entryKey</code> 
cache entry.
  +     */
  +    public boolean containsKey (Object entryKey) {
  +        return cache.containsKey(entryKey);
  +    }    
  +    
       /** <p>Fetchs the cache entry associated to the <code>entryKey</code> 
and returns the
        * object stored in fetched cache entry. <code>null</code> is returned 
when the
        * <code>entryKey</code> is <code>null</code>, or when no cache entry 
could be found
  @@ -430,7 +445,10 @@
                         "] from cache [" + name + "]!");
       }
   
  -    public void setListeners(ArrayList listeners) {
  -        this.listeners = listeners;
  +    public void addListener(CacheListener listener) {
  +        this.listeners.add(listener);
       }
  +    public void removeListener(CacheListener listener) {
  +        this.listeners.remove(listener);
  +    }    
   }
  \ No newline at end of file
  
  
  
  Index: OSCacheImpl.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- OSCacheImpl.java  29 Jul 2005 16:28:53 -0000      1.2
  +++ OSCacheImpl.java  1 Dec 2005 09:50:35 -0000       1.3
  @@ -1,8 +1,10 @@
   package org.jahia.services.cache.oscache;
   
   import org.jahia.services.cache.CacheImplementation;
  +import org.jahia.services.cache.CacheListener;
   
   import java.util.ArrayList;
  +import java.util.List;
   import java.util.Properties;
   
   import com.opensymphony.oscache.general.GeneralCacheAdministrator;
  @@ -21,7 +23,7 @@
       private final int refreshPeriod;
       private final String cron;
       private final String name;
  -    private ArrayList listeners = null;
  +    private List listeners = new ArrayList();
   
       public OSCacheImpl(String name, int refreshPeriod, String cron, 
Properties properties) {
           this.name = name;
  @@ -30,6 +32,16 @@
           cache = new GeneralCacheAdministrator(properties);
       }
   
  +    public boolean containsKey(Object key) {
  +        try {
  +            return (cache.getFromCache( key.toString() , refreshPeriod, cron 
) != null);
  +        }
  +        catch (NeedsRefreshException e) {
  +            cache.cancelUpdate( key.toString() );
  +            return false;
  +        }
  +    }    
  +    
       public Object get(Object key) {
           try {
               return cache.getFromCache( key.toString() , refreshPeriod, cron 
);
  @@ -72,9 +84,12 @@
           return name;
       }
   
  -    public void setListeners(ArrayList listeners) {
  -        this.listeners = listeners;
  +    public void addListener(CacheListener listener) {
  +        this.listeners.add(listener);
       }
  +    public void removeListener(CacheListener listener) {
  +        this.listeners.remove(listener);
  +    }    
   
       /**
        * <p>Returns the maximum size allowed for the cache.</p>
  
  
  
  Index: CacheImplementation.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/cache/CacheImplementation.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CacheImplementation.java  29 Jul 2005 16:28:52 -0000      1.2
  +++ CacheImplementation.java  1 Dec 2005 09:50:35 -0000       1.3
  @@ -10,6 +10,8 @@
    * To change this template use File | Settings | File Templates.
    */
   public interface CacheImplementation {
  +    boolean containsKey(Object key);
  +    
       Object get(Object key);
   
       /**
  @@ -30,7 +32,8 @@
   
       public String getName();
   
  -    void setListeners(ArrayList listeners);
  +    void addListener(CacheListener listener);
  +    void removeListener(CacheListener listener);    
   
       /** <p>Returns the maximum size allowed for the cache.</p>
        *
  
  
  
  Index: Cache.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/cache/Cache.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Cache.java        29 Jul 2005 16:28:52 -0000      1.10
  +++ Cache.java        1 Dec 2005 09:50:35 -0000       1.11
  @@ -422,7 +422,7 @@
        *           otherwise return <code>false</code>
        */
       final public boolean containsKey (final Object entryKey) {
  -        return (cacheImplementation.get (entryKey) != null);
  +        return cacheImplementation.containsKey (entryKey);
       }
   
       /** <p>Remove the cache entry associated to the <code>entryKey</code>. 
This method
  @@ -462,7 +462,7 @@
           }
   
           listeners.add (listener);
  -        cacheImplementation.setListeners(listeners);
  +        cacheImplementation.addListener(listener);
       }
   
       /**
  @@ -478,7 +478,7 @@
               return;
   
           listeners.remove (listener);
  -        cacheImplementation.setListeners(listeners);
  +        cacheImplementation.removeListener(listener);
       }
   
       public CacheImplementation getCacheImplementation() {
  
  
  
  Index: SimpleCacheImpl.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SimpleCacheImpl.java      9 Nov 2005 13:32:57 -0000       1.3
  +++ SimpleCacheImpl.java      1 Dec 2005 09:50:35 -0000       1.4
  @@ -1,6 +1,7 @@
   package org.jahia.services.cache.simple;
   
   import org.jahia.services.cache.CacheImplementation;
  +import org.jahia.services.cache.CacheListener;
   import org.jahia.services.cache.GroupCacheKey;
   import org.jahia.services.cache.CacheEntry;
   import org.apache.commons.collections.FastHashMap;
  @@ -27,6 +28,10 @@
           this.name = name;
       }
   
  +    public boolean containsKey(Object key) {
  +        return cache.containsKey(key);
  +    }    
  +    
       public Object get(Object key) {
           return cache.get(key);
       }
  @@ -96,10 +101,13 @@
           return name;
       }
   
  -    public void setListeners(ArrayList listeners) {
  +    public void addListener(CacheListener listener) {
           //To change body of implemented methods use File | Settings | File 
Templates.
       }
  -
  +    public void removeListener(CacheListener listener) {
  +        //To change body of implemented methods use File | Settings | File 
Templates.
  +    }
  +    
       /**
        * <p>Returns the maximum size allowed for the cache.</p>
        *
  

Reply via email to