geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gno...@apache.org
Subject svn commit: r784096 - /geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java
Date Fri, 12 Jun 2009 12:31:58 GMT
Author: gnodet
Date: Fri Jun 12 12:31:58 2009
New Revision: 784096

URL: http://svn.apache.org/viewvc?rev=784096&view=rev
Log:
Check lazy bundles when the extender is started

Modified:
    geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java

Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java?rev=784096&r1=784095&r2=784096&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java
(original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/BlueprintExtender.java
Fri Jun 12 12:31:58 2009
@@ -37,6 +37,7 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.osgi.framework.SynchronousBundleListener;
+import org.osgi.framework.Constants;
 import org.osgi.service.blueprint.container.BlueprintContainer;
 import org.osgi.service.blueprint.container.BlueprintEvent;
 import org.slf4j.Logger;
@@ -71,9 +72,15 @@
 
         Bundle[] bundles = context.getBundles();
         for (Bundle b : bundles) {
-            // TODO: need to check lazy bundles in STARTING state
+            // If the bundle is active, check it
             if (b.getState() == Bundle.ACTIVE) {
                 checkBundle(b);
+            // Also check bundles in the starting state with a lazy activation policy
+            } else if (b.getState() == Bundle.STARTING) {
+                String activationPolicyHeader = (String) b.getHeaders().get(Constants.BUNDLE_ACTIVATIONPOLICY);
+                if (activationPolicyHeader != null && activationPolicyHeader.startsWith(Constants.ACTIVATION_LAZY))
{
+                    checkBundle(b);
+                }
             }
         }
         LOGGER.debug("Blueprint extender started");
@@ -123,8 +130,7 @@
         LOGGER.debug("Scanning bundle {} for blueprint application", bundle.getSymbolicName());
         try {
             List<URL> urls = new ArrayList<URL>();
-            Dictionary headers = bundle.getHeaders();
-            String blueprintHeader = (String) headers.get(BlueprintConstants.BUNDLE_BLUEPRINT_HEADER);
+            String blueprintHeader = (String) bundle.getHeaders().get(BlueprintConstants.BUNDLE_BLUEPRINT_HEADER);
             if (blueprintHeader == null) {
                 blueprintHeader = "OSGI-INF/blueprint/";
             }



Mime
View raw message