[jboss-cvs] JBossAS SVN: r107266 - projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/ha/framework/server.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 2 11:49:54 EDT 2010


Author: pferraro
Date: 2010-08-02 11:49:54 -0400 (Mon, 02 Aug 2010)
New Revision: 107266

Modified:
   projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/ha/framework/server/DistributedStateImpl.java
Log:
Fix most compiler warnings.  Simplify listener logic, since we only have 1 type of listener now.

Modified: projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/ha/framework/server/DistributedStateImpl.java
===================================================================
--- projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/ha/framework/server/DistributedStateImpl.java	2010-08-02 15:44:16 UTC (rev 107265)
+++ projects/cluster/ha-server-cache-ispn/trunk/src/main/java/org/jboss/ha/framework/server/DistributedStateImpl.java	2010-08-02 15:49:54 UTC (rev 107266)
@@ -24,7 +24,6 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
@@ -43,7 +42,6 @@
 import org.infinispan.notifications.Listener;
 import org.infinispan.util.SimpleImmutableEntry;
 import org.jboss.ha.framework.server.spi.ManagedDistributedState;
-import org.jboss.logging.Logger;
 
 /**
  * This class manages distributed state across the cluster.
@@ -68,40 +66,43 @@
 public class DistributedStateImpl 
    implements ManagedDistributedState
 {
-   private static final Logger LOG = Logger.getLogger(DistributedStateImpl.class);
-   private final ConcurrentHashMap<String, List<Object>> keyListeners = new ConcurrentHashMap<String, List<Object>>();
+   private final ConcurrentHashMap<String, List<DSListener>> keyListeners = new ConcurrentHashMap<String, List<DSListener>>();
 
    private volatile Cache<Serializable, Serializable> cache;
    private volatile boolean replAsync;
    private volatile InfinispanHAPartitionCacheHandler<Serializable, Serializable> cacheHandler;
 
-   public InfinispanHAPartitionCacheHandler getCacheHandler()
+   public InfinispanHAPartitionCacheHandler<Serializable, Serializable> getCacheHandler()
    {
       return cacheHandler;
    }
 
-   public void setCacheHandler(InfinispanHAPartitionCacheHandler cacheHandler)
+   public void setCacheHandler(InfinispanHAPartitionCacheHandler<Serializable, Serializable> cacheHandler)
    {
       this.cacheHandler = cacheHandler;
    }
 
    // Public --------------------------------------------------------
 
+   @Override
    public void createService() throws Exception
    {
    }
 
+   @Override
    public void startService() throws Exception
    {
       this.internalSetClusteredCache(cacheHandler.getCache());
       this.cache.addListener(this);
    }
 
+   @Override
    public void stopService() throws Exception
    {      
       this.cache.removeListener(this);
    }
 
+   @Override
    public void destroyService() throws Exception
    {
    }
@@ -208,18 +209,18 @@
       //      this.cache.put(this.buildFqn(category), key, value, Flag.FORCE_SYNCHRONOUS);
       //   }
       //}
-      cache.startBatch();
+      this.cache.startBatch();
       boolean commit = false;
       try
       {
-         cache.put(buildValueCollectionKey(category, key), value);
-         AtomicMap m = getKeysPerCategoryCollection(category);
+         this.cache.put(buildValueCollectionKey(category, key), value);
+         AtomicMap<Serializable, Void> m = getKeysPerCategoryCollection(category);
          m.put(key, null);
-         // cache.put(category, m);  // TODO:  need this?
          commit = true;
       }
-      finally {
-         cache.endBatch(commit);
+      finally 
+      {
+         this.cache.endBatch(commit);
       }
    }
 
@@ -265,12 +266,12 @@
          try
          {
             cache.remove(buildValueCollectionKey(category, key));
-            AtomicMap m = getKeysPerCategoryCollection(category);
+            AtomicMap<Serializable, Void> m = getKeysPerCategoryCollection(category);
             m.remove(key);
-            // cache.put(category, m);  // TODO:  need this?
             commit = true;
          }
-         finally {
+         finally
+         {
             cache.endBatch(commit);
          }
 
@@ -302,21 +303,18 @@
    {
       try
       {
-         Set keys = cache.keySet();
-         if (keys != null && keys.size() > 0)
+         Set<Serializable> keys = this.cache.keySet();
+         if (keys.isEmpty()) return null;
+
+         List<String> categories = new LinkedList<String>();
+         for (Serializable key: keys)
          {
-            Collection<String> categories = new LinkedList<String>();
-            for(Iterator iter = keys.iterator(); iter.hasNext();)
+            if (key instanceof String)  // only the keys that are Strings, are categories
             {
-               Object next = iter.next();
-               if (next instanceof String)  // only the keys that are Strings, are categories
-               {
-                  categories.add((String)next);
-               }
+               categories.add((String) key);
             }
-            return categories;
          }
-         return null;
+         return categories;
       }
       catch (CacheException ce)
       {
@@ -335,7 +333,7 @@
    {
       try
       {
-         AtomicMap m = getKeysPerCategoryCollection(category);
+         AtomicMap<Serializable, Void> m = getKeysPerCategoryCollection(category);
          return m.keySet();  // the keyset are the DS keys
       }
       catch (CacheException ce)
@@ -356,17 +354,15 @@
       try
       {
          Collection<Serializable> keys = getAllKeys(category);
-         if(keys != null)
+         
+         if (keys == null) return null;
+
+         List<Serializable> values = new ArrayList<Serializable>();
+         for (Serializable key: keys)
          {
-            List<Serializable> values = new ArrayList();
-            for (Serializable key: keys)
-            {
-               values.add(cache.get(buildValueCollectionKey(category, key)));
-            }
-            return values;
+            values.add(cache.get(buildValueCollectionKey(category, key)));
          }
-         else
-            return null;
+         return values;
       }
       catch (CacheException ce)
       {
@@ -375,52 +371,25 @@
    }
 
    @Override
-   public void registerDSListenerEx(String category, DSListenerEx subscriber)
+   public void registerDSListenerEx(String category, @SuppressWarnings("deprecation") DSListenerEx subscriber)
    {
-      this.registerListener(category, subscriber);
+      this.registerDSListener(category, subscriber);
    }
 
    @Override
-   public void unregisterDSListenerEx(String category, DSListenerEx subscriber)
+   public void unregisterDSListenerEx(String category, @SuppressWarnings("deprecation") DSListenerEx subscriber)
    {
-      this.unregisterListener(category, subscriber);
+      this.unregisterDSListener(category, subscriber);
    }
 
    @Override
    public void registerDSListener(String category, DSListener subscriber)
    {
-      this.registerListener(category, subscriber);
-   }
-
-   @Override
-   public void unregisterDSListener(String category, DSListener subscriber)
-   {
-      this.unregisterListener(category, subscriber);
-   }
-
-   // ChannelSource -------------------------------------------------
-
-//   public Channel getChannel()
-//   {
-//      Channel result = null;
-//      if (cache != null)
-//      {
-//         result = cache.getConfiguration().getRuntimeConfig().getChannel();
-//      }
-//      return result;
-//   }
-   
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   protected void registerListener(String category, Object subscriber)
-   {
-      List<Object> listeners = this.keyListeners.get(category);
+      List<DSListener> listeners = this.keyListeners.get(category);
       if (listeners == null)
       {
-         listeners = new CopyOnWriteArrayList<Object>();
-         List<Object> other = this.keyListeners.putIfAbsent(category, listeners);
+         listeners = new CopyOnWriteArrayList<DSListener>();
+         List<DSListener> other = this.keyListeners.putIfAbsent(category, listeners);
          if (other != null )
          {
             listeners = other;   // use the listeners added by other thread
@@ -429,9 +398,10 @@
       listeners.add(subscriber);
    }
 
-   protected void unregisterListener(String category, Object subscriber)
+   @Override
+   public void unregisterDSListener(String category, DSListener subscriber)
    {
-      List<Object> listeners = this.keyListeners.get(category);
+      List<DSListener> listeners = this.keyListeners.get(category);
       if (listeners != null)
       {
          listeners.remove(subscriber);
@@ -442,46 +412,40 @@
       }
    }
 
+   // ChannelSource -------------------------------------------------
+
+//   public Channel getChannel()
+//   {
+//      Channel result = null;
+//      if (cache != null)
+//      {
+//         result = cache.getConfiguration().getRuntimeConfig().getChannel();
+//      }
+//      return result;
+//   }
+   
+   // Package protected ---------------------------------------------
+
    protected void notifyKeyListeners(String category, Serializable key, Serializable value, boolean locallyModified)
    {
-      List<Object> listeners = this.keyListeners.get(category);
+      List<DSListener> listeners = this.keyListeners.get(category);
       if (listeners == null) return;
-      String strKey = key.toString();
 
-      for (Object listener: listeners)
+      for (DSListener listener: listeners)
       {
-         if (listener instanceof DSListener)
-         {
-            DSListener dslistener = (DSListener) listener;
-            dslistener.valueHasChanged(category, strKey, value, locallyModified);
-         }
-         else
-         {
-            DSListenerEx dslistener = (DSListenerEx) listener;
-            dslistener.valueHasChanged(category, key, value, locallyModified);
-         }
+         listener.valueHasChanged(category, key, value, locallyModified);
       }
    }
 
    protected void notifyKeyListenersOfRemove(String category, Serializable key, Serializable oldContent,
          boolean locallyModified)
    {
-      List<Object> listeners = this.keyListeners.get(category);
+      List<DSListener> listeners = this.keyListeners.get(category);
       if (listeners == null) return;
-      String strKey = key.toString();
 
-      for (Object listener: listeners)
+      for (DSListener listener: listeners)
       {
-         if (listener instanceof DSListener)
-         {
-            DSListener dslistener = (DSListener) listener;
-            dslistener.keyHasBeenRemoved(category, strKey, oldContent, locallyModified);
-         }
-         else
-         {
-            DSListenerEx dslistener = (DSListenerEx) listener;
-            dslistener.keyHasBeenRemoved(category, key, oldContent, locallyModified);
-         }
+         listener.keyHasBeenRemoved(category, key, oldContent, locallyModified);
       }
    }
 
@@ -502,13 +466,12 @@
       if (event.isPre()) return;
 
       Object key = event.getKey();
-      Object value = event.getValue();
-      if(key instanceof SimpleImmutableEntry)
+      
+      if (key instanceof SimpleImmutableEntry)
       {
-         SimpleImmutableEntry e = (SimpleImmutableEntry)key;
-         key = e.getValue();
-         String category = (String)e.getKey();
-         notifyKeyListeners(category, (Serializable)key, (Serializable)value, event.isOriginLocal());
+         @SuppressWarnings("unchecked")
+         SimpleImmutableEntry<String, Serializable> entry = (SimpleImmutableEntry<String, Serializable>) key;
+         notifyKeyListeners(entry.getKey(), entry.getValue(), (Serializable) event.getValue(), event.isOriginLocal());
       }
    }
 
@@ -518,13 +481,12 @@
       if (event.isPre()) return;
 
       Object key = event.getKey();
-      Object value = event.getValue();
-      if(key instanceof SimpleImmutableEntry)
+
+      if (key instanceof SimpleImmutableEntry)
       {
-         SimpleImmutableEntry e = (SimpleImmutableEntry)key;
-         key = e.getValue();
-         String category = (String)e.getKey();
-         notifyKeyListenersOfRemove(category, (Serializable)key, (Serializable)value, event.isOriginLocal());
+         @SuppressWarnings("unchecked")
+         SimpleImmutableEntry<String, Serializable> entry = (SimpleImmutableEntry<String, Serializable>) key;
+         notifyKeyListenersOfRemove(entry.getKey(), entry.getValue(), (Serializable) event.getValue(), event.isOriginLocal());
       }
    }
 
@@ -553,15 +515,13 @@
       }
    }
 
-   private SimpleImmutableEntry<String, Serializable>
-   buildValueCollectionKey(String category, Serializable dskey)
+   private SimpleImmutableEntry<String, Serializable> buildValueCollectionKey(String category, Serializable dskey)
    {
-      return new SimpleImmutableEntry(category, dskey);
+      return new SimpleImmutableEntry<String, Serializable>(category, dskey);
    }
 
-   private AtomicMap getKeysPerCategoryCollection(String category)
+   private AtomicMap<Serializable, Void> getKeysPerCategoryCollection(String category)
    {
-      return AtomicMapLookup.getAtomicMap(cache, category, true);
-
+      return AtomicMapLookup.getAtomicMap(this.cache, category, true);
    }
 }



More information about the jboss-cvs-commits mailing list