[jboss-cvs] JBossAS SVN: r96896 - in projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency: plugins/tracker and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 24 17:26:06 EST 2009


Author: alesj
Date: 2009-11-24 17:26:06 -0500 (Tue, 24 Nov 2009)
New Revision: 96896

Modified:
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/AbstractContextTracker.java
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/TrackerConstants.java
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracker.java
Log:
Reduce tracker interface.

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java	2009-11-24 22:12:06 UTC (rev 96895)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java	2009-11-24 22:26:06 UTC (rev 96896)
@@ -409,14 +409,14 @@
       {
          ContextTracker myTracker = getContextTracker();
          if (myTracker != null)
-            myTracker.addInUseContext(user, this);
+            myTracker.addUsedBy(this, user);
 
          if (user instanceof ContextTracking)
          {
             ContextTracking ct = ContextTracking.class.cast(user);
             ContextTracker otherTracker = ct.getContextTracker();
             if (otherTracker != null)
-               otherTracker.addInUseContext(user, this);
+               otherTracker.addUsedBy(this, user);
          }
       }
       return result;
@@ -429,14 +429,14 @@
       {
          ContextTracker myTracker = getContextTracker();
          if (myTracker != null)
-            myTracker.removeInUseContext(user, this);
+            myTracker.removeUsedBy(this, user);
 
          if (user instanceof ContextTracking)
          {
             ContextTracking ct = ContextTracking.class.cast(user);
             ContextTracker otherTracker = ct.getContextTracker();
             if (otherTracker != null)
-               otherTracker.removeInUseContext(user, this);
+               otherTracker.removeUsedBy(this, user);
          }
       }
       return result;
@@ -451,9 +451,9 @@
          {
             ContextTracker myTracker = getContextTracker();
             if (myTracker != null)
-               myTracker.addTrackedBy(tracker, this);
+               myTracker.addUsedBy(this, tracker);
 
-            tracker.addUsing(this);
+            tracker.addUsedBy(this, tracker);
          }
       }
       return result;
@@ -465,9 +465,9 @@
       {
          ContextTracker myTracker = getContextTracker();
          if (myTracker != null)
-            myTracker.removeTrackedBy(tracker, this);
+            myTracker.removeUsedBy(this, tracker);
 
-         tracker.removeUsing(this);
+         tracker.removeUsedBy(this, tracker);
       }
    }
 

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/AbstractContextTracker.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/AbstractContextTracker.java	2009-11-24 22:12:06 UTC (rev 96895)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/AbstractContextTracker.java	2009-11-24 22:26:06 UTC (rev 96896)
@@ -40,22 +40,15 @@
    /** The mapping */
    private Map<ControllerContext, Map<Object, Integer>> map = new HashMap<ControllerContext, Map<Object, Integer>>();
 
-   /**
-    * Count.
-    *
-    * @param target the target/user
-    * @param used the used
-    * @return tracking count
-    */
-   private int count(Object target, ControllerContext used)
+   public int getUsedByCount(ControllerContext context, Object user)
    {
       lockRead();
       try
       {
-         Map<Object, Integer> counter = map.get(used);
+         Map<Object, Integer> counter = map.get(context);
          if (counter != null)
          {
-            Integer count = counter.get(target);
+            Integer count = counter.get(user);
             if (count != null)
                return count;
          }
@@ -67,28 +60,22 @@
       }
    }
 
-   /**
-    * Add mapping.
-    *
-    * @param target the target/user
-    * @param used the used
-    */
-   private void add(Object target, ControllerContext used)
+   public void addUsedBy(ControllerContext context, Object user)
    {
       lockWrite();
       try
       {
-         Map<Object, Integer> counter = map.get(used);
+         Map<Object, Integer> counter = map.get(context);
          if (counter == null)
          {
             counter = new HashMap<Object, Integer>();
-            map.put(used, counter);
+            map.put(context, counter);
          }
-         Integer count = counter.get(target);
+         Integer count = counter.get(user);
          if (count == null)
             count = 0;
 
-         counter.put(target, ++count);
+         counter.put(user, ++count);
       }
       finally
       {
@@ -96,31 +83,25 @@
       }
    }
 
-   /**
-    * Remove mapping.
-    *
-    * @param target the target/user
-    * @param used the used
-    */
-   private void remove(Object target, ControllerContext used)
+   public void removeUsedBy(ControllerContext context, Object user)
    {
       lockWrite();
       try
       {
-         Map<Object, Integer> counter = map.get(used);
+         Map<Object, Integer> counter = map.get(context);
          if (counter != null)
          {
-            Integer count = counter.get(target);
+            Integer count = counter.get(user);
             if (count == null || count <= 1)
             {
-               counter.remove(target);
+               counter.remove(user);
 
                if (counter.isEmpty())
-                  map.remove(used);
+                  map.remove(context);
             }
             else
             {
-               counter.put(target, --count);
+               counter.put(user, --count);
             }
          }
       }
@@ -130,52 +111,12 @@
       }
    }
 
-   public int getInUseCount(ControllerContext target, ControllerContext used)
+   public boolean isContextInUse(ControllerContext context)
    {
-      return count(target, used);
-   }
-
-   public int getTrackerCount(ContextTracker tracker, ControllerContext used)
-   {
-      return count(tracker, used);
-   }
-
-   public void addInUseContext(ControllerContext target, ControllerContext used)
-   {
-      add(target, used);
-   }
-
-   public void addTrackedBy(ContextTracker tracker, ControllerContext used)
-   {
-      add(tracker, used);
-   }
-
-   public void addUsing(ControllerContext used)
-   {
-      addTrackedBy(this, used);
-   }
-
-   public void removeInUseContext(ControllerContext target, ControllerContext used)
-   {
-      remove(target, used);
-   }
-
-   public void removeTrackedBy(ContextTracker tracker, ControllerContext used)
-   {
-      remove(tracker, used);
-   }
-
-   public void removeUsing(ControllerContext used)
-   {
-      removeTrackedBy(this, used);
-   }
-
-   public boolean isContextInUse(ControllerContext used)
-   {
       lockRead();
       try
       {
-         return map.get(used) != null;
+         return map.get(context) != null;
       }
       finally
       {
@@ -183,12 +124,12 @@
       }
    }
 
-   public Set<Object> getUsers(ControllerContext used)
+   public Set<Object> getUsers(ControllerContext context)
    {
       lockRead();
       try
       {
-         Map<Object, Integer> counter = map.get(used);
+         Map<Object, Integer> counter = map.get(context);
          return (counter != null) ? new HashSet<Object>(counter.keySet()) : Collections.emptySet();
       }
       finally
@@ -197,12 +138,23 @@
       }
    }
 
-   public Set<ControllerContext> getUsedContexts()
+   @SuppressWarnings({"unchecked"})
+   public <T extends ControllerContext> Set<T> getUsedContexts(Class<T> type)
    {
       lockRead();
       try
       {
-         return new HashSet<ControllerContext>(map.keySet());
+         Set<ControllerContext> contexts = map.keySet();
+         if (contexts.isEmpty())
+            return Collections.emptySet();
+
+         Set<T> result = new HashSet<T>();
+         for (ControllerContext context : contexts)
+         {
+            if (type == null || type.isInstance(context))
+               result.add((T)context);
+         }
+         return result;
       }
       finally
       {

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/TrackerConstants.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/TrackerConstants.java	2009-11-24 22:12:06 UTC (rev 96895)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/TrackerConstants.java	2009-11-24 22:26:06 UTC (rev 96896)
@@ -37,40 +37,19 @@
    /** Dummy anchor tracker */
    public static final ContextTracker FLAG = new ContextTracker()
    {
-      public int getInUseCount(ControllerContext target, ControllerContext used)
+      public int getUsedByCount(ControllerContext used, Object user)
       {
          return -1;
       }
 
-      public int getTrackerCount(ContextTracker tracker, ControllerContext used)
+      public void addUsedBy(ControllerContext used, Object user)
       {
-         return -1;
       }
 
-      public void addInUseContext(ControllerContext target, ControllerContext used)
+      public void removeUsedBy(ControllerContext used, Object user)
       {
       }
 
-      public void addTrackedBy(ContextTracker tracker, ControllerContext used)
-      {
-      }
-
-      public void addUsing(ControllerContext used)
-      {
-      }
-
-      public void removeInUseContext(ControllerContext target, ControllerContext used)
-      {
-      }
-
-      public void removeTrackedBy(ContextTracker tracker, ControllerContext used)
-      {
-      }
-
-      public void removeUsing(ControllerContext used)
-      {
-      }
-
       public boolean isContextInUse(ControllerContext used)
       {
          return false;
@@ -81,7 +60,7 @@
          return null;
       }
 
-      public Set<ControllerContext> getUsedContexts()
+      public <T extends ControllerContext> Set<T> getUsedContexts(Class<T> type)
       {
          return null;
       }

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracker.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracker.java	2009-11-24 22:12:06 UTC (rev 96895)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracker.java	2009-11-24 22:26:06 UTC (rev 96896)
@@ -34,70 +34,31 @@
 public interface ContextTracker
 {
    /**
-    * Count how many times "used" is used by context.
+    * Count how many times "used" is used by user.
     *
-    * @param target the target context
     * @param used the used context
+    * @param user the user that tracks used.
     * @return tracking count
     */
-   int getInUseCount(ControllerContext target, ControllerContext used);
+   int getUsedByCount(ControllerContext used, Object user);
 
    /**
-    * Count how many times "used" is tracked by tracker.
+    * Add context's user..
     *
-    * @param tracker the tracker
     * @param used the used context
-    * @return tracking count
+    * @param user the user that tracks used.
     */
-   int getTrackerCount(ContextTracker tracker, ControllerContext used);
+   void addUsedBy(ControllerContext used, Object user);
 
    /**
-    * Target context is using my "used" context.
+    * Remove context's user.
     *
-    * @param target the target context
     * @param used the used context
+    * @param user the user that tracks used.
     */
-   void addInUseContext(ControllerContext target, ControllerContext used);
+   void removeUsedBy(ControllerContext used, Object user);
 
    /**
-    * Add contexts tracking tracker.
-    *
-    * @param tracker the tracker that tracks used.
-    * @param used the used context
-    */
-   void addTrackedBy(ContextTracker tracker, ControllerContext used);
-
-   /**
-    * Add my usage of "used" context.
-    *
-    * @param used the used context
-    */
-   void addUsing(ControllerContext used);
-
-   /**
-    * Remove the "target's" usage of my "used" context.
-    *
-    * @param target the target context
-    * @param used the used context
-    */
-   void removeInUseContext(ControllerContext target, ControllerContext used);
-
-   /**
-    * Remove contexts tracking tracker.
-    *
-    * @param tracker the tracker that tracked used.
-    * @param used the used context
-    */
-   void removeTrackedBy(ContextTracker tracker, ControllerContext used);
-
-   /**
-    * Remove my usage of "used" context.
-    *
-    * @param used the used context
-    */
-   void removeUsing(ControllerContext used);
-
-   /**
     * Is someone using "used"?
     *
     * @param used the context to check
@@ -116,7 +77,11 @@
    /**
     * Which contexts do I use?
     *
+    * If null type param is passed,
+    * not type check is performed.
+    *
+    * @param type exact context type
     * @return all used contexts
     */
-   Set<ControllerContext> getUsedContexts();
+   <T extends ControllerContext> Set<T> getUsedContexts(Class<T> type);
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list