[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