You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2012/09/03 03:03:54 UTC

svn commit: r1380104 - /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Author: fmeschbe
Date: Mon Sep  3 01:03:54 2012
New Revision: 1380104

URL: http://svn.apache.org/viewvc?rev=1380104&view=rev
Log:
FELIX-3646 Make sure the the deactivation reason is not lost if an active component is disposed off

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=1380104&r1=1380103&r2=1380104&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Mon Sep  3 01:03:54 2012
@@ -606,7 +606,7 @@ public abstract class AbstractComponentM
      */
     public final void disposeInternal( int reason )
     {
-        m_state.dispose( this );
+        m_state.dispose( this, reason );
     }
 
 
@@ -1172,9 +1172,9 @@ public abstract class AbstractComponentM
         }
 
 
-        void dispose( AbstractComponentManager acm )
+        void dispose( AbstractComponentManager acm, int reason )
         {
-//            log( acm, "dispose" );
+//            log( acm, "dispose (reason: " + reason + ")" );
             throw new IllegalStateException("dispose" + this);
         }
 
@@ -1265,9 +1265,9 @@ public abstract class AbstractComponentM
             doDeactivate( acm, reason );
         }
 
-        void dispose( AbstractComponentManager acm )
+        void dispose( AbstractComponentManager acm, int reason )
         {
-            acm.log( LogService.LOG_DEBUG, "Disposing component", null );
+            acm.log( LogService.LOG_DEBUG, "Disposing component (reason: " + reason + ")", null );
             acm.clear();
             acm.changeState( Disposed.getInstance() );
 
@@ -1380,7 +1380,7 @@ public abstract class AbstractComponentM
             acm.log( LogService.LOG_DEBUG, "Component disabled", null );
         }
 
-        void dispose( AbstractComponentManager acm )
+        void dispose( AbstractComponentManager acm, int reason )
         {
             doDisable( acm );
             acm.clear();   //content of Disabled.dispose
@@ -1422,9 +1422,9 @@ public abstract class AbstractComponentM
             acm.changeState( Disabled.getInstance() );
         }
 
-        void dispose( AbstractComponentManager acm )
+        void dispose( AbstractComponentManager acm, int reason )
         {
-            doDeactivate( acm, ComponentConstants.DEACTIVATION_REASON_DISPOSED );
+            doDeactivate( acm, reason );
             doDisable(acm);
             acm.clear();   //content of Disabled.dispose
             acm.changeState( Disposed.getInstance() );
@@ -1620,7 +1620,7 @@ public abstract class AbstractComponentM
             throw new IllegalStateException( "disable: " + this );
         }
 
-        void dispose( AbstractComponentManager acm )
+        void dispose( AbstractComponentManager acm, int reason )
         {
             //factory instance can have dispose called with no effect. 112.5.5
         }
@@ -1636,13 +1636,13 @@ public abstract class AbstractComponentM
         boolean tryReadLock( long milliseconds ) throws InterruptedException;
         long getReadHoldCount();
         void unlockReadLock();
-        
+
         boolean tryWriteLock( long milliseconds ) throws InterruptedException;
         long getWriteHoldCount();
         void unlockWriteLock();
         void deescalate();
 
-        
+
     }
 
     private static class JLock implements LockWrapper