FELIX-4070 remove ungetService state method
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1486751 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 e98ca54..9bb7341 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
@@ -1307,12 +1307,6 @@
return m_state;
}
- void ungetService( ImmediateComponentManager dcm )
- {
- throw new IllegalStateException("ungetService" + this);
- }
-
-
void enable( AbstractComponentManager acm )
{
log( acm, "enable" );
@@ -1429,11 +1423,6 @@
doDeactivate( acm, reason, disable );
}
- void ungetService( ImmediateComponentManager dcm )
- {
- //do nothing, deactivate will unget all the services.
- }
-
void dispose( AbstractComponentManager acm, int reason )
{
acm.log( LogService.LOG_DEBUG, "Disposing component (reason: {0})", new Object[] { REASONS[ reason ] }, null );
@@ -1562,11 +1551,6 @@
acm.changeState( Disposed.getInstance() );
}
- void ungetService( ImmediateComponentManager dcm )
- {
- //do nothing. This can arise if component is deactivated concurrently with ungetService on a delayed component.
- }
-
}
protected static abstract class Satisfied extends State
@@ -1635,15 +1619,6 @@
return m_inst;
}
-
- void ungetService( ImmediateComponentManager dcm )
- {
- dcm.deleteComponent( ComponentConstants.DEACTIVATION_REASON_UNSPECIFIED );
- if ( dcm.enabled )
- {
- dcm.changeState( Registered.getInstance() );
- }
- }
}
/**
@@ -1668,10 +1643,6 @@
return m_inst;
}
- void ungetService( ImmediateComponentManager dcm )
- {
- //do nothing. This can arise if component is deactivated concurrently with ungetService on a delayed component.
- }
}
/**
@@ -1722,12 +1693,6 @@
return m_inst;
}
- void ungetService( ImmediateComponentManager dcm )
- {
- dcm.deleteComponent( ComponentConstants.DEACTIVATION_REASON_UNSPECIFIED );
- dcm.changeState( Registered.getInstance() );
- }
-
void deactivate( AbstractComponentManager acm, int reason, boolean disable )
{
acm.disposeInternal( reason );
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
index edb4a77..d7ebc3e 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
@@ -837,7 +837,7 @@
{
if ( m_useCount.get() == 0 )
{
- Active.getInstance().ungetService( this );
+ ungetService( );
unsetDependenciesCollected();
}
}
@@ -849,6 +849,15 @@
}
}
+ void ungetService( )
+ {
+ deleteComponent( ComponentConstants.DEACTIVATION_REASON_UNSPECIFIED );
+ if ( isEnabled() )
+ {
+ changeState( Registered.getInstance() );
+ }
+ }
+
private boolean keepInstances()
{
return getActivator() != null && getActivator().getConfiguration().keepInstances();