[jboss-cvs] JBossAS SVN: r97472 - in projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency: spi/tracker and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Dec 4 12:35:06 EST 2009


Author: alesj
Date: 2009-12-04 12:35:06 -0500 (Fri, 04 Dec 2009)
New Revision: 97472

Modified:
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracking.java
Log:
Diff on unget.

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-04 17:09:56 UTC (rev 97471)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractControllerContext.java	2009-12-04 17:35:06 UTC (rev 97472)
@@ -445,11 +445,27 @@
     * @param user the user/tracker
     * @return target
     */
+   @SuppressWarnings({"UnusedDeclaration"})
    protected Object getTargetForActualUser(Object user)
    {
       return getTarget();
    }
 
+   /**
+    * Unget target for actual user.
+    *
+    * e.g. OSGi can return different services
+    * for bundle from service factory.
+    *
+    * @param user the user/tracker
+    * @return target
+    */
+   @SuppressWarnings({"UnusedDeclaration"})
+   protected Object ungetTargetForActualUser(Object user)
+   {
+      return getTarget();
+   }
+
    public Object getTarget(ControllerContext context)
    {
       Object user = getActualUser(context);
@@ -474,7 +490,7 @@
    public Object ungetTarget(ControllerContext context)
    {
       Object user = getActualUser(context);
-      Object result = getTargetForActualUser(user);
+      Object result = ungetTargetForActualUser(user);
       if (result != null)
       {
          ContextTracker myTracker = getContextTracker();
@@ -506,8 +522,9 @@
       return result;
    }
 
-   public void ungetTarget(ContextTracker tracker)
+   public Object ungetTarget(ContextTracker tracker)
    {
+      Object result  = ungetTargetForActualUser(tracker);
       if (tracker != null)
       {
          ContextTracker myTracker = getContextTracker();
@@ -516,6 +533,7 @@
 
          tracker.decrementUsedBy(this, tracker);
       }
+      return result;
    }
 
    public void toString(JBossStringBuilder buffer)

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracking.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracking.java	2009-12-04 17:09:56 UTC (rev 97471)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/tracker/ContextTracking.java	2009-12-04 17:35:06 UTC (rev 97472)
@@ -58,7 +58,7 @@
     * Get the target and update context tracking.
     *
     * @param tracker the tracker that will use the target
-    * @return the object
+    * @return the target
     */
    Object getTarget(ContextTracker tracker);
 
@@ -66,6 +66,7 @@
     * Get the target and update context tracking.
     *
     * @param tracker the tracker that will use the target
+    * @return the target
     */
-   void ungetTarget(ContextTracker tracker);
+   Object ungetTarget(ContextTracker tracker);
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list