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 2009/10/13 21:00:27 UTC
svn commit: r824884 - in
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl: Activator.java
ComponentActivatorTask.java ComponentRegistry.java ScrCommand.java
Author: fmeschbe
Date: Tue Oct 13 19:00:27 2009
New Revision: 824884
URL: http://svn.apache.org/viewvc?rev=824884&view=rev
Log:
FELIX-1666 add helper method for deciding whether a bundle is considered
active or not. Currently we allow ACTIVE and STARTING states. For the
STARTING state though, we should actually be checking whether the
bundle is really a lazily activated one or not ...
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentActivatorTask.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java?rev=824884&r1=824883&r2=824884&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java Tue Oct 13 19:00:27 2009
@@ -194,7 +194,7 @@
for ( int i = 0; i < bundles.length; i++ )
{
Bundle bundle = bundles[i];
- if ( bundle.getState() == Bundle.ACTIVE )
+ if ( ComponentRegistry.isBundleActive( bundle ) )
{
loadComponents( bundle );
}
@@ -225,7 +225,7 @@
if ( m_componentBundles.containsKey( new Long( bundle.getBundleId() ) ) )
{
log( LogService.LOG_DEBUG, m_context.getBundle(), "Components for bundle " + bundle.getSymbolicName()
- + "/" + bundle.getBundleId() + " already loaded. Nothing to do", null );
+ + "/" + bundle.getBundleId() + " already loaded. Nothing to do.", null );
return;
}
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentActivatorTask.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentActivatorTask.java?rev=824884&r1=824883&r2=824884&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentActivatorTask.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentActivatorTask.java Tue Oct 13 19:00:27 2009
@@ -21,7 +21,6 @@
import org.apache.felix.scr.Component;
import org.apache.felix.scr.impl.manager.AbstractComponentManager;
-import org.osgi.framework.Bundle;
import org.osgi.service.log.LogService;
@@ -58,7 +57,7 @@
Activator.log( LogService.LOG_WARNING, null, "Cannot run task '" + this
+ "': Component has already been destroyed", null );
}
- else if ( component.getBundle().getState() != Bundle.ACTIVE )
+ else if ( !ComponentRegistry.isBundleActive( component.getBundle() ) )
{
Activator.log( LogService.LOG_WARNING, component.getBundle(), "Cannot run task '" + this
+ "': Declaring bundle is not active", null );
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java?rev=824884&r1=824883&r2=824884&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java Tue Oct 13 19:00:27 2009
@@ -324,4 +324,24 @@
return new UnconfiguredComponentHolder( activator, metadata );
}
+
+ //---------- Helper method
+
+ static boolean isBundleActive( Bundle bundle )
+ {
+ if ( bundle.getState() == Bundle.ACTIVE )
+ {
+ return true;
+ }
+
+ if ( bundle.getState() == Bundle.STARTING )
+ {
+ // might want to check lazy start setting
+
+ return true;
+ }
+
+ // fall back: bundle is not considered active
+ return false;
+ }
}
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java?rev=824884&r1=824883&r2=824884&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java Tue Oct 13 19:00:27 2009
@@ -136,7 +136,7 @@
err.println( "Missing bundle with ID " + bundleId );
return;
}
- if ( bundle.getState() == Bundle.ACTIVE || bundle.getState() == Bundle.STARTING )
+ if ( ComponentRegistry.isBundleActive( bundle ) )
{
components = scrService.getComponents( bundle );
if ( components == null )