[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