JBoss-OSGI SVN: r93176 - in projects/jboss-osgi/trunk: .settings and 9 other directories.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-03 11:06:23 -0400 (Thu, 03 Sep 2009)
New Revision: 93176
Added:
projects/jboss-osgi/trunk/.settings/
projects/jboss-osgi/trunk/.settings/org.eclipse.jdt.core.prefs
Modified:
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
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-all.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-default.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-minimal.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-web.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/log4j.xml
projects/jboss-osgi/trunk/pom.xml
projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
projects/jboss-osgi/trunk/testsuite/functional/pom.xml
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi38/OSGI38TestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi39/OSGI39TestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
projects/jboss-osgi/trunk/testsuite/pom.xml
Log:
Update to use OSGiClassLoaderDomain
Added: projects/jboss-osgi/trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/jboss-osgi/trunk/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/jboss-osgi/trunk/.settings/org.eclipse.jdt.core.prefs 2009-09-03 15:06:23 UTC (rev 93176)
@@ -0,0 +1,5 @@
+#Thu Sep 03 16:29:35 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -76,6 +76,10 @@
<name>jbossSelection</name>
<value>jboss600</value>
</condition>
+ <condition type="variable" id="isServerMinimal">
+ <name>jbossTargetServer</name>
+ <value>minimal</value>
+ </condition>
</conditions>
<!-- Panels -->
@@ -326,12 +330,17 @@
</fileset>
<!-- deploy/osgi -->
- <fileset dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/osgi" override="true">
+ <fileset condition="isServerMinimal" dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/osgi" override="true">
+ <include name="jboss-osgi-common.jar" />
+ <include name="org.apache.felix.log.jar" />
+ </fileset>
+ <fileset condition="!isServerMinimal" dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/osgi" override="true">
<include name="jboss-osgi-apache-xerces.jar" />
<include name="jboss-osgi-blueprint.jar" />
<include name="jboss-osgi-common.jar" />
<include name="jboss-osgi-jaxb.jar" />
<include name="jboss-osgi-webconsole.jar" />
+ <include name="jboss-osgi-xml-binding.jar" />
<include name="org.apache.felix.http.jetty.jar" />
<include name="org.apache.felix.log.jar" />
</fileset>
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-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -1,5 +1,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- $Id: $ -->
+
<!--
********************************
* *
@@ -17,12 +19,6 @@
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry><key>org.osgi.framework.storage</key><value>${jboss.server.data.dir}/data/osgi-store</value></entry>
<entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
- <entry><key>org.osgi.framework.system.packages</key><value>
- javax.management,
- org.jboss.logging;version=2.0,
- org.osgi.framework;version=1.4,
- org.osgi.service.startlevel;version=1.1,
- </value></entry>
<entry><key>org.osgi.framework.system.packages.extra</key><value>
org.jboss.beans.metadata.plugins;version=2.0,
@@ -31,6 +27,11 @@
org.jboss.beans.metadata.spi.builder;version=2.0,
org.jboss.dependency.spi;version=2.0,
org.jboss.kernel.spi.dependency;version=2.0,
+ org.jboss.logging,
+ org.jboss.util,
+ org.jboss.util.collection,
+ org.jboss.util.propertyeditor,
+ org.jboss.util.xml,
org.jboss.osgi.spi;version=1.0,
org.jboss.osgi.spi.capability;version=1.0,
@@ -62,6 +63,23 @@
********************************
-->
+ <!-- [JBOSGI-147] Autostart in JBossAS recycle the bundle
+ <bean name="OSGiAutoInstallPlugin" class="org.jboss.osgi.plugins.facade.plugins.AutoInstallPluginImpl">
+ <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <property name="autoInstall">
+ <list elementClass="java.net.URL">
+ <value>${jboss.server.home.dir}/deploy/osgi/org.osgi.compendium.jar</value>
+ </list>
+ </property>
+ <property name="autoStart">
+ <list elementClass="java.net.URL">
+ <value>${jboss.server.home.dir}/deploy/osgi/org.apache.felix.log.jar</value>
+ <value>${jboss.server.home.dir}/deploy/osgi/jboss-osgi-common.jar</value>
+ </list>
+ </property>
+ </bean>
+ -->
+
<bean name="OSGiFrameworkEventsPlugin" class="org.jboss.osgi.plugins.facade.plugins.FrameworkEventsPluginImpl">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
@@ -90,7 +108,7 @@
<property name="autoInstall">true</property>
</bean>
<bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
- <property name="classLoaderSystem"><inject bean="ClassLoaderSystem"/></property>
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
</bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
@@ -102,11 +120,10 @@
********************************
-->
- <!-- ClassLoading
- <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter><inject bean="OSGiBundleManager" /></parameter><parameter>OSGiDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="ClassLoaderSystem"/></property>
</bean>
- -->
<!--
********************************
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-all.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-all.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-all.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -139,7 +139,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -150,10 +152,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -169,7 +174,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-default.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-default.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-default.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -128,7 +128,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -139,10 +141,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -158,7 +163,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-minimal.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-minimal.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-minimal.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -125,7 +125,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -136,10 +138,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -155,7 +160,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-web.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-web.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/jboss-osgi-bootstrap-web.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -139,7 +139,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -150,10 +152,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -169,7 +174,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/log4j.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/log4j.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/runtime/server/conf/log4j.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -32,10 +32,11 @@
<!-- Limit categories -->
<!-- ================ -->
- <!-- Show jboss deployer tracesraces -->
+ <!-- Show jboss deployer traces
<category name="org.jboss.deployers">
<priority value="TRACE" />
</category>
+ -->
<!-- ======================= -->
<!-- Setup the Root category -->
Modified: projects/jboss-osgi/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/pom.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/pom.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -46,7 +46,7 @@
<version.jboss.osgi.blueprint>1.0.0.Beta1</version.jboss.osgi.blueprint>
<version.jboss.osgi.common>1.0.1-SNAPSHOT</version.jboss.osgi.common>
<version.jboss.osgi.common.core>2.2.13-SNAPSHOT</version.jboss.osgi.common.core>
- <version.jboss.osgi.hotdeploy>1.0.0</version.jboss.osgi.hotdeploy>
+ <version.jboss.osgi.hotdeploy>1.0.1-SNAPSHOT</version.jboss.osgi.hotdeploy>
<version.jboss.osgi.husky>1.0.0</version.jboss.osgi.husky>
<version.jboss.osgi.jaxb>2.1.10-SNAPSHOT</version.jboss.osgi.jaxb>
<version.jboss.osgi.jmx>1.0.1-SNAPSHOT</version.jboss.osgi.jmx>
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-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/resources/META-INF/jboss-osgi-bootstrap.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -122,7 +122,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -133,10 +135,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -152,7 +157,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
Modified: projects/jboss-osgi/trunk/testsuite/functional/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/pom.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/functional/pom.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -171,11 +171,17 @@
</plugins>
</build>
</profile>
+
+ <!--
+ Name: framework-jbossmc
+ Descr: Setup for JBossMC framework integration testing
+ -->
<profile>
- <id>framework-default</id>
+ <id>framework-jbossmc</id>
<activation>
<property>
- <name>!framework</name>
+ <name>framework</name>
+ <value>jbossmc</value>
</property>
</activation>
<build>
@@ -185,24 +191,22 @@
<configuration>
<excludes>
<exclude>${target.container.excludes}</exclude>
- <exclude>org/jboss/test/osgi/jbosgi142/**</exclude>
+ <exclude>org/jboss/test/osgi/jbosgi39/**</exclude>
+ <exclude>org/jboss/test/osgi/jbosgi41/**</exclude>
+ <exclude>org/jboss/test/osgi/jbosgi108/**</exclude>
+ <exclude>org/jboss/test/osgi/jbosgi143/**</exclude>
+ <exclude>org/jboss/test/osgi/service/microcontainer/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
-
- <!--
- Name: framework-jbossmc
- Descr: Setup for JBossMC framework integration testing
- -->
<profile>
- <id>framework-jbossmc</id>
+ <id>framework-default</id>
<activation>
<property>
- <name>framework</name>
- <value>jbossmc</value>
+ <name>!framework</name>
</property>
</activation>
<build>
@@ -212,13 +216,11 @@
<configuration>
<excludes>
<exclude>${target.container.excludes}</exclude>
- <exclude>org/jboss/test/osgi/jbosgi38/**</exclude>
<exclude>org/jboss/test/osgi/jbosgi39/**</exclude>
<exclude>org/jboss/test/osgi/jbosgi41/**</exclude>
<exclude>org/jboss/test/osgi/jbosgi108/**</exclude>
<exclude>org/jboss/test/osgi/jbosgi143/**</exclude>
<exclude>org/jboss/test/osgi/service/microcontainer/**</exclude>
- <exclude>org/jboss/test/osgi/service/startlevel/**</exclude>
</excludes>
</configuration>
</plugin>
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi38/OSGI38TestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi38/OSGI38TestCase.java 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi38/OSGI38TestCase.java 2009-09-03 15:06:23 UTC (rev 93176)
@@ -24,6 +24,7 @@
//$Id: OSGI38TestCase.java 87103 2009-04-09 22:18:31Z thomas.diesler(a)jboss.com $
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.jboss.osgi.spi.testing.OSGiBundle;
@@ -58,7 +59,7 @@
try
{
OSGiBundle bundleX = runtime.installBundle("jbosgi38-bundleX.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleX.getState());
+ assertTrue("Bundle installed", bundleX.getState() <= Bundle.RESOLVED);
bundleX.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleX.getState());
@@ -81,10 +82,10 @@
try
{
OSGiBundle bundleX = runtime.installBundle("jbosgi38-bundleX.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleX.getState());
+ assertTrue("Bundle installed", bundleX.getState() <= Bundle.RESOLVED);
OSGiBundle bundleB = runtime.installBundle("jbosgi38-bundleB.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleB.getState());
+ assertTrue("Bundle installed", bundleB.getState() <= Bundle.RESOLVED);
bundleB.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleB.getState());
@@ -108,13 +109,13 @@
try
{
OSGiBundle bundleX = runtime.installBundle("jbosgi38-bundleX.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleX.getState());
+ assertTrue("Bundle installed", bundleX.getState() <= Bundle.RESOLVED);
OSGiBundle bundleB = runtime.installBundle("jbosgi38-bundleB.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleB.getState());
+ assertTrue("Bundle installed", bundleB.getState() <= Bundle.RESOLVED);
OSGiBundle bundleA = runtime.installBundle("jbosgi38-bundleA.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleA.getState());
+ assertTrue("Bundle installed", bundleA.getState() <= Bundle.RESOLVED);
bundleA.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleA.getState());
@@ -152,7 +153,7 @@
}
OSGiBundle bundleX = runtime.installBundle("jbosgi38-bundleX.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleX.getState());
+ assertTrue("Bundle installed", bundleX.getState() <= Bundle.RESOLVED);
bundleB.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleB.getState());
@@ -192,7 +193,7 @@
}
OSGiBundle bundleX = runtime.installBundle("jbosgi38-bundleX.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleX.getState());
+ assertTrue("Bundle installed", bundleX.getState() <= Bundle.RESOLVED);
bundleB.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleB.getState());
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi39/OSGI39TestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi39/OSGI39TestCase.java 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi39/OSGI39TestCase.java 2009-09-03 15:06:23 UTC (rev 93176)
@@ -72,7 +72,7 @@
bundleB.start();
- assertTrue("Bundle resolved", + Bundle.RESOLVED == bundleX.getState() || Bundle.ACTIVE == bundleX.getState());
+ assertTrue("Bundle resolved", bundleX.getState() <= Bundle.ACTIVE);
assertEquals("Bundle active", Bundle.ACTIVE, bundleB.getState());
bundleB.uninstall();
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/resources/META-INF/jboss-osgi-bootstrap.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/resources/META-INF/jboss-osgi-bootstrap.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/resources/META-INF/jboss-osgi-bootstrap.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -18,7 +18,18 @@
<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>
<entry><key>org.osgi.framework.system.packages.extra</key><value>
+ <!-- [JBOSGI-145] JAXB classes are loaded from the system classpath -->
+ com.sun.xml.internal.bind.v2,
+
+ org.jboss.beans.metadata.plugins;version=2.0,
+ org.jboss.beans.metadata.plugins.builder;version=2.0,
+ org.jboss.beans.metadata.spi;version=2.0,
+ org.jboss.beans.metadata.spi.builder;version=2.0,
+ org.jboss.dependency.spi;version=2.0,
+ org.jboss.kernel.spi.dependency;version=2.0,
org.jboss.logging;version=2.0,
+
+ org.jboss.osgi.spi;version=1.0,
org.jboss.osgi.spi.capability;version=1.0,
org.jboss.osgi.spi.framework;version=1.0,
org.jboss.osgi.spi.logging;version=1.0,
@@ -111,7 +122,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -122,10 +135,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -141,7 +157,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
Modified: projects/jboss-osgi/trunk/testsuite/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/testsuite/pom.xml 2009-09-03 15:04:34 UTC (rev 93175)
+++ projects/jboss-osgi/trunk/testsuite/pom.xml 2009-09-03 15:06:23 UTC (rev 93176)
@@ -180,7 +180,7 @@
</property>
</activation>
- <!-- default to jbossmc
+ <!-- default to jbossmc -->
<dependencies>
<dependency>
<groupId>org.jboss.osgi.runtime</groupId>
@@ -189,9 +189,8 @@
<scope>provided</scope>
</dependency>
</dependencies>
- -->
- <!-- default to felix -->
+ <!-- default to felix
<properties>
<jboss.osgi.framework.properties>jboss-osgi-felix.properties</jboss.osgi.framework.properties>
</properties>
@@ -203,6 +202,7 @@
<scope>provided</scope>
</dependency>
</dependencies>
+ -->
</profile>
16 years, 3 months
JBoss-OSGI SVN: r93175 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk: .settings and 2 other directories.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-03 11:04:34 -0400 (Thu, 03 Sep 2009)
New Revision: 93175
Added:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/.settings/org.eclipse.jdt.core.prefs
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/PackageAdminImpl.java
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/.classpath
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleWrapper.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/StartLevelImpl.java
Log:
Add initial PackageAdmin implementation
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/.classpath
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/.classpath 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/.classpath 2009-09-03 15:04:34 UTC (rev 93175)
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="target/generated-sources/javacc"/>
- <classpathentry excluding="**" kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="src" output="target/classes" path="target/generated-sources/javacc"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/.settings/org.eclipse.jdt.core.prefs 2009-09-03 15:04:34 UTC (rev 93175)
@@ -0,0 +1,5 @@
+#Thu Sep 03 16:27:07 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -54,6 +54,7 @@
import org.jboss.osgi.plugins.facade.api.BundleStoragePlugin;
import org.jboss.osgi.plugins.facade.api.FrameworkEventsPlugin;
import org.jboss.osgi.plugins.facade.service.MicrocontainerServiceImpl;
+import org.jboss.osgi.plugins.facade.service.PackageAdminImpl;
import org.jboss.osgi.plugins.facade.service.StartLevelImpl;
import org.jboss.osgi.plugins.filter.NoFilter;
import org.jboss.osgi.plugins.metadata.AbstractOSGiMetaData;
@@ -62,7 +63,6 @@
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
@@ -199,6 +199,14 @@
}
/**
+ * Get the kernel
+ */
+ public Kernel getKernel()
+ {
+ return kernel;
+ }
+
+ /**
* Set the framework properties
*
* @param properties the properties
@@ -636,7 +644,8 @@
{
try
{
- deployerClient.change(bundleState.getDeploymentUnit().getName(), DeploymentStages.CLASSLOADER);
+ String name = bundleState.getDeploymentUnit().getName();
+ deployerClient.change(name, DeploymentStages.CLASSLOADER);
}
catch (DeploymentException e)
{
@@ -882,9 +891,9 @@
systemBundle.createBundleContext();
// Register build-in services
- BundleContext sysContext = systemBundle.getBundleContext();
- new MicrocontainerServiceImpl(kernel, sysContext);
- new StartLevelImpl(sysContext);
+ new MicrocontainerServiceImpl(this);
+ new PackageAdminImpl(this);
+ new StartLevelImpl(this);
// All installed bundles must be started
AutoInstallPlugin autoInstall = getOptionalPlugin(AutoInstallPlugin.class);
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -85,7 +85,7 @@
*
* @return the unit.
*/
- DeploymentUnit getDeploymentUnit()
+ public DeploymentUnit getDeploymentUnit()
{
return unit;
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleWrapper.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleWrapper.java 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleWrapper.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -65,7 +65,7 @@
*
* @return the bundle state
*/
- AbstractBundleState getBundleState()
+ public AbstractBundleState getBundleState()
{
return bundleState;
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/MicrocontainerServiceImpl.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -41,6 +41,7 @@
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
import org.jboss.logging.Logger;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.jboss.osgi.spi.management.MicrocontainerServiceMBean;
import org.jboss.osgi.spi.service.MicrocontainerService;
import org.osgi.framework.BundleContext;
@@ -61,19 +62,17 @@
/** The log */
private static final Logger log = Logger.getLogger(MicrocontainerServiceImpl.class);
- private Kernel kernel;
private BundleContext sysContext;
+ private Kernel kernel;
- public MicrocontainerServiceImpl(Kernel kernel, BundleContext sysContext)
+ public MicrocontainerServiceImpl(OSGiBundleManager bundleManager)
{
- if (kernel == null)
- throw new IllegalArgumentException("Null kernel");
- if (sysContext == null)
- throw new IllegalArgumentException("Null sysContext");
-
- this.kernel = kernel;
- this.sysContext = sysContext;
+ if (bundleManager == null)
+ throw new IllegalArgumentException("Null bundleManager");
+ this.sysContext = bundleManager.getSystemBundle();
+ this.kernel = bundleManager.getKernel();
+
installKernelBean(BEAN_SYSTEM_BUNDLE_CONTEXT, sysContext);
sysContext.registerService(MicrocontainerService.class.getName(), this, null);
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/PackageAdminImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/PackageAdminImpl.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/PackageAdminImpl.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -0,0 +1,228 @@
+/*
+ * 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.plugins.facade.service;
+
+//$Id: StartLevelImpl.java 93118 2009-09-02 08:24:44Z thomas.diesler(a)jboss.com $
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.classloading.plugins.metadata.PackageCapability;
+import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
+import org.jboss.classloading.spi.metadata.Capability;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.osgi.plugins.facade.bundle.AbstractBundleState;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleState;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleWrapper;
+import org.jboss.osgi.spi.NotImplementedException;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Version;
+import org.osgi.service.packageadmin.ExportedPackage;
+import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.service.packageadmin.RequiredBundle;
+
+/**
+ * An implementation of the {@link PackageAdmin}.
+ *
+ * [TODO] Move this service to a plugin and implement properly
+ *
+ * @author thomas.diesler(a)jboss.com
+ * @since 03-Sep-2009
+ */
+public class PackageAdminImpl implements PackageAdmin
+{
+ /** The log */
+ private static final Logger log = Logger.getLogger(PackageAdminImpl.class);
+
+ private OSGiBundleManager bundleManager;
+
+ public PackageAdminImpl(OSGiBundleManager bundleManager)
+ {
+ if (bundleManager == null)
+ throw new IllegalArgumentException("Null bundleManager");
+
+ this.bundleManager = bundleManager;
+
+ BundleContext sysContext = bundleManager.getSystemBundle().getBundleContext();
+ sysContext.registerService(PackageAdmin.class.getName(), this, null);
+ }
+
+ @SuppressWarnings("unchecked")
+ public Bundle getBundle(Class clazz)
+ {
+ throw new NotImplementedException();
+ }
+
+ public int getBundleType(Bundle bundle)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Bundle[] getBundles(String symbolicName, String versionRange)
+ {
+ throw new NotImplementedException();
+ }
+
+ public ExportedPackage getExportedPackage(String name)
+ {
+ throw new NotImplementedException();
+ }
+
+ public ExportedPackage[] getExportedPackages(Bundle bundle)
+ {
+ OSGiBundleState bundleState = assertBundleState(bundle);
+ DeploymentUnit unit = bundleState.getDeploymentUnit();
+ ClassLoadingMetaData metaData = unit.getAttachment(ClassLoadingMetaData.class);
+ if (metaData == null)
+ throw new IllegalStateException("Cannot obtain ClassLoadingMetaData");
+
+ List<ExportedPackage> exported = new ArrayList<ExportedPackage>();
+ CapabilitiesMetaData capabilities = metaData.getCapabilities();
+ for (Capability capability : capabilities.getCapabilities())
+ {
+ if (capability instanceof PackageCapability)
+ {
+ exported.add(new ExportedPackageImpl(bundleState, (PackageCapability)capability));
+ }
+ }
+ if (exported.size() == 0)
+ return null;
+
+ ExportedPackage[] result = new ExportedPackage[exported.size()];
+ exported.toArray(result);
+
+ return result;
+ }
+
+ public ExportedPackage[] getExportedPackages(String name)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Bundle[] getFragments(Bundle bundle)
+ {
+ throw new NotImplementedException();
+ }
+
+ public Bundle[] getHosts(Bundle bundle)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RequiredBundle[] getRequiredBundles(String symbolicName)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void refreshPackages(Bundle[] bundles)
+ {
+ log.warn("Ignore refreshPackages");
+ }
+
+ public boolean resolveBundles(Bundle[] bundles)
+ {
+ List<OSGiBundleState> bundleStates = new ArrayList<OSGiBundleState>();
+ if (bundles == null)
+ {
+ for (AbstractBundleState aux : bundleManager.getBundles())
+ {
+ if (aux.getState() == Bundle.INSTALLED)
+ bundleStates.add((OSGiBundleState)aux);
+ }
+ }
+ else
+ {
+ for (Bundle bundle : bundles)
+ {
+ bundleStates.add(assertBundleState(bundle));
+ }
+ }
+
+ boolean result = true;
+ for (OSGiBundleState bundleState : bundleStates)
+ {
+ result &= bundleManager.resolve(bundleState, false);
+ }
+
+ return result;
+ }
+
+ private OSGiBundleState assertBundleState(Bundle bundle)
+ {
+ AbstractBundleState abstractState = null;
+ if (bundle instanceof OSGiBundleState)
+ abstractState = (OSGiBundleState)bundle;
+ if (bundle instanceof OSGiBundleWrapper)
+ abstractState = ((OSGiBundleWrapper)bundle).getBundleState();
+
+ if (abstractState instanceof OSGiBundleState == false)
+ throw new IllegalArgumentException("Cannot obtain bunde state from: " + bundle);
+
+ return (OSGiBundleState)abstractState;
+ }
+
+ private static class ExportedPackageImpl implements ExportedPackage
+ {
+ private Bundle bundle;
+ private PackageCapability capability;
+
+ public ExportedPackageImpl(AbstractBundleState bundle, PackageCapability capability)
+ {
+ this.bundle = bundle.getBundle();
+ this.capability = capability;
+ }
+
+ public Bundle getExportingBundle()
+ {
+ return bundle;
+ }
+
+ public Bundle[] getImportingBundles()
+ {
+ throw new NotImplementedException();
+ }
+
+ public String getName()
+ {
+ return capability.getName();
+ }
+
+ public String getSpecificationVersion()
+ {
+ throw new NotImplementedException();
+ }
+
+ public Version getVersion()
+ {
+ return Version.parseVersion(capability.getVersion().toString());
+ }
+
+ public boolean isRemovalPending()
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/StartLevelImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/StartLevelImpl.java 2009-09-03 15:02:41 UTC (rev 93174)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/service/StartLevelImpl.java 2009-09-03 15:04:34 UTC (rev 93175)
@@ -24,6 +24,7 @@
//$Id$
import org.jboss.logging.Logger;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.service.startlevel.StartLevel;
@@ -41,11 +42,12 @@
/** The log */
private static final Logger log = Logger.getLogger(StartLevelImpl.class);
- public StartLevelImpl(BundleContext sysContext)
+ public StartLevelImpl(OSGiBundleManager bundleManager)
{
- if (sysContext == null)
- throw new IllegalArgumentException("Null sysContext");
+ if (bundleManager == null)
+ throw new IllegalArgumentException("Null bundleManager");
+ BundleContext sysContext = bundleManager.getSystemBundle();
sysContext.registerService(StartLevel.class.getName(), this, null);
}
16 years, 3 months
JBoss-OSGI SVN: r93174 - in projects/jboss-osgi/projects/bundles/common/trunk: src/main/java/org/jboss/osgi/common/internal and 1 other directory.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-03 11:02:41 -0400 (Thu, 03 Sep 2009)
New Revision: 93174
Modified:
projects/jboss-osgi/projects/bundles/common/trunk/pom.xml
projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java
Log:
Use PackageAdmin in to resolve before start
Modified: projects/jboss-osgi/projects/bundles/common/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/projects/bundles/common/trunk/pom.xml 2009-09-03 15:01:04 UTC (rev 93173)
+++ projects/jboss-osgi/projects/bundles/common/trunk/pom.xml 2009-09-03 15:02:41 UTC (rev 93174)
@@ -83,6 +83,7 @@
org.jboss.osgi.spi.util;version="1.0",
org.osgi.framework;version=1.4,
org.osgi.service.log;version=1.3,
+ org.osgi.service.packageadmin;version=1.2,
org.osgi.service.startlevel;version=1.1,
org.osgi.util.tracker
</Import-Package>
Modified: projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java
===================================================================
--- projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java 2009-09-03 15:01:04 UTC (rev 93173)
+++ projects/jboss-osgi/projects/bundles/common/trunk/src/main/java/org/jboss/osgi/common/internal/SystemDeployerService.java 2009-09-03 15:02:41 UTC (rev 93174)
@@ -40,6 +40,7 @@
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.osgi.service.log.LogService;
+import org.osgi.service.packageadmin.PackageAdmin;
import org.osgi.service.startlevel.StartLevel;
import org.osgi.util.tracker.ServiceTracker;
@@ -65,7 +66,7 @@
public void deploy(BundleDeployment[] depArr) throws BundleException
{
DeploymentRegistryService registry = getDeploymentRegistry();
-
+
Map<BundleDeployment, Bundle> bundleMap = new HashMap<BundleDeployment, Bundle>();
for (BundleDeployment dep : depArr)
{
@@ -77,7 +78,7 @@
registerManagedBundle(bundle);
bundleMap.put(dep, bundle);
-
+
registry.registerBundleDeployment(dep);
}
catch (BundleException ex)
@@ -86,11 +87,17 @@
}
}
+ // Get the optional PackageAdmin
+ PackageAdmin packageAdmin = null;
+ ServiceReference sref = context.getServiceReference(PackageAdmin.class.getName());
+ if (sref != null)
+ packageAdmin = (PackageAdmin)context.getService(sref);
+
// Start the installed bundles
for (BundleDeployment dep : depArr)
{
Bundle bundle = bundleMap.get(dep);
-
+
StartLevel startLevel = getStartLevel();
if (dep.getStartLevel() > 0)
{
@@ -99,23 +106,35 @@
if (dep.isAutoStart())
{
- ExportedPackageHelper packageHelper = new ExportedPackageHelper(context);
- try
+ int state = bundle.getState();
+ if (state == Bundle.INSTALLED && packageAdmin != null)
{
- log.log(LogService.LOG_DEBUG, "Start: " + bundle);
+ if (packageAdmin.resolveBundles(new Bundle[] { bundle }) == false)
+ log.log(LogService.LOG_INFO, "Cannot resolve bundle: " + bundle);
- // Added support for Bundle.START_ACTIVATION_POLICY on start
- // http://issues.apache.org/jira/browse/FELIX-1317
- // bundle.start(Bundle.START_ACTIVATION_POLICY);
-
- bundle.start();
-
- log.log(LogService.LOG_INFO, "Started: " + bundle);
- packageHelper.logExportedPackages(bundle);
+ state = bundle.getState();
}
- catch (BundleException ex)
+
+ if (state == Bundle.RESOLVED || packageAdmin == null)
{
- log.log(LogService.LOG_ERROR, "Cannot start bundle: " + bundle, ex);
+ try
+ {
+ log.log(LogService.LOG_DEBUG, "Start: " + bundle);
+
+ // Added support for Bundle.START_ACTIVATION_POLICY on start
+ // http://issues.apache.org/jira/browse/FELIX-1317
+ // bundle.start(Bundle.START_ACTIVATION_POLICY);
+
+ bundle.start();
+
+ log.log(LogService.LOG_INFO, "Started: " + bundle);
+ ExportedPackageHelper packageHelper = new ExportedPackageHelper(context);
+ packageHelper.logExportedPackages(bundle);
+ }
+ catch (BundleException ex)
+ {
+ log.log(LogService.LOG_ERROR, "Cannot start bundle: " + bundle, ex);
+ }
}
}
}
@@ -124,14 +143,14 @@
public void undeploy(BundleDeployment[] depArr) throws BundleException
{
DeploymentRegistryService registry = getDeploymentRegistry();
-
+
for (BundleDeployment dep : depArr)
{
Bundle bundle = getBundle(dep);
if (bundle != null)
{
registry.unregisterBundleDeployment(dep);
-
+
unregisterManagedBundle(bundle);
bundle.uninstall();
log.log(LogService.LOG_INFO, "Uninstalled: " + bundle);
@@ -213,7 +232,7 @@
log.log(LogService.LOG_DEBUG, "No ManagedBundleService. Cannot unregister managed bundle: " + bundle);
}
}
-
+
private DeploymentRegistryService getDeploymentRegistry()
{
if (registryTracker == null)
@@ -223,7 +242,7 @@
}
return (DeploymentRegistryService)registryTracker.getService();
}
-
+
private StartLevel getStartLevel()
{
if (startLevelTracker == null)
16 years, 3 months
JBoss-OSGI SVN: r93173 - projects/jboss-osgi/projects/bundles/hotdeploy/trunk.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-03 11:01:04 -0400 (Thu, 03 Sep 2009)
New Revision: 93173
Modified:
projects/jboss-osgi/projects/bundles/hotdeploy/trunk/pom.xml
Log:
Update versions
Modified: projects/jboss-osgi/projects/bundles/hotdeploy/trunk/pom.xml
===================================================================
--- projects/jboss-osgi/projects/bundles/hotdeploy/trunk/pom.xml 2009-09-03 14:59:54 UTC (rev 93172)
+++ projects/jboss-osgi/projects/bundles/hotdeploy/trunk/pom.xml 2009-09-03 15:01:04 UTC (rev 93173)
@@ -21,19 +21,19 @@
<artifactId>jboss-osgi-hotdeploy</artifactId>
<packaging>bundle</packaging>
- <version>1.0.0</version>
+ <version>1.0.1-SNAPSHOT</version>
<!-- Parent -->
<parent>
<groupId>org.jboss.osgi</groupId>
<artifactId>jboss-osgi-parent</artifactId>
- <version>1.0.1</version>
+ <version>1.0.2-SNAPSHOT</version>
</parent>
<!-- Properties -->
<properties>
- <version.jboss.osgi.common>1.0.0</version.jboss.osgi.common>
- <version.osgi>r4v41</version.osgi>
+ <version.jboss.osgi.common>1.0.1-SNAPSHOT</version.jboss.osgi.common>
+ <version.osgi>r4v42-20090728</version.osgi>
</properties>
<!-- Dependencies -->
16 years, 3 months
JBoss-OSGI SVN: r93160 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk/src: main/java/org/jboss/osgi/plugins/facade/classloading and 2 other directories.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-03 08:25:57 -0400 (Thu, 03 Sep 2009)
New Revision: 93160
Added:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderDomain.java
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderSystem.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml
Log:
Add OSGiClassLoaderDomain
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-03 11:46:03 UTC (rev 93159)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-03 12:25:57 UTC (rev 93160)
@@ -582,6 +582,10 @@
*/
public boolean resolve(OSGiBundleState bundleState, boolean errorOnFail)
{
+ int state = bundleState.getState();
+ if (state == Bundle.RESOLVED || state == Bundle.ACTIVE)
+ return true;
+
try
{
String name = bundleState.getDeploymentUnit().getName();
@@ -839,6 +843,10 @@
*/
public void initFramework()
{
+ // Log INFO about this implementation
+ log.info(getClass().getPackage().getImplementationTitle());
+ log.info(getClass().getPackage().getImplementationVersion());
+
int state = systemBundle.getState();
// This method does nothing if called when this Framework is in the STARTING, ACTIVE or STOPPING state
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-03 11:46:03 UTC (rev 93159)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-03 12:25:57 UTC (rev 93160)
@@ -21,10 +21,11 @@
*/
package org.jboss.osgi.plugins.facade.classloading;
+// $Id: $
+
import java.util.List;
import org.jboss.classloader.spi.ClassLoaderDomain;
-import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
@@ -45,11 +46,12 @@
* This deployer maps osgi metadata into our classloading metadata.
*
* @author <a href="adrian(a)jboss.com">Adrian Brock</a>
+ * @author Thomas.Diesler(a)jboss.com
* @version $Revision: 1.1 $
*/
public class OSGiBundleClassLoadingDeployer extends AbstractSimpleRealDeployer<OSGiMetaData>
{
- private ClassLoaderSystem classLoaderSystem;
+ private ClassLoaderDomain domain;
/**
* Create a new OSGiBundleClassLoadingDeployer.
@@ -63,9 +65,9 @@
setTopLevelOnly(true);
}
- public void setClassLoaderSystem(ClassLoaderSystem classLoaderSystem)
+ public void setDomain(ClassLoaderDomain domain)
{
- this.classLoaderSystem = classLoaderSystem;
+ this.domain = domain;
}
@Override
@@ -83,13 +85,8 @@
ClassLoadingMetaData classLoadingMetaData = new ClassLoadingMetaData();
classLoadingMetaData.setName(osgiMetaData.getBundleSymbolicName());
classLoadingMetaData.setVersion(osgiMetaData.getBundleVersion());
+ classLoadingMetaData.setDomain(domain != null ? domain.getName() : null);
- if (classLoaderSystem != null)
- {
- ClassLoaderDomain defaultDomain = classLoaderSystem.getDefaultDomain();
- classLoadingMetaData.setParentDomain(defaultDomain.getName());
- }
-
CapabilitiesMetaData capabilities = classLoadingMetaData.getCapabilities();
RequirementsMetaData requirements = classLoadingMetaData.getRequirements();
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderDomain.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderDomain.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderDomain.java 2009-09-03 12:25:57 UTC (rev 93160)
@@ -0,0 +1,132 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.facade.classloading;
+
+// $Id: $
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloader.spi.base.BaseClassLoader;
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.PackageClassFilter;
+import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
+import org.jboss.osgi.plugins.facade.api.SystemPackagesPlugin;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+
+/**
+ * OSGiClassLoaderDomain.<p>
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 03-Sep-2009
+ */
+public class OSGiClassLoaderDomain extends ClassLoaderDomain
+{
+ private ClassLoaderSystem classLoaderSystem;
+ private OSGiBundleManager bundleManager;
+ private List<URL> classPath = new ArrayList<URL>();
+
+ /**
+ * Create a new OSGiClassLoaderDomain.
+ * @param domainName the domain name
+ * @throws IllegalArgumentException for a null bundle manager
+ */
+ public OSGiClassLoaderDomain(String domainName)
+ {
+ super(domainName);
+ }
+
+ public void setClassLoaderSystem(ClassLoaderSystem classLoaderSystem)
+ {
+ this.classLoaderSystem = classLoaderSystem;
+ }
+
+ public void setBundleManager(OSGiBundleManager bundleManager)
+ {
+ this.bundleManager = bundleManager;
+ }
+
+ public void setClassPath(List<URL> classPath)
+ {
+ this.classPath = classPath;
+ }
+
+ @Override
+ protected Class<?> loadClass(BaseClassLoader classLoader, String name, boolean allExports) throws ClassNotFoundException
+ {
+ return super.loadClass(classLoader, name, allExports);
+ }
+
+ public void start() throws IOException
+ {
+ if (classLoaderSystem == null)
+ throw new IllegalArgumentException("Null classLoaderSystem");
+ if (bundleManager == null)
+ throw new IllegalArgumentException("Null bundleManager");
+ if (classPath == null)
+ throw new IllegalArgumentException("Null classPath");
+
+ // Register the domain with the ClassLoaderSystem
+ classLoaderSystem.registerDomain(this);
+
+ // Initialize the configured system packages
+ String filteredPackages = getSystemPackagesAsString();
+ PackageClassFilter classFilter = PackageClassFilter.createPackageClassFilterFromString(filteredPackages);
+ classFilter.setIncludeJava(true);
+
+ // Setup the domain's parent policy
+ setParentPolicy(new ParentPolicy(classFilter, ClassFilter.NOTHING));
+
+ // Initialize the configured policy roots
+ VirtualFile[] roots = new VirtualFile[classPath.size()];
+ for (int i = 0; i < classPath.size(); i++)
+ roots[i] = VFS.createNewRoot(classPath.get(i));
+
+ // Create and register the ClassLoaderPolicy
+ ClassLoaderPolicy systemPolicy = new VFSClassLoaderPolicy("OSGiSystemPolicy", roots);
+ classLoaderSystem.registerClassLoaderPolicy(getName(), systemPolicy);
+ }
+
+ private String getSystemPackagesAsString()
+ {
+ SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
+ List<String> sysPackages = syspackPlugin.getSystemPackages();
+ StringBuffer sysPackageString = new StringBuffer();
+ for (String name : sysPackages)
+ {
+ int semiIndex = name.indexOf(';');
+ if (semiIndex > 0)
+ name = name.substring(0, semiIndex);
+
+ sysPackageString.append(name + ",");
+ }
+ return sysPackageString.toString();
+ }
+}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderSystem.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderSystem.java 2009-09-03 11:46:03 UTC (rev 93159)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiClassLoaderSystem.java 2009-09-03 12:25:57 UTC (rev 93160)
@@ -21,20 +21,13 @@
*/
package org.jboss.osgi.plugins.facade.classloading;
-import java.util.List;
-
-import org.jboss.classloader.plugins.filter.PatternClassFilter;
import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
import org.jboss.classloader.spi.ClassLoaderDomain;
import org.jboss.classloader.spi.ClassLoaderPolicy;
import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloader.spi.ParentPolicy;
import org.jboss.classloader.spi.base.BaseClassLoader;
-import org.jboss.classloader.spi.filter.ClassFilter;
-import org.jboss.classloader.spi.filter.PackageClassFilter;
-import org.jboss.osgi.plugins.facade.api.SystemPackagesPlugin;
import org.jboss.osgi.plugins.facade.bundle.AbstractBundleState;
-import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.jboss.osgi.plugins.facade.bundle.OSGiBundleState;
/**
@@ -51,19 +44,11 @@
* @param bundleManager the bundleManager
* @throws IllegalArgumentException for a null bundle manager
*/
- public OSGiClassLoaderSystem(OSGiBundleManager bundleManager)
+ public OSGiClassLoaderSystem()
{
- if (bundleManager == null)
- throw new IllegalArgumentException("Null bundle manager");
-
ClassLoaderDomain domain = getDefaultDomain();
- // Initialize the configured system packages
- String sysPackageString = getSystemPackagesAsString(bundleManager);
- PatternClassFilter filter = PackageClassFilter.createPackageClassFilterFromString(sysPackageString);
- filter.setIncludeJava(true);
-
- domain.setParentPolicy(new ParentPolicy(filter, ClassFilter.NOTHING));
+ domain.setParentPolicy(ParentPolicy.BEFORE_BUT_JAVA_ONLY);
AbstractJDKChecker.getExcluded().add(AbstractBundleState.class);
AbstractJDKChecker.getExcluded().add(OSGiBundleState.class);
}
@@ -78,21 +63,4 @@
{
return new OSGiBundleClassLoader(policy);
}
-
- private String getSystemPackagesAsString(OSGiBundleManager bundleManager)
- {
- SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
- List<String> sysPackages = syspackPlugin.getSystemPackages();
- StringBuffer sysPackageString = new StringBuffer();
- for (String name : sysPackages)
- {
- int semiIndex = name.indexOf(';');
- if (semiIndex > 0)
- name = name.substring(0, semiIndex);
-
- sysPackageString.append(name + ",");
- }
- return sysPackageString.toString();
- }
-
}
\ No newline at end of file
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java 2009-09-03 11:46:03 UTC (rev 93159)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java 2009-09-03 12:25:57 UTC (rev 93160)
@@ -21,16 +21,22 @@
*/
package org.jboss.test.osgi.classloader.test;
-import static org.junit.Assert.*;
+// $Id$
+import static org.junit.Assert.fail;
+
import java.net.URL;
+import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
import org.jboss.classloader.spi.ClassLoaderDomain;
import org.jboss.classloader.spi.ClassLoaderPolicy;
import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.PackageClassFilter;
import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
+import org.jboss.logging.Logger;
import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
import org.jboss.virtual.VFS;
@@ -43,7 +49,7 @@
* ClassLoaderDomainUnitTestCase.
*
* @author Thomas.Diesler(a)jboss.com
- * @version $Revision$
+ * @since 03-Sep-2009
*/
public class ClassLoaderDomainUnitTestCase
{
@@ -54,24 +60,53 @@
public void setUp()
{
classLoaderSystem = new DefaultClassLoaderSystem();
+ AbstractJDKChecker.getExcluded().add(getClass());
}
@Test
public void testSystemPolicy() throws Exception
{
ClassLoaderDomain domain = new ClassLoaderDomain(OSGI_CLASSLOADER_DOMAIN);
- domain.setParentPolicy(ParentPolicy.BEFORE_BUT_JAVA_ONLY);
- domain.setParent(null);
classLoaderSystem.registerDomain(domain);
+
+ // Setup the class filter
+ String filteredPackages = Logger.class.getPackage().getName();
+ PackageClassFilter classFilter = PackageClassFilter.createPackageClassFilterFromString(filteredPackages);
+ classFilter.setIncludeJava(true);
+ domain.setParentPolicy(new ParentPolicy(classFilter, ClassFilter.NOTHING));
+
URL coreURL = new OSGiTestHelper().getTestArchiveURL("bundles/org.osgi.core.jar");
VirtualFile coreVF = VFS.createNewRoot(coreURL);
ClassLoaderPolicy systemPolicy = new VFSClassLoaderPolicy("OSGiSystemPolicy", new VirtualFile[] { coreVF });
- classLoaderSystem.registerClassLoaderPolicy(OSGI_CLASSLOADER_DOMAIN, systemPolicy);
+ ClassLoader classLoader = classLoaderSystem.registerClassLoaderPolicy(OSGI_CLASSLOADER_DOMAIN, systemPolicy);
- assertNotNull("Can load JDK class", domain.loadClass(String.class.getName()));
- //assertNotNull("Can load OSGi Framework class", domain.loadClass(Bundle.class.getName()));
- assertNull("Cannot load OSGiBundleManager", domain.loadClass(OSGiBundleManager.class.getName()));
+ // Load JDK class
+ assertLoadClass(classLoader, String.class.getName(), true);
+
+ // Load from org.osgi.core
+ assertLoadClass(classLoader, Bundle.class.getName(), true);
+
+ // Load from system classpath
+ assertLoadClass(classLoader, Logger.class.getName(), true);
+
+ // No access to implementation
+ assertLoadClass(classLoader, OSGiBundleManager.class.getName(), false);
}
+
+ private void assertLoadClass(ClassLoader classLoader, String name, boolean success)
+ {
+ try
+ {
+ classLoader.loadClass(name);
+ if (success == false)
+ fail("Expected ClassNotFoundException for '" + name + "' from " + classLoader);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ if (success)
+ fail("Cannot load '" + name + "' from " + classLoader);
+ }
+ }
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml 2009-09-03 11:46:03 UTC (rev 93159)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/resources/bootstrap/bootstrap.xml 2009-09-03 12:25:57 UTC (rev 93160)
@@ -24,7 +24,12 @@
org.jboss.osgi.spi.management;version=1.0,
org.jboss.osgi.spi.service;version=1.0,
org.jboss.osgi.spi.testing;version=1.0,
- org.jboss.osgi.spi.util;version=1.0
+ org.jboss.osgi.spi.util;version=1.0,
+
+ org.osgi.framework,
+ org.osgi.framework.launch,
+ org.osgi.service.startlevel,
+ org.osgi.service.packageadmin
</value></entry>
</map>
</property>
@@ -96,7 +101,9 @@
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="domain"><inject bean="OSGiClassLoaderDomain"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -107,10 +114,13 @@
********************************
-->
- <!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" />
+ <bean name="OSGiClassLoaderDomain" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderDomain" >
+ <constructor><parameter>OSGiClassLoaderDomain</parameter></constructor>
+ <property name="classLoaderSystem"><inject bean="OSGiClassLoaderSystem"/></property>
+ <property name="bundleManager"><inject bean="OSGiBundleManager" /></property>
</bean>
+
<bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
<incallback method="addModule" state="Configured" />
<uncallback method="removeModule" state="Configured" />
@@ -126,7 +136,7 @@
</bean>
<bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
<property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
+ <property name="system"><inject bean="OSGiClassLoaderSystem" /></property>
</bean>
</deployment>
16 years, 3 months
JBoss-OSGI SVN: r93146 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk: src/main/java/org/jboss/osgi/plugins/facade/classloading and 1 other directories.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-02 19:12:07 -0400 (Wed, 02 Sep 2009)
New Revision: 93146
Added:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/scripts/assembly-bundles.xml
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
Log:
Investigate ClassLoaderDomain
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/scripts/assembly-bundles.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/scripts/assembly-bundles.xml 2009-09-02 21:38:17 UTC (rev 93145)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/scripts/assembly-bundles.xml 2009-09-02 23:12:07 UTC (rev 93146)
@@ -16,6 +16,7 @@
<outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>*:org.osgi.compendium:jar</include>
+ <include>*:org.osgi.core:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<scope>compile</scope>
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-02 21:38:17 UTC (rev 93145)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-02 23:12:07 UTC (rev 93146)
@@ -66,15 +66,10 @@
public void setClassLoaderSystem(ClassLoaderSystem classLoaderSystem)
{
this.classLoaderSystem = classLoaderSystem;
- for (String name : classLoaderSystem.getDomainNames())
- {
- ClassLoaderDomain domain = classLoaderSystem.getDomain(name);
- System.out.println(domain.toLongString());
- }
}
@Override
- public void deploy(DeploymentUnit unit, OSGiMetaData deployment) throws DeploymentException
+ public void deploy(DeploymentUnit unit, OSGiMetaData osgiMetaData) throws DeploymentException
{
if (unit.isAttachmentPresent(ClassLoadingMetaData.class))
return;
@@ -86,8 +81,8 @@
OSGiBundleManager bundleManager = bundleState.getBundleManager();
ClassLoadingMetaData classLoadingMetaData = new ClassLoadingMetaData();
- classLoadingMetaData.setName(deployment.getBundleSymbolicName());
- classLoadingMetaData.setVersion(deployment.getBundleVersion());
+ classLoadingMetaData.setName(osgiMetaData.getBundleSymbolicName());
+ classLoadingMetaData.setVersion(osgiMetaData.getBundleVersion());
if (classLoaderSystem != null)
{
@@ -98,10 +93,10 @@
CapabilitiesMetaData capabilities = classLoadingMetaData.getCapabilities();
RequirementsMetaData requirements = classLoadingMetaData.getRequirements();
- OSGiBundleCapability capability = OSGiBundleCapability.create(deployment);
+ OSGiBundleCapability capability = OSGiBundleCapability.create(osgiMetaData);
capabilities.addCapability(capability);
- List<ParameterizedAttribute> requireBundles = deployment.getRequireBundles();
+ List<ParameterizedAttribute> requireBundles = osgiMetaData.getRequireBundles();
if (requireBundles != null && requireBundles.isEmpty() == false)
{
for (ParameterizedAttribute requireBundle : requireBundles)
@@ -111,17 +106,17 @@
}
}
- List<PackageAttribute> exported = deployment.getExportPackages();
+ List<PackageAttribute> exported = osgiMetaData.getExportPackages();
if (exported != null && exported.isEmpty() == false)
{
for (PackageAttribute packageAttribute : exported)
{
- OSGiPackageCapability packageCapability = OSGiPackageCapability.create(deployment, packageAttribute);
+ OSGiPackageCapability packageCapability = OSGiPackageCapability.create(osgiMetaData, packageAttribute);
capabilities.addCapability(packageCapability);
}
}
- List<PackageAttribute> imported = deployment.getImportPackages();
+ List<PackageAttribute> imported = osgiMetaData.getImportPackages();
if (imported != null && imported.isEmpty() == false)
{
SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java 2009-09-02 23:12:07 UTC (rev 93146)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.test.osgi.classloader.test;
+
+import static org.junit.Assert.*;
+
+import java.net.URL;
+
+import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
+import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+
+/**
+ * ClassLoaderDomainUnitTestCase.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @version $Revision$
+ */
+public class ClassLoaderDomainUnitTestCase
+{
+ private static final String OSGI_CLASSLOADER_DOMAIN = "OSGiDomain";
+ private ClassLoaderSystem classLoaderSystem;
+
+ @Before
+ public void setUp()
+ {
+ classLoaderSystem = new DefaultClassLoaderSystem();
+ }
+
+ @Test
+ public void testSystemPolicy() throws Exception
+ {
+ ClassLoaderDomain domain = new ClassLoaderDomain(OSGI_CLASSLOADER_DOMAIN);
+ domain.setParentPolicy(ParentPolicy.BEFORE_BUT_JAVA_ONLY);
+ domain.setParent(null);
+ classLoaderSystem.registerDomain(domain);
+
+ URL coreURL = new OSGiTestHelper().getTestArchiveURL("bundles/org.osgi.core.jar");
+ VirtualFile coreVF = VFS.createNewRoot(coreURL);
+
+ ClassLoaderPolicy systemPolicy = new VFSClassLoaderPolicy("OSGiSystemPolicy", new VirtualFile[] { coreVF });
+ classLoaderSystem.registerClassLoaderPolicy(OSGI_CLASSLOADER_DOMAIN, systemPolicy);
+
+ assertNotNull("Can load JDK class", domain.loadClass(String.class.getName()));
+ //assertNotNull("Can load OSGi Framework class", domain.loadClass(Bundle.class.getName()));
+ assertNull("Cannot load OSGiBundleManager", domain.loadClass(OSGiBundleManager.class.getName()));
+ }
+}
Property changes on: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/test/java/org/jboss/test/osgi/classloader/test/ClassLoaderDomainUnitTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
16 years, 3 months
JBoss-OSGI SVN: r93135 - in projects/jboss-osgi/trunk/distribution/installer/src/main/resources: jbossas and 1 other directory.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-02 12:32:07 -0400 (Wed, 02 Sep 2009)
New Revision: 93135
Modified:
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/user-input-spec.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml
Log:
#3 jbossas integration (wip)
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-02 16:31:13 UTC (rev 93134)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-02 16:32:07 UTC (rev 93135)
@@ -56,6 +56,10 @@
<name>frameworkSelection</name>
<value>jbossmc</value>
</condition>
+ <condition type="or" id="isFelixOrEquinox">
+ <condition type="ref" refid="isFelix"/>
+ <condition type="ref" refid="isEquinox"/>
+ </condition>
<condition type="variable" id="isJBoss501">
<name>jbossSelection</name>
<value>jboss501</value>
@@ -79,9 +83,10 @@
<panel classname="HelloPanel" />
<panel classname="TargetPanel" />
<panel classname="TreePacksPanel" />
- <panel classname="UserInputPanel" />
- <panel classname="UserInputPanel" />
- <panel classname="UserInputPanel" />
+ <panel classname="UserInputPanel" id="framework.select"/>
+ <panel classname="UserInputPanel" id="jbossas.select.felix.equinox" condition="isFelixOrEquinox"/>
+ <panel classname="UserInputPanel" id="jbossas.select.jbossmc" condition="isJBossMC"/>
+ <panel classname="UserInputPanel" id="jboss.home.select" />
<panel classname="SummaryPanel" />
<panel classname="InstallPanel" />
<panel classname="FinishPanel" />
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/user-input-spec.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/user-input-spec.xml 2009-09-02 16:31:13 UTC (rev 93134)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/user-input-spec.xml 2009-09-02 16:32:07 UTC (rev 93135)
@@ -1,5 +1,5 @@
<userInput>
- <panel order="0">
+ <panel order="0" id="framework.select">
<field type="radio" variable="frameworkSelection">
<description align="left" txt="Please choose the OSGi Framework" />
<spec>
@@ -9,7 +9,7 @@
</spec>
</field>
</panel>
- <panel order="1">
+ <panel order="1" id="jbossas.select.felix.equinox">
<createForPack name="JBossAS Integration" />
<field type="radio" variable="jbossSelection">
<description align="left" txt="Please choose your target container" />
@@ -24,8 +24,21 @@
<spec txt="Server:" size="15" set="default" />
</field>
</panel>
- <panel order="2">
+ <panel order="2" id="jbossas.select.jbossmc">
<createForPack name="JBossAS Integration" />
+ <field type="radio" variable="jbossSelection">
+ <description align="left" txt="Please choose your target container" />
+ <spec>
+ <choice txt="JBoss-5.2.0" value="jboss520" set="true"/>
+ <choice txt="JBoss-6.0.0" value="jboss600"/>
+ </spec>
+ </field>
+ <field type="text" variable="jbossTargetServer">
+ <spec txt="Server:" size="15" set="default" />
+ </field>
+ </panel>
+ <panel order="3" id="jboss.home.select">
+ <createForPack name="JBossAS Integration" />
<field type="dir" align="left" variable="jbossInstallPath">
<spec txt="JBoss Home:" size="25" set="${jboss.home}" />
</field>
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-09-02 16:31:13 UTC (rev 93134)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml 2009-09-02 16:32:07 UTC (rev 93135)
@@ -17,6 +17,12 @@
<map keyClass="java.lang.String" valueClass="java.lang.String">
<entry><key>org.osgi.framework.storage</key><value>${jboss.server.data.dir}/data/osgi-store</value></entry>
<entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
+ <entry><key>org.osgi.framework.system.packages</key><value>
+ javax.management,
+ org.jboss.logging;version=2.0,
+ org.osgi.framework;version=1.4,
+ org.osgi.service.startlevel;version=1.1,
+ </value></entry>
<entry><key>org.osgi.framework.system.packages.extra</key><value>
org.jboss.beans.metadata.plugins;version=2.0,
@@ -25,7 +31,6 @@
org.jboss.beans.metadata.spi.builder;version=2.0,
org.jboss.dependency.spi;version=2.0,
org.jboss.kernel.spi.dependency;version=2.0,
- org.jboss.logging;version=2.0,
org.jboss.osgi.spi;version=1.0,
org.jboss.osgi.spi.capability;version=1.0,
@@ -49,6 +54,14 @@
<uncallback method="removePlugin" />
</bean>
+ <!--
+ ********************************
+ * *
+ * OSGi Framework Plugins *
+ * *
+ ********************************
+ -->
+
<bean name="OSGiFrameworkEventsPlugin" class="org.jboss.osgi.plugins.facade.plugins.FrameworkEventsPluginImpl">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
@@ -74,8 +87,11 @@
<bean name="OSGiManifestParsingDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiManifestParsingDeployer" />
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ <property name="autoInstall">true</property>
</bean>
- <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer"/>
+ <bean name="OSGiBundleClassLoadingDeployer" class="org.jboss.osgi.plugins.facade.classloading.OSGiBundleClassLoadingDeployer">
+ <property name="classLoaderSystem"><inject bean="ClassLoaderSystem"/></property>
+ </bean>
<bean name="OSGiBundleActivatorDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleActivatorDeployer" />
<!--
@@ -86,9 +102,22 @@
********************************
-->
- <!-- ClassLoading -->
+ <!-- ClassLoading
<bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
+ -->
+ <!--
+ ********************************
+ * *
+ * OSGi Lifecycle *
+ * *
+ ********************************
+ -->
+
+ <bean name="OSGiBundleManagerLifecycle" class="org.jboss.osgi.plugins.facade.bundle.OSGiBundleManagerLifecycle">
+ <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
+ </bean>
+
</deployment>
\ No newline at end of file
16 years, 3 months
JBoss-OSGI SVN: r93134 - in projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins: facade/bundle and 2 other directories.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-02 12:31:13 -0400 (Wed, 02 Sep 2009)
New Revision: 93134
Added:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleResolverDeployer.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManagerLifecycle.java
Modified:
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleStateDeployer.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/FrameworkEventsPluginImpl.java
Log:
#3 jbossas integration (wip)
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleResolverDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleResolverDeployer.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleResolverDeployer.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -0,0 +1,58 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.deployers.bundle;
+
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
+import org.jboss.osgi.plugins.facade.bundle.OSGiBundleState;
+
+/**
+ * OSGiBundleResolverDeployer.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @version $Revision: 1.1 $
+ */
+public class OSGiBundleResolverDeployer extends AbstractSimpleRealDeployer<OSGiBundleState>
+{
+ /**
+ * Create a new BundleStateDeployer.
+ */
+ public OSGiBundleResolverDeployer()
+ {
+ super(OSGiBundleState.class);
+ setTopLevelOnly(true);
+ addInput(ClassLoadingMetaData.class);
+ setStage(DeploymentStages.POST_PARSE);
+ }
+
+ @Override
+ public void deploy(DeploymentUnit unit, OSGiBundleState bundleState) throws DeploymentException
+ {
+ unit.setRequiredStage(DeploymentStages.INSTALLED);
+ OSGiBundleManager bundleManager = bundleState.getBundleManager();
+ bundleManager.resolve(bundleState, false);
+ }
+}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleStateDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleStateDeployer.java 2009-09-02 15:41:55 UTC (rev 93133)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/deployers/bundle/OSGiBundleStateDeployer.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -22,11 +22,13 @@
package org.jboss.osgi.plugins.deployers.bundle;
import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.osgi.plugins.facade.bundle.OSGiBundleManager;
import org.jboss.osgi.plugins.facade.bundle.OSGiBundleState;
+import org.jboss.osgi.spi.metadata.OSGiMetaData;
/**
* OSGiBundleStateDeployer.<p>
@@ -41,6 +43,7 @@
{
/** The bundle manager */
private OSGiBundleManager bundleManager;
+ private DeploymentStage requiredStage;
/**
* Create a new BundleStateDeployer.
@@ -54,15 +57,26 @@
throw new IllegalArgumentException("Null bundle manager");
this.bundleManager = bundleManager;
+ this.requiredStage = DeploymentStages.DESCRIBE;
+ setInput(OSGiMetaData.class);
setOutput(OSGiBundleState.class);
setStage(DeploymentStages.POST_PARSE);
setTopLevelOnly(true);
}
+
+ public void setAutoInstall(boolean autoInstall)
+ {
+ if (autoInstall == true)
+ requiredStage = DeploymentStages.INSTALLED;
+ }
@Override
protected void internalDeploy(DeploymentUnit unit) throws DeploymentException
{
+ // [TODO] look at manifest headers and persistent state for this
+ unit.setRequiredStage(requiredStage);
+
OSGiBundleState bundleState = bundleManager.addDeployment(unit);
unit.addAttachment(OSGiBundleState.class, bundleState);
}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-02 15:41:55 UTC (rev 93133)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManager.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -447,23 +447,8 @@
OSGiMetaData osgiMetaData = unit.getAttachment(OSGiMetaData.class);
if (osgiMetaData == null)
- {
- Manifest manifest = unit.getAttachment(Manifest.class);
- // [TODO] we need a mechanism to construct an OSGiMetaData from an easier factory
- if (manifest == null)
- manifest = new Manifest();
- // [TODO] populate some bundle information
- Attributes attributes = manifest.getMainAttributes();
- String name = generateName(unit);
- attributes.put(new Name(Constants.BUNDLE_NAME), unit.getName());
- attributes.put(new Name(Constants.BUNDLE_SYMBOLICNAME), name);
- osgiMetaData = new AbstractOSGiMetaData(manifest);
- }
- else
- {
- // [TODO] look at manifest headers and persistent state for this
- unit.setRequiredStage(DeploymentStages.DESCRIBE);
- }
+ throw new IllegalStateException("Cannot obtain OSGi metadata");
+
OSGiBundleState bundleState = new OSGiBundleState(osgiMetaData, unit);
addBundle(bundleState);
return bundleState;
Added: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManagerLifecycle.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManagerLifecycle.java (rev 0)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleManagerLifecycle.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.facade.bundle;
+
+// $Id: $
+
+import org.osgi.framework.BundleException;
+
+/**
+ * A bean that starts/stops the bundle manager.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @version $Revision: 1.1 $
+ */
+public class OSGiBundleManagerLifecycle
+{
+ private OSGiBundleManager bundleManager;
+
+ public OSGiBundleManagerLifecycle(OSGiBundleManager bundleManager)
+ {
+ this.bundleManager = bundleManager;
+ }
+
+ public void start() throws BundleException
+ {
+ bundleManager.startFramework();
+ }
+
+ public void stop() throws BundleException
+ {
+ bundleManager.stopFramework();
+ }
+
+}
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-02 15:41:55 UTC (rev 93133)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/bundle/OSGiBundleState.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -27,12 +27,8 @@
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
-import org.jboss.beans.info.spi.BeanInfo;
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.plugins.deployers.DeploymentControllerContext;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.logging.Logger;
import org.jboss.osgi.spi.metadata.OSGiMetaData;
import org.jboss.virtual.VirtualFile;
@@ -52,7 +48,7 @@
{
/** The log */
private static final Logger log = Logger.getLogger(OSGiBundleState.class);
-
+
/** Used to generate a unique id */
private static final AtomicLong bundleIDGenerator = new AtomicLong();
@@ -296,33 +292,25 @@
// Bundle extenders catch the STARTING event and might expect a valid context
createBundleContext();
changeState(STARTING);
-
+
try
{
OSGiMetaData metaData = getOSGiMetaData();
- if (metaData != null)
+ if (metaData == null)
+ throw new IllegalStateException("Cannot obtain OSGi meta data");
+
+ // Do we have a bundle activator
+ String bundleActivatorClassName = metaData.getBundleActivator();
+ if (bundleActivatorClassName != null)
{
- // Do we have a bundle activator
- String bundleActivatorClassName = metaData.getBundleActivator();
- if (bundleActivatorClassName != null)
- {
- ClassLoader classLoader = getDeploymentUnit().getClassLoader();
+ Object result = loadClass(bundleActivatorClassName).newInstance();
+ if (result instanceof BundleActivator == false)
+ throw new BundleException(bundleActivatorClassName + " is not an implementation of " + BundleActivator.class.getName());
+
+ BundleActivator bundleActivator = (BundleActivator)result;
+ unit.addAttachment(BundleActivator.class, bundleActivator);
- DeploymentControllerContext deploymentControllerContext = getDeploymentUnit().getAttachment(ControllerContext.class.getName(),
- DeploymentControllerContext.class);
- if (deploymentControllerContext == null)
- throw new BundleException("No deployment controller context: " + getCanonicalName());
-
- KernelController controller = (KernelController)deploymentControllerContext.getController();
- BeanInfo beanInfo = controller.getKernel().getConfig().getBeanInfo(bundleActivatorClassName, classLoader);
- Object result = beanInfo.newInstance();
- if (result instanceof BundleActivator == false)
- throw new BundleException(bundleActivatorClassName + " is not an implementation of " + BundleActivator.class.getName());
- BundleActivator bundleActivator = (BundleActivator)result;
- getDeploymentUnit().addAttachment(BundleActivator.class, bundleActivator);
-
- bundleActivator.start(getBundleContext());
- }
+ bundleActivator.start(getBundleContext());
}
if (getState() != STARTING)
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-02 15:41:55 UTC (rev 93133)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/classloading/OSGiBundleClassLoadingDeployer.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -23,6 +23,8 @@
import java.util.List;
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
@@ -47,17 +49,30 @@
*/
public class OSGiBundleClassLoadingDeployer extends AbstractSimpleRealDeployer<OSGiMetaData>
{
+ private ClassLoaderSystem classLoaderSystem;
+
/**
* Create a new OSGiBundleClassLoadingDeployer.
*/
public OSGiBundleClassLoadingDeployer()
{
super(OSGiMetaData.class);
- setTopLevelOnly(true);
+ addInput(OSGiBundleState.class);
setOutput(ClassLoadingMetaData.class);
setStage(DeploymentStages.POST_PARSE);
+ setTopLevelOnly(true);
}
+ public void setClassLoaderSystem(ClassLoaderSystem classLoaderSystem)
+ {
+ this.classLoaderSystem = classLoaderSystem;
+ for (String name : classLoaderSystem.getDomainNames())
+ {
+ ClassLoaderDomain domain = classLoaderSystem.getDomain(name);
+ System.out.println(domain.toLongString());
+ }
+ }
+
@Override
public void deploy(DeploymentUnit unit, OSGiMetaData deployment) throws DeploymentException
{
@@ -74,6 +89,12 @@
classLoadingMetaData.setName(deployment.getBundleSymbolicName());
classLoadingMetaData.setVersion(deployment.getBundleVersion());
+ if (classLoaderSystem != null)
+ {
+ ClassLoaderDomain defaultDomain = classLoaderSystem.getDefaultDomain();
+ classLoadingMetaData.setParentDomain(defaultDomain.getName());
+ }
+
CapabilitiesMetaData capabilities = classLoadingMetaData.getCapabilities();
RequirementsMetaData requirements = classLoadingMetaData.getRequirements();
Modified: projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/FrameworkEventsPluginImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/FrameworkEventsPluginImpl.java 2009-09-02 15:41:55 UTC (rev 93133)
+++ projects/jboss-osgi/projects/runtime/microcontainer/trunk/src/main/java/org/jboss/osgi/plugins/facade/plugins/FrameworkEventsPluginImpl.java 2009-09-02 16:31:13 UTC (rev 93134)
@@ -239,6 +239,8 @@
BundleEvent event = new BundleEvent(type, bundle);
String typeName = ConstantsHelper.bundleEvent(event.getType());
+ log.info("Bundle event: " + typeName + " for bundle " + bundle);
+
// Synchronous listeners first
for (Entry<Bundle, List<BundleListener>> entry : bundleListeners.entrySet())
{
@@ -295,6 +297,8 @@
FrameworkEvent event = new FrameworkEvent(type, bundle, throwable);
String typeName = ConstantsHelper.frameworkEvent(event.getType());
+ log.info("Framwork event: " + typeName + " for bundle " + bundle);
+
// Call the listeners
for (Entry<Bundle, List<FrameworkListener>> entry : frameworkListeners.entrySet())
{
@@ -330,10 +334,11 @@
// Expose the wrapper not the state itself
bundle = assertBundle(bundle);
-
ServiceEvent event = new ServiceEvent(type, service.getReferenceInternal());
String typeName = ConstantsHelper.serviceEvent(event.getType());
+ log.info("Service event: " + typeName + " for " + service);
+
// Call the listeners
for (Entry<Bundle, List<ServiceListenerRegistration>> entry : serviceListeners.entrySet())
{
16 years, 3 months
JBoss-OSGI SVN: r93124 - in projects/jboss-osgi/trunk/distribution/installer/src/main/resources: jbossas and 1 other directory.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-02 07:05:48 -0400 (Wed, 02 Sep 2009)
New Revision: 93124
Modified:
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml
Log:
#2 jbossas integration (wip)
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-02 10:15:43 UTC (rev 93123)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-09-02 11:05:48 UTC (rev 93124)
@@ -375,6 +375,13 @@
</fileset>
<singlefile condition="isJBossMC" src="@{deploy.artifacts.dir}/resources/jbossas-config/jboss-beans-jbossmc.xml"
target="${jbossInstallPath}/server/${jbossTargetServer}/deployers/osgi.deployer/META-INF/jboss-osgi-jboss-beans.xml" override="true"/>
+ <fileset condition="isJBossMC" dir="@{deploy.artifacts.dir}/lib" targetdir="${jbossInstallPath}/lib" override="true">
+ <include name="jboss-classloading.jar" />
+ <include name="jboss-dependency.jar" />
+ </fileset>
+ <fileset condition="isJBossMC" dir="@{deploy.artifacts.dir}/lib/org.osgi" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deployers/osgi.deployer" override="true">
+ <include name="org.osgi.core.jar" />
+ </fileset>
<fileset condition="isJBossMC" dir="@{deploy.artifacts.dir}/lib/org.osgi" targetdir="${jbossInstallPath}/server/${jbossTargetServer}/deploy/osgi" override="true">
<include name="org.osgi.compendium.jar" />
</fileset>
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-09-02 10:15:43 UTC (rev 93123)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/jbossas/jboss-beans-jbossmc.xml 2009-09-02 11:05:48 UTC (rev 93124)
@@ -15,11 +15,9 @@
</constructor>
<property name="properties">
<map keyClass="java.lang.String" valueClass="java.lang.String">
- <entry><key>org.osgi.framework.storage</key><value>${osgi.server.home}/data/osgi-store</value></entry>
+ <entry><key>org.osgi.framework.storage</key><value>${jboss.server.data.dir}/data/osgi-store</value></entry>
<entry><key>org.osgi.framework.storage.clean</key><value>onFirstInit</value></entry>
<entry><key>org.osgi.framework.system.packages.extra</key><value>
- <!-- [JBOSGI-145] JAXB classes are loaded from the system classpath -->
- com.sun.xml.internal.bind.v2,
org.jboss.beans.metadata.plugins;version=2.0,
org.jboss.beans.metadata.plugins.builder;version=2.0,
@@ -38,43 +36,19 @@
org.jboss.osgi.spi.testing;version=1.0,
org.jboss.osgi.spi.util;version=1.0
</value></entry>
- <!-- Hot Deployment -->
- <entry><key>org.jboss.osgi.hotdeploy.scandir</key><value>${osgi.server.home}/deploy</value></entry>
<!-- Husky socket connector properties -->
<entry><key>org.jboss.osgi.husky.runtime.connector.host</key><value>${jboss.bind.address}</value></entry>
<entry><key>org.jboss.osgi.husky.runtime.connector.port</key><value>5401</value></entry>
<!-- HTTP Service Port -->
<entry><key>org.osgi.service.http.port</key><value>8090</value></entry>
<!-- Config Admin Service -->
- <entry><key>felix.cm.dir</key><value>${osgi.server.home}/data/osgi-configadmin</value></entry>
- <!-- JMX bundle properties -->
- <entry><key>org.jboss.osgi.jmx.host</key><value>${jboss.bind.address}</value></entry>
- <entry><key>org.jboss.osgi.jmx.port</key><value>1098</value></entry>
- <!-- JNDI bundle properties -->
- <entry><key>org.jboss.osgi.jndi.host</key><value>${jboss.bind.address}</value></entry>
- <entry><key>org.jboss.osgi.jndi.rmi.port</key><value>1098</value></entry>
- <entry><key>org.jboss.osgi.jndi.port</key><value>1099</value></entry>
+ <entry><key>felix.cm.dir</key><value>${jboss.server.data.dir}/data/osgi-configadmin</value></entry>
</map>
</property>
<incallback method="addPlugin" />
<uncallback method="removePlugin" />
</bean>
- <bean name="OSGiAutoInstallPlugin" class="org.jboss.osgi.plugins.facade.plugins.AutoInstallPluginImpl">
- <constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
- <property name="autoInstall">
- <list elementClass="java.net.URL">
- <value>${osgi.home}/server/minimal/deploy/org.osgi.compendium.jar</value>
- </list>
- </property>
- <property name="autoStart">
- <list elementClass="java.net.URL">
- <value>${osgi.home}/server/minimal/deploy/org.apache.felix.log.jar</value>
- <value>${osgi.home}/server/minimal/deploy/jboss-osgi-common.jar</value>
- <value>${osgi.home}/server/minimal/deploy/jboss-osgi-hotdeploy.jar</value>
- </list>
- </property>
- </bean>
<bean name="OSGiFrameworkEventsPlugin" class="org.jboss.osgi.plugins.facade.plugins.FrameworkEventsPluginImpl">
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
@@ -93,47 +67,9 @@
********************************
-->
- <!-- The MainDeployer -->
- <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
- <property name="structuralDeployers"><inject bean="StructuralDeployers" /></property>
- <property name="deployers"><inject bean="Deployers" /></property>
- </bean>
-
- <!-- The holder for deployers that determine structure -->
- <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
- <property name="structureBuilder">
- <!-- The consolidator of the structure information -->
- <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder" />
- </property>
- <!-- Accept any implementor of structure deployer -->
- <incallback method="addDeployer" />
- <uncallback method="removeDeployer" />
- </bean>
-
- <!-- The holder for deployers that do real deployment -->
- <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
- <constructor><parameter><inject bean="jboss.kernel:service=KernelController" /></parameter></constructor>
- <!-- Accept any implementor of deployer -->
- <incallback method="addDeployer" />
- <uncallback method="removeDeployer" />
- </bean>
-
<!-- Bundle Structure -->
<bean name="BundleStructure" class="org.jboss.osgi.deployer.BundleStructureDeployer" />
- <!-- JAR & File Structure (needed for negative testing) -->
- <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure" />
- <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure" />
-
- <!-- POJO Deployment -->
- <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer" />
- <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer" />
- <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
- <constructor>
- <parameter class="org.jboss.dependency.spi.Controller"><inject bean="jboss.kernel:service=KernelController" /></parameter>
- </constructor>
- </bean>
-
<!-- OSGI Deployment -->
<bean name="OSGiManifestParsingDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiManifestParsingDeployer" />
<bean name="OSGiBundleStateDeployer" class="org.jboss.osgi.plugins.deployers.bundle.OSGiBundleStateDeployer">
@@ -151,25 +87,8 @@
-->
<!-- ClassLoading -->
- <bean name="ClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
+ <bean name="OSGiClassLoaderSystem" class="org.jboss.osgi.plugins.facade.classloading.OSGiClassLoaderSystem" >
<constructor><parameter><inject bean="OSGiBundleManager" /></parameter></constructor>
</bean>
- <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
- <incallback method="addModule" state="Configured" />
- <uncallback method="removeModule" state="Configured" />
- </bean>
- <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
- <property name="defaultMetaData">
- <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true" />
- </property>
- </bean>
- <bean name="ClassLoaderClassPathDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer" />
- <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
- <property name="classLoading"><inject bean="ClassLoading" /></property>
- </bean>
- <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
- <property name="classLoading"><inject bean="ClassLoading" /></property>
- <property name="system"><inject bean="ClassLoaderSystem" /></property>
- </bean>
</deployment>
\ No newline at end of file
16 years, 3 months
JBoss-OSGI SVN: r93123 - projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi99.
by jboss-osgi-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2009-09-02 06:15:43 -0400 (Wed, 02 Sep 2009)
New Revision: 93123
Modified:
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi99/OSGI99TestCase.java
Log:
bundleA.getState() == Bundle.INSTALLED || bundleA.getState() == Bundle.RESOLVED
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi99/OSGI99TestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi99/OSGI99TestCase.java 2009-09-02 10:10:04 UTC (rev 93122)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi99/OSGI99TestCase.java 2009-09-02 10:15:43 UTC (rev 93123)
@@ -24,6 +24,7 @@
//$Id: OSGI39TestCase.java 87103 2009-04-09 22:18:31Z thomas.diesler(a)jboss.com $
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import org.jboss.osgi.spi.testing.OSGiBundle;
import org.jboss.osgi.spi.testing.OSGiRuntime;
@@ -63,7 +64,7 @@
public void testInstallOnly() throws Exception
{
OSGiBundle bundleA = runtime.installBundle("jbosgi99-bundleA.jar");
- assertEquals("Bundle installed", Bundle.INSTALLED, bundleA.getState());
+ assertTrue("Bundle installed", bundleA.getState() == Bundle.INSTALLED || bundleA.getState() == Bundle.RESOLVED);
bundleA.start();
assertEquals("Bundle active", Bundle.ACTIVE, bundleA.getState());
16 years, 3 months