FELIX-3718 deactivate should move any satisfied state to unsatisfied when done
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1399525 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index 7329463..b82d9c4 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -1418,6 +1418,11 @@
// reset the component id now (a disabled component has none)
acm.unregisterComponentId();
}
+
+ public boolean isSatisfied()
+ {
+ return false;
+ }
}
protected static final class Disabled extends State
@@ -1681,7 +1686,7 @@
// component to remain in the deactivating state !
doDeactivate(acm, reason);
- if ( acm.state() == this )
+ if ( acm.state().isSatisfied() )
{
acm.changeState( Unsatisfied.getInstance() );
}
@@ -1702,6 +1707,11 @@
acm.changeState( Disposed.getInstance() );
}
+ @Override
+ public boolean isSatisfied()
+ {
+ return true;
+ }
}
/**