[jboss-cvs] JBossAS SVN: r97483 - in projects/kernel/trunk/dependency/src: test/java/org/jboss/test/dependency/controller/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Dec 5 15:03:56 EST 2009


Author: alesj
Date: 2009-12-05 15:03:56 -0500 (Sat, 05 Dec 2009)
New Revision: 97483

Modified:
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
   projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ContextTrackerTestCase.java
Log:
Make unget asymetric, remove the need for non-null target.
Only track the event once if the tracker is the same.

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-12-05 19:13:31 UTC (rev 97482)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java	2009-12-05 20:03:56 UTC (rev 97483)
@@ -470,42 +470,39 @@
    {
       Object user = getActualUser(context);
       Object result = getTargetForActualUser(user);
-      if (result != null)
-      {
-         ContextTracker myTracker = getContextTracker();
-         if (myTracker != null)
-            myTracker.incrementUsedBy(this, user);
 
-         if (context instanceof ContextTracking)
-         {
-            ContextTracking ct = ContextTracking.class.cast(context);
-            ContextTracker otherTracker = ct.getContextTracker();
-            if (otherTracker != null)
-               otherTracker.incrementUsedBy(this, user);
-         }
+      ContextTracker myTracker = getContextTracker();
+      if (myTracker != null)
+         myTracker.incrementUsedBy(this, user);
+
+      if (context instanceof ContextTracking)
+      {
+         ContextTracking ct = ContextTracking.class.cast(context);
+         ContextTracker otherTracker = ct.getContextTracker();
+         if (otherTracker != null && otherTracker != myTracker)
+            otherTracker.incrementUsedBy(this, user);
       }
+
       return result;
    }
 
    public Object ungetTarget(ControllerContext context)
    {
       Object user = getActualUser(context);
-      Object result = ungetTargetForActualUser(user);
-      if (result != null)
-      {
-         ContextTracker myTracker = getContextTracker();
-         if (myTracker != null)
-            myTracker.decrementUsedBy(this, user);
 
-         if (context instanceof ContextTracking)
-         {
-            ContextTracking ct = ContextTracking.class.cast(context);
-            ContextTracker otherTracker = ct.getContextTracker();
-            if (otherTracker != null)
-               otherTracker.decrementUsedBy(this, user);
-         }
+      ContextTracker myTracker = getContextTracker();
+      if (myTracker != null)
+         myTracker.decrementUsedBy(this, user);
+
+      if (context instanceof ContextTracking)
+      {
+         ContextTracking ct = ContextTracking.class.cast(context);
+         ContextTracker otherTracker = ct.getContextTracker();
+         if (otherTracker != null && otherTracker != myTracker)
+            otherTracker.decrementUsedBy(this, user);
       }
-      return result;
+
+      return ungetTargetForActualUser(user);
    }
 
    public Object getTarget(ContextTracker tracker)
@@ -514,7 +511,7 @@
       if (tracker != null)
       {
          ContextTracker myTracker = getContextTracker();
-         if (myTracker != null)
+         if (myTracker != null && myTracker != tracker)
             myTracker.incrementUsedBy(this, tracker);
 
          tracker.incrementUsedBy(this, tracker);
@@ -524,16 +521,15 @@
 
    public Object ungetTarget(ContextTracker tracker)
    {
-      Object result  = ungetTargetForActualUser(tracker);
       if (tracker != null)
       {
          ContextTracker myTracker = getContextTracker();
-         if (myTracker != null)
+         if (myTracker != null && myTracker != tracker)
             myTracker.decrementUsedBy(this, tracker);
 
          tracker.decrementUsedBy(this, tracker);
       }
-      return result;
+      return ungetTargetForActualUser(tracker);
    }
 
    public void toString(JBossStringBuilder buffer)

Modified: projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ContextTrackerTestCase.java
===================================================================
--- projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ContextTrackerTestCase.java	2009-12-05 19:13:31 UTC (rev 97482)
+++ projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ContextTrackerTestCase.java	2009-12-05 20:03:56 UTC (rev 97483)
@@ -86,7 +86,7 @@
    {
       ControllerContext a = assertInstallContext("a");
       ControllerContext b = assertInstallContext("b");
-      testContexts(a, b, 2); // same tracker, hence duplicate
+      testContexts(a, b, 1);
    }
 
    public void testTargetOverTracker() throws Throwable




More information about the jboss-cvs-commits mailing list