[jboss-osgi-commits] JBoss-OSGI SVN: r92607 - in projects/jboss-osgi: projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal and 10 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Thu Aug 20 08:03:27 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-08-20 08:03:26 -0400 (Thu, 20 Aug 2009)
New Revision: 92607

Added:
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkBootstrapProvider.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-framework.xml
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/services/
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider
   projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/
   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-framework.xml
   projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/services/
   projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider
Removed:
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/bootstrap.xml
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/jboss-osgi-framework.xml
   projects/jboss-osgi/trunk/testsuite/example/src/test/resources/org.jboss.osgi.spi.framework.OSGiBootstrapProvider
Modified:
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/OSGiBootstrap.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/PropertiesBootstrapProvider.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
   projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/util/ServiceLoader.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkFactoryImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryPluginImpl.java
   projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/java/org/jboss/test/osgi/jbossmc/simple/BundleInstallTestCase.java
Log:
Add FrameworkBootstrapProvider

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/OSGiBootstrap.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/OSGiBootstrap.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/OSGiBootstrap.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -26,7 +26,6 @@
 import static org.jboss.osgi.spi.Constants.OSGI_HOME;
 import static org.jboss.osgi.spi.Constants.OSGI_SERVER_HOME;
 
-import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -35,11 +34,13 @@
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Enumeration;
+import java.util.List;
 import java.util.Properties;
 
 import org.jboss.logging.Logger;
 import org.jboss.osgi.spi.service.DeploymentScannerService;
 import org.jboss.osgi.spi.service.DeploymentScannerService.ScanListener;
+import org.jboss.osgi.spi.util.ServiceLoader;
 import org.kohsuke.args4j.CmdLineException;
 import org.kohsuke.args4j.CmdLineParser;
 import org.kohsuke.args4j.Option;
@@ -158,49 +159,31 @@
    }
 
    /*
-    * * Get an instance of an OSGiBootstrapProvider.
+    * Get an instance of an OSGiBootstrapProvider.
     */
    public static OSGiBootstrapProvider getBootstrapProvider()
    {
-      OSGiBootstrapProvider provider;
+      OSGiBootstrapProvider provider = null;
 
-      // Get the provider name from the System property
-      String providerName = System.getProperty(OSGiBootstrapProvider.class.getName());
-
-      // Get the provider name from the resource file
-      if (providerName == null)
+      List<OSGiBootstrapProvider> providers = ServiceLoader.loadServices(OSGiBootstrapProvider.class);
+      for (OSGiBootstrapProvider aux : providers)
       {
-         ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
-         URL providerURL = ctxLoader.getResource(OSGiBootstrapProvider.class.getName());
-         if (providerURL == null)
-            throw new IllegalStateException("Cannot find resource: " + OSGiBootstrapProvider.class.getName());
-
          try
          {
-            providerName = new BufferedReader(new InputStreamReader(providerURL.openStream())).readLine();
+            aux.configure();
+            provider = aux;
+            break;
          }
-         catch (Exception e)
+         catch (Exception ex)
          {
-            throw new IllegalStateException("Cannot read bootstrap provider name from: " + providerURL);
+            Logger tmplog = Logger.getLogger(OSGiBootstrap.class);
+            tmplog.debug("Cannot configure [" + aux.getClass().getName() + "], cause: " + ex);
          }
       }
 
-      // Verify that we have a provider name
-      if (providerName == null)
+      if (provider == null)
          throw new IllegalStateException("Cannot obtain bootstrap provider");
 
-      // Load the bootstrap provider
-      try
-      {
-         ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
-         Class<?> providerClass = ctxLoader.loadClass(providerName);
-         provider = (OSGiBootstrapProvider)providerClass.newInstance();
-      }
-      catch (Exception e)
-      {
-         throw new IllegalStateException("Cannot load bootstrap provider: " + providerName);
-      }
-
       return provider;
    }
 

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/PropertiesBootstrapProvider.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/PropertiesBootstrapProvider.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/framework/PropertiesBootstrapProvider.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -59,7 +59,6 @@
  * The PropertiesBootstrapProvider supports the following properties
  * 
  * <ul>
- * <li><b>org.jboss.osgi.spi.framework.impl</b> - The OSGiFramework implementation</li>
  * <li><b>org.jboss.osgi.spi.framework.autoInstall</b> - Bundles that need to be installed with the Framework automatically</li>
  * <li><b>org.jboss.osgi.spi.framework.autoStart</b> - Bundles that need to be started automatically</li>
  * </ul>
@@ -67,9 +66,6 @@
  * All other properties are passed on to configure the framework.
  * 
  * <pre>
- *    # The OSGiFramework implementation 
- *    org.jboss.osgi.spi.framework.impl=org.jboss.osgi.felix.framework.FelixIntegration
- *    
  *    # Properties to configure the Framework
  *    org.osgi.framework.storage.clean=onFirstInit
  *    org.osgi.framework.system.packages=\
@@ -123,7 +119,7 @@
 
    public void configure()
    {
-      configure(DEFAULT_OSGI_FRAMEWORK_PROPERTIES);
+      configure(System.getProperty(OSGI_FRAMEWORK_CONFIG, DEFAULT_OSGI_FRAMEWORK_PROPERTIES));
    }
 
    public void configure(URL urlConfig)

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -68,12 +68,22 @@
       String symbolicName = getManifestEntry(location, Constants.BUNDLE_SYMBOLICNAME);
       String version = getManifestEntry(location, Constants.BUNDLE_VERSION);
       
+      OSGiBundle bundle;
+      
+      BundleContext context = getBundleContext();
       URL bundleURL = getTestHelper().getTestArchiveURL(location);
-      ServiceReference sref = getBundleContext().getServiceReference(DeployerService.class.getName());
-      DeployerService service = (DeployerService)getBundleContext().getService(sref);
-      service.deploy(bundleURL);
-      
-      OSGiBundle bundle = getBundle(symbolicName, version);
+      ServiceReference sref = context.getServiceReference(DeployerService.class.getName());
+      if (sref != null)
+      {
+         DeployerService service = (DeployerService)context.getService(sref);
+         service.deploy(bundleURL);
+         bundle = getBundle(symbolicName, version);
+      }
+      else
+      {
+         Bundle auxBundle = context.installBundle(bundleURL.toExternalForm());
+         bundle = new EmbeddedBundle(this, auxBundle);
+      }
       return registerBundle(location, bundle);
    }
 

Modified: projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/util/ServiceLoader.java
===================================================================
--- projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/util/ServiceLoader.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/projects/spi/trunk/src/main/java/org/jboss/osgi/spi/util/ServiceLoader.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -22,50 +22,89 @@
 package org.jboss.osgi.spi.util;
 
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
 
+import org.jboss.logging.Logger;
+
 /**
- * Loads a service from the requesters classpath.
+ * Loads service implementations from the requesters classpath.
  * 
  * @author Thomas.Diesler at jboss.com
  * @since 14-Dec-2006
  */
 public abstract class ServiceLoader
 {
+   // Provide logging
+   final static Logger log = Logger.getLogger(ServiceLoader.class);
+   
    /**
-    * Loads the requested service from META-INF/services/${serviceClass}
+    * Loads a list of service implementations defined in META-INF/services/${serviceClass}
     */
    @SuppressWarnings("unchecked")
-   public static <T> T loadService(Class<T> serviceClass)
+   public static <T> List<T> loadServices(Class<T> serviceClass)
    {
-      T factory = null;
-      String factoryName = null;
+      List<T> services = new ArrayList<T>();
       ClassLoader loader = serviceClass.getClassLoader();
-
+      
       // Use the Services API (as detailed in the JAR specification), if available, to determine the classname.
       String filename = "META-INF/services/" + serviceClass.getName();
       InputStream inStream = loader.getResourceAsStream(filename);
+      if (inStream == null)
+         log.debug ("Cannot find resource: " + filename);
+      
       if (inStream != null)
       {
          try
          {
             BufferedReader br = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
-            factoryName = br.readLine();
-            br.close();
-            if (factoryName != null)
+            String implClassName = br.readLine();
+            while(implClassName != null)
             {
-               factoryName = factoryName.trim();
-               Class<T> factoryClass = (Class<T>)loader.loadClass(factoryName);
-               factory = factoryClass.newInstance();
+               int hashIndex = implClassName.indexOf("#");
+               if (hashIndex > 0)
+                  implClassName = implClassName.substring(0, hashIndex);
+               
+               implClassName = implClassName.trim();
+               
+               if (implClassName.length() > 0)
+               {
+                  try
+                  {
+                     Class<T> implClass = (Class<T>)loader.loadClass(implClassName);
+                     services.add(implClass.newInstance());
+                  }
+                  catch (Exception ex)
+                  {
+                     log.debug ("Cannot load service: " + implClassName);
+                  }
+               }
+               
+               implClassName = br.readLine();
             }
+            br.close();
          }
-         catch (Throwable t)
+         catch (IOException ex)
          {
-            throw new IllegalStateException("Failed to load " + serviceClass.getName() + ": " + factoryName, t);
+            throw new IllegalStateException("Failed to load services for: " + serviceClass.getName());
          }
       }
       
-      return factory;
+      if (services.size() == 0)
+         throw new IllegalStateException("Failed to load services for: " + serviceClass.getName());
+      
+      return services;
    }
+
+   /**
+    * Loads the first of a list of service implementations defined in META-INF/services/${serviceClass}
+    */
+   public static <T> T loadService(Class<T> serviceClass)
+   {
+      List<T> services = loadServices(serviceClass);
+      return services.get(0); 
+   }
 }

Added: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkBootstrapProvider.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkBootstrapProvider.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkBootstrapProvider.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,73 @@
+/*
+ * 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.jbossmc.framework;
+
+//$Id: FrameworkFactoryBean.java 92605 2009-08-20 10:29:21Z thomas.diesler at jboss.com $
+
+import java.io.InputStream;
+import java.net.URL;
+
+import org.jboss.logging.Logger;
+import org.jboss.osgi.spi.framework.OSGiBootstrapProvider;
+import org.jboss.osgi.spi.util.ServiceLoader;
+import org.osgi.framework.launch.Framework;
+import org.osgi.framework.launch.FrameworkFactory;
+
+/**
+ * An implementation of a OSGiBootstrapProvider. 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 29-Jul-2009
+ */
+public class FrameworkBootstrapProvider implements OSGiBootstrapProvider
+{
+   // Provide logging
+   final Logger log = Logger.getLogger(FrameworkBootstrapProvider.class);
+
+   private Framework framework;
+   
+   public void configure()
+   {
+      FrameworkFactory factory = ServiceLoader.loadService(FrameworkFactory.class);
+      framework = factory.newFramework(null);
+   }
+
+   public void configure(URL urlConfig)
+   {
+      configure();
+   }
+
+   public void configure(String resourceConfig)
+   {
+      configure();
+   }
+
+   public void configure(InputStream streamConfig)
+   {
+      configure();
+   }
+
+   public Framework getFramework()
+   {
+      return framework;
+   }
+}
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkFactoryImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkFactoryImpl.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkFactoryImpl.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -46,12 +46,15 @@
    // Provide logging
    final Logger log = Logger.getLogger(FrameworkFactoryImpl.class);
 
+   private static final String BOOTSTRAP_NAME = "jboss-osgi-bootstrap.xml";
+   
    @SuppressWarnings("unchecked")
    public Framework newFramework(Map configuration)
    {
       // Create a configuration
       MCServerConfig config = new BasicMCServerConfig();
       config.bootstrapHome(getBootstrapHome());
+      config.bootstrapName(BOOTSTRAP_NAME);
       
       // Create the server
       final MCServer server = new MCServerImpl(config);
@@ -91,6 +94,6 @@
    private URL getBootstrapUrl()
    {
       ClassLoader cl = getClass().getClassLoader();
-      return cl.getResource("META-INF/bootstrap.xml");
+      return cl.getResource("META-INF/" + BOOTSTRAP_NAME);
    }
 }
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkImpl.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/FrameworkImpl.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -113,7 +113,7 @@
       {
          if (AbstractPlugin.class.isAssignableFrom(interf))
          {
-            log.debug("Plugin: [" + interf.getName() + "=" + clazz.getName() + "]");
+            log.debug("Add plugin: " + clazz.getName());
             plugins.put(interf, plugin);
          }
       }

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryPluginImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryPluginImpl.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/java/org/jboss/osgi/jbossmc/framework/ServiceRegistryPluginImpl.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -190,6 +190,9 @@
 
    public Object getService(Bundle bundle, ServiceReference sref)
    {
+      if (sref == null)
+         throw new IllegalArgumentException("Cannot get service for null reference");
+      
       ServiceReferenceImpl srefImpl = (ServiceReferenceImpl)sref;
       
       // If the service has been unregistered, null is returned.
@@ -221,6 +224,9 @@
    
    public boolean ungetService(Bundle bundle, ServiceReference sref)
    {
+      if (sref == null)
+         throw new IllegalArgumentException("Cannot unget service for null reference");
+      
       ServiceReferenceImpl srefImpl = (ServiceReferenceImpl)sref;
       
       // 1. If the context bundle's use count for the service is zero or the service has been unregistered, false is returned.

Deleted: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/bootstrap.xml
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/bootstrap.xml	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/bootstrap.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<bootstrap xmlns="urn:jboss:bootstrap:1.0">
-
-  <url>jboss-osgi-framework.xml</url>
-
-</bootstrap>

Deleted: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/jboss-osgi-framework.xml
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/jboss-osgi-framework.xml	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/jboss-osgi-framework.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  $Id$
--->
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-  <!-- 
-  ********************************
-  *                              *  
-  *  Framework                   *
-  *                              *
-  ********************************
-  -->
-
-  <!-- The OSGi Framework Factory -->
-  <bean name="jboss.osgi:service=FrameworkFactory" class="org.jboss.osgi.jbossmc.framework.FrameworkFactoryBean">
-    <property name="kernel"><inject bean="jboss.kernel:service=Kernel" /></property>
-    <property name="properties">
-      <map keyClass="java.lang.String" valueClass="java.lang.String">
-        <entry><key>org.osgi.framework.storage</key><value>${log4j.output.dir}/osgi-store</value></entry>
-        <entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
-      </map>
-    </property>
-    <property name="plugins">
-      <list elementClass="org.jboss.osgi.jbossmc.api.AbstractPlugin">
-        <inject bean="jboss.osgi:plugin=ClassLoaderFactory"/>
-      </list>
-    </property>
-    <property name="autoInstall">
-     <list elementClass="java.net.URL">
-     </list>
-    </property>
-    <property name="autoStart">
-     <list elementClass="java.net.URL">
-     </list>
-    </property>
-  </bean>
-
-  <!-- 
-  ********************************
-  *                              *  
-  *  Framework Plugins           *
-  *                              *
-  ********************************
-  -->
-
-  <bean name="jboss.osgi:plugin=ClassLoaderFactory" class="org.jboss.osgi.jbossmc.framework.ClassLoaderFactoryPluginImpl"/>
-  
-</deployment>
\ No newline at end of file

Modified: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/java/org/jboss/test/osgi/jbossmc/simple/BundleInstallTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/java/org/jboss/test/osgi/jbossmc/simple/BundleInstallTestCase.java	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/java/org/jboss/test/osgi/jbossmc/simple/BundleInstallTestCase.java	2009-08-20 12:03:26 UTC (rev 92607)
@@ -45,13 +45,13 @@
 {
    private static OSGiRuntime runtime;
    
-   //@BeforeClass
+   @BeforeClass
    public static void beforeClass() throws BundleException
    {
       runtime = new OSGiTestHelper().getDefaultRuntime();
    }
    
-   //@AfterClass
+   @AfterClass
    public static void afterClass() throws BundleException
    {
       if (runtime != null)
@@ -59,7 +59,6 @@
    }
    
    @Test
-   @Ignore
    public void testBundleInstall() throws Exception
    {
       OSGiBundle bundle = runtime.installBundle("simple-bundle.jar");

Copied: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-bootstrap.xml (from rev 92602, projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/bootstrap.xml)
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-bootstrap.xml	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-bootstrap.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bootstrap xmlns="urn:jboss:bootstrap:1.0">
+
+  <url>jboss-osgi-framework.xml</url>
+
+</bootstrap>

Copied: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-framework.xml (from rev 92605, projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/main/resources/META-INF/jboss-osgi-framework.xml)
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-framework.xml	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/jboss-osgi-framework.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  $Id$
+-->
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+  ********************************
+  *                              *  
+  *  Framework                   *
+  *                              *
+  ********************************
+  -->
+
+  <!-- The OSGi Framework Factory -->
+  <bean name="jboss.osgi:service=FrameworkFactory" class="org.jboss.osgi.jbossmc.framework.FrameworkFactoryBean">
+    <property name="kernel"><inject bean="jboss.kernel:service=Kernel" /></property>
+    <property name="properties">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>org.osgi.framework.storage</key><value>${log4j.output.dir}/osgi-store</value></entry>
+        <entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
+      </map>
+    </property>
+    <property name="plugins">
+      <list elementClass="org.jboss.osgi.jbossmc.api.AbstractPlugin">
+        <inject bean="jboss.osgi:plugin=ClassLoaderFactory"/>
+      </list>
+    </property>
+    <property name="autoInstall">
+     <list elementClass="java.net.URL">
+     </list>
+    </property>
+    <property name="autoStart">
+     <list elementClass="java.net.URL">
+     </list>
+    </property>
+  </bean>
+
+  <!-- 
+  ********************************
+  *                              *  
+  *  Framework Plugins           *
+  *                              *
+  ********************************
+  -->
+
+  <bean name="jboss.osgi:plugin=ClassLoaderFactory" class="org.jboss.osgi.jbossmc.framework.ClassLoaderFactoryPluginImpl"/>
+  
+</deployment>
\ No newline at end of file

Added: projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider
===================================================================
--- projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	                        (rev 0)
+++ projects/jboss-osgi/trunk/reactor/runtime/jbossmc/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1 @@
+org.jboss.osgi.jbossmc.framework.FrameworkBootstrapProvider
\ No newline at end of file

Added: 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	                        (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bootstrap xmlns="urn:jboss:bootstrap:1.0">
+
+  <url>jboss-osgi-framework.xml</url>
+
+</bootstrap>

Added: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-framework.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-framework.xml	                        (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-framework.xml	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  $Id: jboss-osgi-framework.xml 92605 2009-08-20 10:29:21Z thomas.diesler at jboss.com $
+-->
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+  <!-- 
+  ********************************
+  *                              *  
+  *  Framework                   *
+  *                              *
+  ********************************
+  -->
+
+  <!-- The OSGi Framework Factory -->
+  <bean name="jboss.osgi:service=FrameworkFactory" class="org.jboss.osgi.jbossmc.framework.FrameworkFactoryBean">
+    <property name="kernel"><inject bean="jboss.kernel:service=Kernel" /></property>
+    <property name="properties">
+      <map keyClass="java.lang.String" valueClass="java.lang.String">
+        <entry><key>org.osgi.framework.storage</key><value>${log4j.output.dir}/osgi-store</value></entry>
+        <entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
+      </map>
+    </property>
+    <property name="plugins">
+      <list elementClass="org.jboss.osgi.jbossmc.api.AbstractPlugin">
+        <inject bean="jboss.osgi:plugin=ClassLoaderFactory"/>
+      </list>
+    </property>
+    <property name="autoInstall">
+     <list elementClass="java.net.URL">
+     </list>
+    </property>
+    <property name="autoStart">
+     <list elementClass="java.net.URL">
+     </list>
+    </property>
+  </bean>
+
+  <!-- 
+  ********************************
+  *                              *  
+  *  Framework Plugins           *
+  *                              *
+  ********************************
+  -->
+
+  <bean name="jboss.osgi:plugin=ClassLoaderFactory" class="org.jboss.osgi.jbossmc.framework.ClassLoaderFactoryPluginImpl"/>
+  
+</deployment>
\ No newline at end of file

Copied: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider (from rev 92602, projects/jboss-osgi/trunk/testsuite/example/src/test/resources/org.jboss.osgi.spi.framework.OSGiBootstrapProvider)
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	                        (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/services/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	2009-08-20 12:03:26 UTC (rev 92607)
@@ -0,0 +1,2 @@
+org.jboss.osgi.spi.framework.PropertiesBootstrapProvider
+org.jboss.osgi.jbossmc.framework.FrameworkBootstrapProvider
\ No newline at end of file

Deleted: projects/jboss-osgi/trunk/testsuite/example/src/test/resources/org.jboss.osgi.spi.framework.OSGiBootstrapProvider
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/resources/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	2009-08-20 11:43:14 UTC (rev 92606)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/org.jboss.osgi.spi.framework.OSGiBootstrapProvider	2009-08-20 12:03:26 UTC (rev 92607)
@@ -1 +0,0 @@
-org.jboss.osgi.spi.framework.PropertiesBootstrapProvider
\ No newline at end of file



More information about the jboss-osgi-commits mailing list