[jboss-cvs] JBossAS SVN: r96299 - in projects/jboss-osgi/trunk: distribution/installer/src/main/resources/runtime/server/conf and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 12 02:03:28 EST 2009


Author: thomas.diesler at jboss.com
Date: 2009-11-12 02:03:28 -0500 (Thu, 12 Nov 2009)
New Revision: 96299

Added:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/WebXMLVerifierInterceptor.java
Removed:
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/WebXMLVerifierInterceptor.java
Modified:
   projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml
   projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap.xml
   projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/AbstractBundleState.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
   projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java
   projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppNegativeTestCase.java
   projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
Log:
Restore PROPERTY_AUTO_START which is (currently) required for AS integration.
Fix bean based LifecycleInterceptor installation  

Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml	2009-11-12 07:03:28 UTC (rev 96299)
@@ -132,7 +132,6 @@
   </bean>
   <bean name="LifecycleInterceptorService" class="org.jboss.osgi.framework.service.internal.LifecycleInterceptorServiceImpl">
     <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
-    <incallback method="addBootstrapInterceptor" />
   </bean>
   
   <!-- 
@@ -155,7 +154,9 @@
   ********************************
   -->
   
-  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.deployers.WebXMLVerifierInterceptor"/>
+  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.service.internal.WebXMLVerifierInterceptor">
+    <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+  </bean>
   
   <!--
   ********************************

Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap.xml	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap.xml	2009-11-12 07:03:28 UTC (rev 96299)
@@ -125,7 +125,6 @@
   </bean>
   <bean name="LifecycleInterceptorService" class="org.jboss.osgi.framework.service.internal.LifecycleInterceptorServiceImpl">
     <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
-    <incallback method="addBootstrapInterceptor" />
   </bean>
   
   <!--
@@ -136,7 +135,9 @@
   ********************************
   -->
   
-  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.deployers.WebXMLVerifierInterceptor"/>
+  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.service.internal.WebXMLVerifierInterceptor">
+    <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+  </bean>
   
   <!--
   ********************************

Modified: projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/reactor/deployment/src/main/java/org/jboss/osgi/deployment/internal/LifecycleInterceptorServiceImpl.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -53,18 +53,7 @@
       return super.getInterceptorChain();
    }
 
-   protected void addBootstrapInterceptor(LifecycleInterceptor interceptor)
-   {
-      super.addInterceptor(interceptor);
-   }
-
    @Override
-   protected void removeInterceptor(LifecycleInterceptor interceptor)
-   {
-      super.removeInterceptor(interceptor);
-   }
-
-   @Override
    protected InvocationContext getInvocationContext(Bundle bundle)
    {
       DeploymentRegistryService service = getDeploymentRegistryService();

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/AbstractBundleState.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/AbstractBundleState.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/AbstractBundleState.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -569,6 +569,11 @@
       plugin.removeFrameworkListener(this, listener);
    }
 
+   public Bundle installBundle(String location) throws BundleException
+   {
+      return installBundle(location, null);
+   }
+
    public Bundle installBundle(String location, InputStream input) throws BundleException
    {
       checkValidBundleContext();
@@ -578,11 +583,6 @@
       return bundleState.getBundleInternal();
    }
 
-   public Bundle installBundle(String location) throws BundleException
-   {
-      return installBundle(location, null);
-   }
-
    public Bundle installBundle(VirtualFile root) throws BundleException
    {
       checkValidBundleContext();

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -21,6 +21,8 @@
 */
 package org.jboss.osgi.framework.bundle;
 
+import static org.jboss.osgi.spi.OSGiConstants.PROPERTY_AUTO_START;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -337,25 +339,46 @@
       Class<?> clazz = plugin.getClass();
       if (addPlugin(plugin, clazz) == false)
       {
-         Class<?> superclass = clazz.getSuperclass();
-         if (Plugin.class.isAssignableFrom(superclass))
-            addPlugin(plugin, superclass);
+         // If the plugin could not be added by Interface, use the clazz directly
+         log.debug("Add plugin: " + clazz.getName());
+         plugins.put(clazz, plugin);
       }
+
+      // In case a service plugin gets added after the framework is started
+      boolean isFrameworkActive = systemBundle.getState() == Bundle.ACTIVE;
+      if (isFrameworkActive == true && plugin instanceof ServicePlugin)
+      {
+         ServicePlugin servicePlugin = (ServicePlugin)plugin;
+         servicePlugin.startService();
+      }
    }
 
+   /**
+    * Add a plugin by scanning the interfaces for the given clazz.
+    * The plugin is added with the key of the first interface that extends Plugin.
+    */
    private boolean addPlugin(Plugin plugin, Class<?> clazz)
    {
-      boolean pluginAdded = false;
+      // Scan the interfaces on the class
       for (Class<?> interf : clazz.getInterfaces())
       {
+         if (interf == Plugin.class || interf == ServicePlugin.class)
+            continue;
+
          if (Plugin.class.isAssignableFrom(interf))
          {
-            log.debug("Add plugin: " + plugin.getClass().getName());
+            log.debug("Add plugin: " + interf.getName());
             plugins.put(interf, plugin);
-            pluginAdded = true;
+            return true;
          }
       }
-      return pluginAdded;
+
+      // Interface not found, try the plugin's superclass 
+      Class<?> superclass = clazz.getSuperclass();
+      if (Plugin.class.isAssignableFrom(superclass))
+         return addPlugin(plugin, superclass);
+
+      return false;
    }
 
    /**
@@ -399,7 +422,7 @@
    {
       if (url == null)
          throw new BundleException("Null url");
-      
+
       return installBundle(url.toExternalForm(), null);
    }
 
@@ -417,7 +440,7 @@
          throw new BundleException("Null location");
 
       URL locationURL;
-      
+
       // Get the location URL
       if (input != null)
       {
@@ -485,6 +508,7 @@
          VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
          MutableAttachments att = (MutableAttachments)deployment.getPredeterminedManagedObjects();
          att.addAttachment(PROPERTY_BUNDLE_LOCATION, location);
+         att.addAttachment(PROPERTY_AUTO_START, Boolean.FALSE);
 
          deployerClient.deploy(deployment);
          try
@@ -649,7 +673,7 @@
 
       bundleState.setBundleManager(this);
       bundles.add(bundleState);
-      
+
       // Add the bundle to the resolver
       // [TODO] remove this restriction
       if (bundleState.getBundleId() != 0)
@@ -657,9 +681,9 @@
          ResolverPlugin bundleResolver = getPlugin(ResolverPlugin.class);
          bundleResolver.addBundle(bundleState);
       }
-      
+
       bundleState.changeState(Bundle.INSTALLED);
-      
+
       log.debug("Added: " + bundleState);
    }
 
@@ -688,10 +712,11 @@
             if (other.isSingleton() && metaData.isSingleton())
                throw new IllegalStateException("Cannot install singleton " + bundleState + " another singleton is already installed: " + bundle.getLocation());
             if (other.getBundleVersion().equals(metaData.getBundleVersion()))
-               throw new IllegalStateException("Cannot install " + bundleState + " a bundle with that name and version is already installed: " + bundle.getLocation());
+               throw new IllegalStateException("Cannot install " + bundleState + " a bundle with that name and version is already installed: "
+                     + bundle.getLocation());
          }
       }
-      
+
       List<PackageAttribute> importPackages = metaData.getImportPackages();
       if (importPackages != null && importPackages.isEmpty() == false)
       {
@@ -702,7 +727,7 @@
             if (packages.contains(packageName))
                throw new IllegalStateException("Duplicate import of package " + packageName + " for " + bundleState);
             packages.add(packageName);
-            
+
             if (packageName.startsWith("java."))
                throw new IllegalStateException("Not allowed to import java.* for " + bundleState);
 
@@ -712,7 +737,7 @@
                throw new IllegalStateException(packageName + " version and specification version should be the same for " + bundleState);
          }
       }
-      
+
       List<PackageAttribute> exportPackages = metaData.getExportPackages();
       if (exportPackages != null && exportPackages.isEmpty() == false)
       {
@@ -738,11 +763,11 @@
 
       bundleState.uninstallInternal();
       bundleState.setBundleManager(null);
-      
+
       // Remove the bundle from the resolver
       ResolverPlugin bundleResolver = getPlugin(ResolverPlugin.class);
       bundleResolver.removeBundle(bundleState);
-      
+
       bundles.remove(bundleState);
       log.debug("Removed " + bundleState.getCanonicalName());
    }
@@ -867,7 +892,7 @@
             result = aux;
             break;
          }
-         
+
          // Fallback to the deployment name
          else if (aux instanceof OSGiBundleState)
          {
@@ -970,7 +995,7 @@
          Throwable cause = ex.getCause();
          if (cause instanceof BundleException)
             throw (BundleException)cause;
-         
+
          throw new BundleException("Error starting " + bundleState, (cause != null ? cause : ex));
       }
    }
@@ -1231,8 +1256,8 @@
    public void initFramework()
    {
       // Log INFO about this implementation
-      String implTitle = getClass().getPackage().getImplementationTitle(); 
-      String implVersion = getClass().getPackage().getImplementationVersion(); 
+      String implTitle = getClass().getPackage().getImplementationTitle();
+      String implVersion = getClass().getPackage().getImplementationVersion();
       log.info(implTitle + " - " + implVersion);
 
       int state = systemBundle.getState();

Deleted: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/WebXMLVerifierInterceptor.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/WebXMLVerifierInterceptor.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/WebXMLVerifierInterceptor.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.framework.deployers;
-
-//$Id$
-
-import org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptor;
-import org.jboss.osgi.deployment.interceptor.InvocationContext;
-import org.jboss.osgi.deployment.interceptor.LifecycleInterceptor;
-import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorException;
-import org.jboss.virtual.VirtualFile;
-import org.osgi.framework.Bundle;
-
-/**
- * The lifecycle interceptor that verifies that deployments ending in '.war'
- * have a WEB-INF/web.xml descriptor.
- * 
- * @author thomas.diesler at jboss.com
- * @since 20-Oct-2009
- */
-public class WebXMLVerifierInterceptor extends AbstractLifecycleInterceptor implements LifecycleInterceptor
-{
-   public void invoke(int state, InvocationContext context) throws LifecycleInterceptorException
-   {
-      if (state == Bundle.STARTING)
-      {
-         try
-         {
-            VirtualFile root = context.getRoot();
-            VirtualFile webXML = root.getChild("/WEB-INF/web.xml");
-            if (root.getName().endsWith(".war") && webXML == null)
-               throw new LifecycleInterceptorException("Cannot obtain web.xml from: " + root.toURL());
-         }
-         catch (RuntimeException rte)
-         {
-            throw rte;
-         }
-         catch (Exception ex)
-         {
-            throw new LifecycleInterceptorException("Cannot check for web.xml", ex);
-         }
-      }
-   }
-}
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/LifecycleInterceptorServiceImpl.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -23,14 +23,10 @@
 
 //$Id$
 
-import java.util.HashSet;
-import java.util.Set;
-
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
 import org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptorService;
 import org.jboss.osgi.deployment.interceptor.InvocationContext;
-import org.jboss.osgi.deployment.interceptor.LifecycleInterceptor;
 import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorService;
 import org.jboss.osgi.deployment.internal.InvocationContextImpl;
 import org.jboss.osgi.framework.bundle.OSGiBundleManager;
@@ -53,7 +49,6 @@
    // Provide logging
    final Logger log = Logger.getLogger(LifecycleInterceptorServiceImpl.class);
 
-   private Set<LifecycleInterceptor> bootstrapInterceptors = new HashSet<LifecycleInterceptor>();
    private AbstractLifecycleInterceptorService delegate;
    private ServiceRegistration registration;
 
@@ -88,12 +83,6 @@
          }
       };
 
-      // Add bootstrap interceptors
-      for (LifecycleInterceptor aux : bootstrapInterceptors)
-         sysContext.registerService(LifecycleInterceptor.class.getName(), aux, null);
-      
-      bootstrapInterceptors.clear();
-
       registration = sysContext.registerService(LifecycleInterceptorService.class.getName(), delegate, null);
    }
 
@@ -107,11 +96,6 @@
       }
    }
 
-   public void addBootstrapInterceptor(LifecycleInterceptor interceptor)
-   {
-      bootstrapInterceptors.add(interceptor);
-   }
-
    public void handleStateChange(int state, Bundle bundle)
    {
       if (delegate != null)

Copied: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/WebXMLVerifierInterceptor.java (from rev 96285, projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/deployers/WebXMLVerifierInterceptor.java)
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/WebXMLVerifierInterceptor.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/service/internal/WebXMLVerifierInterceptor.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.framework.service.internal;
+
+//$Id$
+
+import java.util.Set;
+
+import org.jboss.osgi.deployment.interceptor.AbstractLifecycleInterceptor;
+import org.jboss.osgi.deployment.interceptor.InvocationContext;
+import org.jboss.osgi.deployment.interceptor.LifecycleInterceptor;
+import org.jboss.osgi.deployment.interceptor.LifecycleInterceptorException;
+import org.jboss.osgi.framework.bundle.OSGiBundleManager;
+import org.jboss.osgi.framework.plugins.internal.AbstractServicePlugin;
+import org.jboss.virtual.VirtualFile;
+import org.osgi.framework.Bundle;
+
+/**
+ * The lifecycle interceptor that verifies that deployments ending in '.war'
+ * have a WEB-INF/web.xml descriptor.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 20-Oct-2009
+ */
+public class WebXMLVerifierInterceptor extends AbstractServicePlugin implements LifecycleInterceptor
+{
+   private LifecycleInterceptor delegate;
+
+   public WebXMLVerifierInterceptor(OSGiBundleManager bundleManager)
+   {
+      super(bundleManager);
+   }
+
+   public void startService()
+   {
+      delegate = new AbstractLifecycleInterceptor()
+      {
+         public void invoke(int state, InvocationContext context) throws LifecycleInterceptorException
+         {
+            if (state == Bundle.STARTING)
+            {
+               try
+               {
+                  VirtualFile root = context.getRoot();
+                  VirtualFile webXML = root.getChild("/WEB-INF/web.xml");
+                  if (root.getName().endsWith(".war") && webXML == null)
+                     throw new LifecycleInterceptorException("Cannot obtain web.xml from: " + root.toURL());
+               }
+               catch (RuntimeException rte)
+               {
+                  throw rte;
+               }
+               catch (Exception ex)
+               {
+                  throw new LifecycleInterceptorException("Cannot check for web.xml", ex);
+               }
+            }
+         }
+      };
+
+      getSystemContext().registerService(LifecycleInterceptor.class.getName(), delegate, null);
+   }
+
+   public void stopService()
+   {
+      // do nothing
+   }
+
+   public Set<Class<?>> getInput()
+   {
+      return delegate.getInput();
+   }
+
+   public Set<Class<?>> getOutput()
+   {
+      return delegate.getOutput();
+   }
+
+   public int getRelativeOrder()
+   {
+      return delegate.getRelativeOrder();
+   }
+
+   public void invoke(int state, InvocationContext context) throws LifecycleInterceptorException
+   {
+      delegate.invoke(state, context);
+   }
+}
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppNegativeTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppNegativeTestCase.java	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/webapp/WebAppNegativeTestCase.java	2009-11-12 07:03:28 UTC (rev 96299)
@@ -23,6 +23,7 @@
 
 // $Id$
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
@@ -34,6 +35,7 @@
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleException;
 
 /**
@@ -66,6 +68,8 @@
    public void testServletAccess() throws Exception
    {
       OSGiBundle bundle = runtime.installBundle("example-webapp-negative.war");
+      assertEquals(Bundle.INSTALLED, bundle.getState());
+
       try
       {
          bundle.start();

Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml	2009-11-12 06:27:29 UTC (rev 96298)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml	2009-11-12 07:03:28 UTC (rev 96299)
@@ -107,7 +107,6 @@
   </bean>
   <bean name="LifecycleInterceptorService" class="org.jboss.osgi.framework.service.internal.LifecycleInterceptorServiceImpl">
     <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
-    <incallback method="addBootstrapInterceptor" />
   </bean>
   
   <!--
@@ -118,7 +117,9 @@
   ********************************
   -->
   
-  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.deployers.WebXMLVerifierInterceptor"/>
+  <bean name="WebXMLVerifier" class="org.jboss.osgi.framework.service.internal.WebXMLVerifierInterceptor">
+    <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+  </bean>
   
   <!--
   ********************************




More information about the jboss-cvs-commits mailing list