[jboss-cvs] JBossAS SVN: r96900 - 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 18:51:22 EST 2009
Author: alesj
Date: 2009-11-24 18:51:21 -0500 (Tue, 24 Nov 2009)
New Revision: 96900
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:
Diff between add and increment.
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 23:41:49 UTC (rev 96899)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java 2009-11-24 23:51:21 UTC (rev 96900)
@@ -409,14 +409,14 @@
{
ContextTracker myTracker = getContextTracker();
if (myTracker != null)
- myTracker.addUsedBy(this, user);
+ myTracker.incrementUsedBy(this, user);
if (user instanceof ContextTracking)
{
ContextTracking ct = ContextTracking.class.cast(user);
ContextTracker otherTracker = ct.getContextTracker();
if (otherTracker != null)
- otherTracker.addUsedBy(this, user);
+ otherTracker.incrementUsedBy(this, user);
}
}
return result;
@@ -429,14 +429,14 @@
{
ContextTracker myTracker = getContextTracker();
if (myTracker != null)
- myTracker.removeUsedBy(this, user);
+ myTracker.decrementUsedBy(this, user);
if (user instanceof ContextTracking)
{
ContextTracking ct = ContextTracking.class.cast(user);
ContextTracker otherTracker = ct.getContextTracker();
if (otherTracker != null)
- otherTracker.removeUsedBy(this, user);
+ otherTracker.decrementUsedBy(this, user);
}
}
return result;
@@ -451,9 +451,9 @@
{
ContextTracker myTracker = getContextTracker();
if (myTracker != null)
- myTracker.addUsedBy(this, tracker);
+ myTracker.incrementUsedBy(this, tracker);
- tracker.addUsedBy(this, tracker);
+ tracker.incrementUsedBy(this, tracker);
}
}
return result;
@@ -465,9 +465,9 @@
{
ContextTracker myTracker = getContextTracker();
if (myTracker != null)
- myTracker.removeUsedBy(this, tracker);
+ myTracker.decrementUsedBy(this, tracker);
- tracker.removeUsedBy(this, tracker);
+ tracker.decrementUsedBy(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 23:41:49 UTC (rev 96899)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/AbstractContextTracker.java 2009-11-24 23:51:21 UTC (rev 96900)
@@ -60,7 +60,14 @@
}
}
- public void addUsedBy(ControllerContext context, Object user)
+ /**
+ * Add + increment.
+ *
+ * @param context the used context
+ * @param user the user / target
+ * @param increment do we increment
+ */
+ private void add(ControllerContext context, Object user, boolean increment)
{
lockWrite();
try
@@ -75,7 +82,10 @@
if (count == null)
count = 0;
- counter.put(user, ++count);
+ if (increment)
+ count++;
+
+ counter.put(user, count);
}
finally
{
@@ -83,7 +93,14 @@
}
}
- public void removeUsedBy(ControllerContext context, Object user)
+ /**
+ * Remove + decrement.
+ *
+ * @param context the used context
+ * @param user the user
+ * @param decrement do we actually decrement
+ */
+ private void remove(ControllerContext context, Object user, boolean decrement)
{
lockWrite();
try
@@ -92,14 +109,14 @@
if (counter != null)
{
Integer count = counter.get(user);
- if (count == null || count <= 1)
+ if (count == null || count == 0 || (count == 1 && decrement))
{
counter.remove(user);
if (counter.isEmpty())
map.remove(context);
}
- else
+ else if (decrement)
{
counter.put(user, --count);
}
@@ -111,6 +128,26 @@
}
}
+ public void addUsedBy(ControllerContext context, Object user)
+ {
+ add(context, user, false);
+ }
+
+ public void incrementUsedBy(ControllerContext context, Object user)
+ {
+ add(context, user, true);
+ }
+
+ public void decrementUsedBy(ControllerContext context, Object user)
+ {
+ remove(context, user, true);
+ }
+
+ public void removeUsedBy(ControllerContext context, Object user)
+ {
+ remove(context, user, false);
+ }
+
public boolean isContextInUse(ControllerContext context)
{
lockRead();
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 23:41:49 UTC (rev 96899)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/tracker/TrackerConstants.java 2009-11-24 23:51:21 UTC (rev 96900)
@@ -46,6 +46,14 @@
{
}
+ public void incrementUsedBy(ControllerContext used, Object user)
+ {
+ }
+
+ public void decrementUsedBy(ControllerContext used, Object user)
+ {
+ }
+
public void removeUsedBy(ControllerContext used, Object user)
{
}
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 23:41:49 UTC (rev 96899)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracker.java 2009-11-24 23:51:21 UTC (rev 96900)
@@ -43,7 +43,8 @@
int getUsedByCount(ControllerContext used, Object user);
/**
- * Add context's user..
+ * Add context's user.
+ * No actual usage yet.
*
* @param used the used context
* @param user the user that tracks used.
@@ -51,6 +52,22 @@
void addUsedBy(ControllerContext used, Object user);
/**
+ * Increment context's user.
+ *
+ * @param used the used context
+ * @param user the user that tracks used.
+ */
+ void incrementUsedBy(ControllerContext used, Object user);
+
+ /**
+ * Decrement context's user.
+ *
+ * @param used the used context
+ * @param user the user that tracks used.
+ */
+ void decrementUsedBy(ControllerContext used, Object user);
+
+ /**
* Remove context's user.
*
* @param used the used context
More information about the jboss-cvs-commits
mailing list