[jboss-osgi-commits] JBoss-OSGI SVN: r89501 - in projects/jboss-osgi/trunk: blueprint/testsuite/src/test/resources and 22 other directories.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Thu May 28 17:21:08 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-05-28 17:21:07 -0400 (Thu, 28 May 2009)
New Revision: 89501
Added:
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/BlueprintCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/ConfigAdminCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HttpCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JMXCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JNDICapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/RemoteLogCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLParserCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedPackageAdmin.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFramework.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFrameworkException.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemotePackageAdmin.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/CapabilityTestCase.java
Removed:
projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-equinox.properties
projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-knopflerfish.properties
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFramework.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFrameworkException.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/BlueprintCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/Capability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/ConfigAdminCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedPackageAdmin.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedRuntime.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HttpCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HuskyCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JMXCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JNDICapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/MicrocontainerCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteBundleBadName.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteLogCapability.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemotePackageAdmin.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteRuntime.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/BundleTestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/deployer/jbosgi36/
Modified:
projects/jboss-osgi/trunk/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/context/BlueprintContextTestCase.java
projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/context/context-basic.bnd
projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/jboss-osgi-felix.properties
projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-felix.properties
projects/jboss-osgi/trunk/husky/testsuite/pom.xml
projects/jboss-osgi/trunk/husky/testsuite/scripts/assembly-bundles.xml
projects/jboss-osgi/trunk/husky/testsuite/src/test/java/org/jboss/test/osgi/husky/context/ContextTestCase.java
projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/context/context-basic.bnd
projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/jboss-osgi-felix.properties
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/AbstractBundle.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java
projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jmx/JMXTestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jndi/JNDITestCase.java
projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/microcontainer/MicrocontainerTestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi41/OSGI41TestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbossas/jbosgi36/OSGI36TestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jmx/JMXServiceTestCase.java
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jndi/JNDIServiceTestCase.java
Log:
Restructure testing SPI
Modified: projects/jboss-osgi/trunk/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/context/BlueprintContextTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/context/BlueprintContextTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/blueprint/testsuite/src/test/java/org/jboss/test/osgi/blueprint/context/BlueprintContextTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -29,12 +29,12 @@
import org.jboss.osgi.husky.BridgeFactory;
import org.jboss.osgi.husky.annotation.ProvideContext;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.BlueprintCapability;
-import org.jboss.osgi.spi.testing.HuskyCapability;
-import org.jboss.osgi.spi.testing.JMXCapability;
-import org.jboss.osgi.spi.testing.MicrocontainerCapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
+import org.jboss.osgi.spi.testing.capability.BlueprintCapability;
+import org.jboss.osgi.spi.testing.capability.HuskyCapability;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.MicrocontainerCapability;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Modified: projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/context/context-basic.bnd
===================================================================
--- projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/context/context-basic.bnd 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/context/context-basic.bnd 2009-05-28 21:21:07 UTC (rev 89501)
@@ -8,6 +8,7 @@
org.jboss.osgi.husky, \
org.jboss.osgi.husky.annotation, \
org.jboss.osgi.spi.testing, \
+ org.jboss.osgi.spi.testing.capability, \
org.junit, \
org.osgi.framework, \
org.osgi.service.blueprint.*
Modified: projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/jboss-osgi-felix.properties
===================================================================
--- projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/jboss-osgi-felix.properties 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/blueprint/testsuite/src/test/resources/jboss-osgi-felix.properties 2009-05-28 21:21:07 UTC (rev 89501)
@@ -20,6 +20,7 @@
org.jboss.osgi.spi;version=1.0, \
org.jboss.osgi.spi.management;version=1.0, \
org.jboss.osgi.spi.testing;version=1.0, \
+ org.jboss.osgi.spi.testing.capability;version=1.0, \
org.jboss.virtual, \
org.jboss.virtual.plugins.registry, \
org.jboss.virtual.plugins.context.jar, \
Deleted: projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-equinox.properties
===================================================================
--- projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-equinox.properties 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-equinox.properties 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,78 +0,0 @@
-#
-# Properties read by the org.jboss.osgi.spi.framework.PropertiesBootstrapProvider
-#
-# $Id$
-#
-
-# The OSGiFramework implementation
-org.jboss.osgi.spi.framework.impl=org.jboss.osgi.equinox.framework.EquinoxIntegration
-
-# Properties to configure the Framework
-org.osgi.framework.storage=${osgi.home}/data/osgi-store
-org.osgi.framework.storage.clean=onFirstInit
-
-# HTTP Service Port
-org.osgi.service.http.port=8090
-
-# Config Admin Service
-felix.cm.dir=${osgi.home}/data/osgi-configadmin
-
-# JMX bundle properties
-org.jboss.osgi.jmx.host=${jboss.bind.address}
-org.jboss.osgi.jmx.rmi.port=1098
-
-# JNDI bundle properties
-org.jboss.osgi.jndi.host=${jboss.bind.address}
-org.jboss.osgi.jndi.rmi.port=1098
-org.jboss.osgi.jndi.port=1099
-
-# Remote Logging
-org.jboss.osgi.service.remote.log.sender=true
-org.jboss.osgi.service.remote.log.host=${jboss.bind.address}
-org.jboss.osgi.service.remote.log.port=5400
-
-# Extra System Packages
-org.osgi.framework.system.packages.extra=\
- org.jboss.logging, \
- org.jboss.net.protocol, \
- org.jboss.osgi.spi, \
- org.jboss.osgi.spi.logging, \
- org.jboss.osgi.spi.management, \
- org.jboss.virtual, \
- org.jboss.virtual.plugins.registry, \
- org.jboss.virtual.plugins.context.jar, \
- org.jboss.virtual.plugins.vfs.helpers, \
- org.jboss.virtual.protocol, \
- org.apache.log4j, \
- org.jboss.util, \
- org.jboss.util.id, \
- org.jboss.util.threadpool, \
- org.jboss.util.propertyeditor
-
-# These are needed by jboss-remoting
-# org.apache.log4j, \
-# org.jboss.util, \
-# org.jboss.util.id, \
-# org.jboss.util.threadpool, \
-# org.jboss.util.propertyeditor
-
-# Bundles that need to be installed with the Framework automatically
-org.jboss.osgi.spi.framework.autoInstall=\
- file://${osgi.home}/bundles/org.eclipse.osgi.services.jar
-
-# Bundles that need to be started automatically
-org.jboss.osgi.spi.framework.autoStart=\
- file://${osgi.home}/bundles/org.apache.felix.log.jar \
- file://${osgi.home}/bundles/jboss-osgi-apache-xerces.jar \
- file://${osgi.home}/bundles/jboss-osgi-common-core.jar \
- file://${osgi.home}/bundles/jboss-osgi-jaxb.jar \
- file://${osgi.home}/bundles/jboss-osgi-xml-binding.jar \
- file://${osgi.home}/bundles/jboss-osgi-common.jar \
- file://${osgi.home}/bundles/jboss-osgi-logging.jar \
- file://${osgi.home}/bundles/jboss-osgi-jndi.jar \
- file://${osgi.home}/bundles/jboss-osgi-jmx.jar \
- file://${osgi.home}/bundles/jboss-osgi-microcontainer.jar \
- file://${osgi.home}/bundles/org.apache.felix.metatype.jar \
- file://${osgi.home}/bundles/org.apache.felix.configadmin.jar \
- file://${osgi.home}/bundles/org.apache.felix.http.jetty.jar \
- file://${osgi.home}/bundles/jboss-osgi-webconsole.jar
Modified: projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-felix.properties
===================================================================
--- projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-felix.properties 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-felix.properties 2009-05-28 21:21:07 UTC (rev 89501)
@@ -46,6 +46,7 @@
org.jboss.osgi.spi.logging;version=1.0, \
org.jboss.osgi.spi.management;version=1.0, \
org.jboss.osgi.spi.testing;version=1.0, \
+ org.jboss.osgi.spi.testing.capability;version=1.0, \
org.jboss.virtual, \
org.jboss.virtual.plugins.registry, \
org.jboss.virtual.plugins.context.jar, \
Deleted: projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-knopflerfish.properties
===================================================================
--- projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-knopflerfish.properties 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/distribution/runtime/conf/jboss-osgi-knopflerfish.properties 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,78 +0,0 @@
-#
-# Properties read by the org.jboss.osgi.spi.framework.PropertiesBootstrapProvider
-#
-# $Id$
-#
-
-# The OSGiFramework implementation
-org.jboss.osgi.spi.framework.impl=org.jboss.osgi.knopflerfish.framework.KnopflerfishIntegration
-
-# Properties to configure the Framework
-org.osgi.framework.storage=${osgi.home}/data/osgi-store
-org.osgi.framework.storage.clean=onFirstInit
-
-# HTTP Service Port
-org.osgi.service.http.port=8090
-
-# Config Admin Service
-felix.cm.dir=${osgi.home}/data/osgi-configadmin
-
-# JMX bundle properties
-org.jboss.osgi.jmx.host=${jboss.bind.address}
-org.jboss.osgi.jmx.rmi.port=1098
-
-# JNDI bundle properties
-org.jboss.osgi.jndi.host=${jboss.bind.address}
-org.jboss.osgi.jndi.rmi.port=1098
-org.jboss.osgi.jndi.port=1099
-
-# Remote Logging
-org.jboss.osgi.service.remote.log.sender=true
-org.jboss.osgi.service.remote.log.host=${jboss.bind.address}
-org.jboss.osgi.service.remote.log.port=5400
-
-# Extra System Packages
-org.osgi.framework.system.packages.extra=\
- org.jboss.logging, \
- org.jboss.net.protocol, \
- org.jboss.osgi.spi, \
- org.jboss.osgi.spi.logging, \
- org.jboss.osgi.spi.management, \
- org.jboss.virtual, \
- org.jboss.virtual.plugins.registry, \
- org.jboss.virtual.plugins.context.jar, \
- org.jboss.virtual.plugins.vfs.helpers, \
- org.jboss.virtual.protocol, \
- org.apache.log4j, \
- org.jboss.util, \
- org.jboss.util.id, \
- org.jboss.util.threadpool, \
- org.jboss.util.propertyeditor
-
-# These are needed by jboss-remoting
-# org.apache.log4j, \
-# org.jboss.util, \
-# org.jboss.util.id, \
-# org.jboss.util.threadpool, \
-# org.jboss.util.propertyeditor
-
-# Bundles that need to be installed with the Framework automatically
-org.jboss.osgi.spi.framework.autoInstall=\
- file://${osgi.home}/bundles/org.osgi.compendium.jar
-
-# Bundles that need to be started automatically
-org.jboss.osgi.spi.framework.autoStart=\
- file://${osgi.home}/bundles/org.apache.felix.log.jar \
- file://${osgi.home}/bundles/jboss-osgi-apache-xerces.jar \
- file://${osgi.home}/bundles/jboss-osgi-common-core.jar \
- file://${osgi.home}/bundles/jboss-osgi-jaxb.jar \
- file://${osgi.home}/bundles/jboss-osgi-xml-binding.jar \
- file://${osgi.home}/bundles/jboss-osgi-common.jar \
- file://${osgi.home}/bundles/jboss-osgi-logging.jar \
- file://${osgi.home}/bundles/jboss-osgi-jndi.jar \
- file://${osgi.home}/bundles/jboss-osgi-jmx.jar \
- file://${osgi.home}/bundles/jboss-osgi-microcontainer.jar \
- file://${osgi.home}/bundles/org.apache.felix.metatype.jar \
- file://${osgi.home}/bundles/org.apache.felix.configadmin.jar \
- file://${osgi.home}/bundles/org.apache.felix.http.jetty.jar \
- file://${osgi.home}/bundles/jboss-osgi-webconsole.jar
Modified: projects/jboss-osgi/trunk/husky/testsuite/pom.xml
===================================================================
--- projects/jboss-osgi/trunk/husky/testsuite/pom.xml 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/husky/testsuite/pom.xml 2009-05-28 21:21:07 UTC (rev 89501)
@@ -59,6 +59,11 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.jboss.osgi.bundles</groupId>
+ <artifactId>jboss-osgi-common-core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.jboss.osgi</groupId>
<artifactId>jboss-osgi-husky</artifactId>
<scope>provided</scope>
Modified: projects/jboss-osgi/trunk/husky/testsuite/scripts/assembly-bundles.xml
===================================================================
--- projects/jboss-osgi/trunk/husky/testsuite/scripts/assembly-bundles.xml 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/husky/testsuite/scripts/assembly-bundles.xml 2009-05-28 21:21:07 UTC (rev 89501)
@@ -16,6 +16,7 @@
<outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>*:jboss-osgi-common:jar</include>
+ <include>*:jboss-osgi-common-core:jar</include>
<include>*:jboss-osgi-jmx:jar</include>
<include>*:jboss-osgi-husky:jar</include>
<include>*:org.apache.felix.log:jar</include>
Modified: projects/jboss-osgi/trunk/husky/testsuite/src/test/java/org/jboss/test/osgi/husky/context/ContextTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/husky/testsuite/src/test/java/org/jboss/test/osgi/husky/context/ContextTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/husky/testsuite/src/test/java/org/jboss/test/osgi/husky/context/ContextTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -28,10 +28,10 @@
import org.jboss.osgi.husky.BridgeFactory;
import org.jboss.osgi.husky.annotation.ProvideContext;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.HuskyCapability;
-import org.jboss.osgi.spi.testing.JMXCapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.HuskyCapability;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Modified: projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/context/context-basic.bnd
===================================================================
--- projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/context/context-basic.bnd 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/context/context-basic.bnd 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,7 +1,15 @@
# bnd build -classpath target/test-classes -output target/test-libs/context-basic.jar src/test/resources/context/context-basic.bnd
Bundle-SymbolicName: context-basic
+
Export-Package: org.jboss.test.osgi.husky.context
-Import-Package: org.jboss.osgi.husky, org.jboss.osgi.husky.annotation, org.jboss.osgi.spi.testing, org.junit, org.osgi.framework
+Import-Package: \
+ org.jboss.osgi.husky, \
+ org.jboss.osgi.husky.annotation, \
+ org.jboss.osgi.spi.testing, \
+ org.jboss.osgi.spi.testing.capability, \
+ org.junit, \
+ org.osgi.framework
+
Test-Package: org.jboss.test.osgi.husky.context
Modified: projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/jboss-osgi-felix.properties
===================================================================
--- projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/jboss-osgi-felix.properties 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/husky/testsuite/src/test/resources/jboss-osgi-felix.properties 2009-05-28 21:21:07 UTC (rev 89501)
@@ -23,6 +23,7 @@
org.jboss.logging, \
org.jboss.osgi.spi;version=1.0, \
org.jboss.osgi.spi.testing;version=1.0, \
+ org.jboss.osgi.spi.testing.capability;version=1.0, \
org.osgi.framework;version=1.4
# Bundles that need to be installed with the Framework automatically
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteBundle.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteBundle.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,68 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.framework;
-
-//$Id$
-
-import org.osgi.framework.BundleException;
-
-/**
- * The supported functionality of a remote OSGi Bundle.
- *
- * @author thomas.diesler at jboss.com
- * @since 04-Mar-2009
- */
-public interface RemoteBundle
-{
- /**
- * Returns this bundle's current state.
- * A bundle can be in only one state at any time.
- *
- * @return An element of UNINSTALLED,INSTALLED, RESOLVED,STARTING, STOPPING,ACTIVE.
- */
- int getState();
-
- /**
- * Returns this bundle's unique identifier.
- */
- long getBundleId();
-
- /**
- * Returns the symbolic name of this bundle as specified by its Bundle-SymbolicName manifest header
- */
- String getSymbolicName();
-
- /**
- * Returns the value of the specified property from the BundleContext.
- */
- String getProperty(String key);
-
- /**
- * Starts this bundle with no options
- */
- void start() throws BundleException;
-
- /**
- * Stops this bundle with no options.
- */
- void stop() throws BundleException;
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFramework.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFramework.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFramework.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.framework;
-
-//$Id$
-
-import java.util.Set;
-
-/**
- * The supported functionality of a remote OSGi Framework
- *
- * @author thomas.diesler at jboss.com
- * @since 04-Mar-2009
- */
-public interface RemoteFramework
-{
- /**
- * Get the list of all installed bundles
- */
- Set<RemoteBundle> getBundles();
-
- /**
- * Get the installed bundle
- */
- RemoteBundle getBundle(String symbolicName);
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFrameworkException.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFrameworkException.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFrameworkException.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.framework;
-
-// $Id$
-
-/**
- * A remote OSGi Framework exception that should be thrown on unrecoverable errors.
- *
- * @author thomas.diesler at jboss.com
- * @since 18-Jan-2009
- */
- at SuppressWarnings("serial")
-public class RemoteFrameworkException extends RuntimeException
-{
- public RemoteFrameworkException(String message)
- {
- super(message);
- }
-
- public RemoteFrameworkException(String message, Throwable cause)
- {
- super(message, cause);
- }
-
- public RemoteFrameworkException(Throwable cause)
- {
- super(cause);
- }
-}
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -23,6 +23,8 @@
//$Id$
+import java.util.Dictionary;
+
import javax.management.ObjectName;
import org.jboss.osgi.spi.Constants;
@@ -71,6 +73,12 @@
return bundle.getSymbolicName();
}
+ @SuppressWarnings("unchecked")
+ public Dictionary<String, String> getHeaders()
+ {
+ return bundle.getHeaders();
+ }
+
public void start() throws BundleException
{
bundle.start();
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/management/ManagedBundleMBean.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -23,9 +23,11 @@
//$Id$
+import java.util.Dictionary;
+
import javax.management.ObjectName;
-import org.jboss.osgi.spi.framework.RemoteBundle;
+import org.osgi.framework.BundleException;
/**
* The managed view of an OSGi Bundle.
@@ -37,10 +39,47 @@
* @author thomas.diesler at jboss.com
* @since 04-Mar-2009
*/
-public interface ManagedBundleMBean extends RemoteBundle
+public interface ManagedBundleMBean
{
/**
* Get the bundles object name.
*/
ObjectName getObjectName();
+
+ /**
+ * Returns this bundle's current state. A bundle can be in only one state at any time.
+ *
+ * @return An element of UNINSTALLED,INSTALLED, RESOLVED,STARTING, STOPPING,ACTIVE.
+ */
+ int getState();
+
+ /**
+ * Returns this bundle's unique identifier.
+ */
+ long getBundleId();
+
+ /**
+ * Returns the symbolic name of this bundle as specified by its Bundle-SymbolicName manifest header
+ */
+ String getSymbolicName();
+
+ /**
+ * Returns the bundle manifest headers
+ */
+ Dictionary<String, String> getHeaders();
+
+ /**
+ * Returns the value of the specified property from the BundleContext.
+ */
+ String getProperty(String key);
+
+ /**
+ * Starts this bundle with no options
+ */
+ void start() throws BundleException;
+
+ /**
+ * Stops this bundle with no options.
+ */
+ void stop() throws BundleException;
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/AbstractBundle.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/AbstractBundle.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/AbstractBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -21,6 +21,8 @@
*/
package org.jboss.osgi.spi.testing;
+import java.util.Dictionary;
+
import org.osgi.framework.BundleException;
/**
@@ -35,6 +37,10 @@
public abstract String getSymbolicName();
+ public abstract String getVersion();
+
+ public abstract Dictionary<String, String> getHeaders();
+
public abstract int getState();
public abstract String getProperty(String key);
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/BlueprintCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/BlueprintCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/BlueprintCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class BlueprintCapability extends Capability
-{
- public BlueprintCapability()
- {
- addBundle("bundles/jboss-osgi-blueprint.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/Capability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/Capability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/Capability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public abstract class Capability
-{
- private Properties props = new Properties();
- private List<String> bundles = new ArrayList<String>();
-
- public Capability()
- {
- }
-
- public Properties getProperties()
- {
- return props;
- }
-
- protected void addBundle(String bundle)
- {
- bundles.add(bundle);
- }
-
- public List<String> getBundles()
- {
- return new ArrayList<String>(bundles);
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/ConfigAdminCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/ConfigAdminCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/ConfigAdminCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,39 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class ConfigAdminCapability extends Capability
-{
- public ConfigAdminCapability()
- {
- addBundle("bundles/org.apache.felix.metatype.jar");
- addBundle("bundles/org.apache.felix.configadmin.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedBundle.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedBundle.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-import org.jboss.osgi.spi.logging.ExportedPackageHelper;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * An OSGi Test Case
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class EmbeddedBundle extends AbstractBundle
-{
- private Bundle bundle;
-
- public EmbeddedBundle(Bundle bundle)
- {
- this.bundle = bundle;
- }
-
- public Bundle getBundle()
- {
- return bundle;
- }
-
- @Override
- public int getState()
- {
- return bundle.getState();
- }
-
- @Override
- public String getSymbolicName()
- {
- return bundle.getSymbolicName();
- }
-
- @Override
- public long getBundleId()
- {
- return bundle.getBundleId();
- }
-
- @Override
- public String getProperty(String key)
- {
- return bundle.getBundleContext().getProperty(key);
- }
-
- @Override
- public void start() throws BundleException
- {
- bundle.start();
-
- ExportedPackageHelper helper = new ExportedPackageHelper(bundle.getBundleContext());
- helper.logExportedPackages(bundle);
- }
-
- @Override
- public void stop() throws BundleException
- {
- bundle.stop();
- }
-
- @Override
- public void uninstall() throws BundleException
- {
- bundle.uninstall();
- }
-}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedPackageAdmin.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedPackageAdmin.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedPackageAdmin.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-/**
- * [TODO]
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class EmbeddedPackageAdmin extends AbstractPackageAdmin
-{
- private PackageAdmin packAdmin;
-
- public EmbeddedPackageAdmin(PackageAdmin packAdmin)
- {
- this.packAdmin = packAdmin;
- }
-
- @Override
- public void refreshPackages(AbstractBundle[] bundles)
- {
- Bundle[] bundleArr = null;
- if (bundles != null)
- {
- bundleArr = new Bundle[bundles.length];
- for (int i=0; i < bundles.length; i++)
- {
- bundleArr[i] = ((EmbeddedBundle)bundles[i]).getBundle();
- }
- }
- packAdmin.refreshPackages(bundleArr);
- }
-}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedRuntime.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedRuntime.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedRuntime.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,154 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-// $Id$
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Properties;
-
-import javax.management.MBeanServer;
-import javax.management.MBeanServerConnection;
-import javax.management.MBeanServerFactory;
-
-import org.jboss.osgi.spi.framework.OSGiBootstrapProvider;
-import org.jboss.osgi.spi.framework.OSGiFramework;
-import org.jboss.osgi.spi.logging.LogEntryCache;
-import org.jboss.osgi.spi.testing.internal.OSGiRuntimeImpl;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogReaderService;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * [TODO]
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class EmbeddedRuntime extends OSGiRuntimeImpl
-{
- public EmbeddedRuntime(OSGiTestHelper helper)
- {
- super(helper);
- }
-
- public AbstractBundle installBundle(String location) throws BundleException
- {
- URL bundleURL = getTestHelper().getTestArchiveURL(location);
- Bundle bundle = getBundleContext().installBundle(bundleURL.toExternalForm());
- return new EmbeddedBundle(bundle);
- }
-
- public AbstractBundle[] getBundles()
- {
- List<AbstractBundle> absBundles = new ArrayList<AbstractBundle>();
- for (Bundle bundle : getBundleContext().getBundles())
- {
- absBundles.add(new EmbeddedBundle(bundle));
- }
- AbstractBundle[] bundleArr = new AbstractBundle[absBundles.size()];
- absBundles.toArray(bundleArr);
- return bundleArr;
- }
-
- @Override
- public void addCapability(Capability capability) throws BundleException
- {
- // Copy the properties to the System props
- Properties props = capability.getProperties();
- Enumeration<?> names = props.propertyNames();
- while (names.hasMoreElements())
- {
- String key = (String)names.nextElement();
- String value = props.getProperty(key);
- System.setProperty(key, value);
- }
-
- super.addCapability(capability);
- }
-
- public void startLogEntryTracking(final LogEntryCache logEntryCache)
- {
- super.startLogEntryTracking(logEntryCache);
-
- // Track the LogReaderService to add the LogEntryCache as LogListener
- ServiceTracker tracker = new ServiceTracker(getBundleContext(), LogReaderService.class.getName(), null)
- {
- @Override
- public Object addingService(ServiceReference sref)
- {
- LogReaderService logReaderService = (LogReaderService)super.addingService(sref);
- logReaderService.addLogListener(logEntryCache);
- setLogReaderService(logReaderService);
- return logReaderService;
- }
- };
- tracker.open();
- }
-
- @Override
- public void shutdown()
- {
- super.shutdown();
- OSGiBootstrapProvider bootProvider = getTestHelper().getBootstrapProvider();
- bootProvider.getFramework().stop();
- }
-
- public BundleContext getBundleContext()
- {
- OSGiBootstrapProvider bootProvider = getTestHelper().getBootstrapProvider();
- OSGiFramework framework = bootProvider.getFramework();
- return framework.getBundleContext();
- }
-
- @SuppressWarnings("unchecked")
- public MBeanServerConnection getMBeanServer()
- {
- ArrayList<MBeanServer> serverArr = MBeanServerFactory.findMBeanServer(null);
- if (serverArr.size() > 1)
- throw new IllegalStateException("Multiple MBeanServer instances not supported");
-
- MBeanServer server = null;
- if (serverArr.size() == 1)
- server = serverArr.get(0);
-
- if (server == null)
- server = MBeanServerFactory.createMBeanServer();
-
- return server;
- }
-
- public AbstractPackageAdmin getPackageAdmin()
- {
- BundleContext context = getBundleContext();
- ServiceReference sref = context.getServiceReference(PackageAdmin.class.getName());
- PackageAdmin packAdmin = (PackageAdmin)context.getService(sref);
- return new EmbeddedPackageAdmin(packAdmin);
- }
-}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HttpCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HttpCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HttpCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-import java.util.Properties;
-
-//$Id$
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class HttpCapability extends Capability
-{
- public HttpCapability()
- {
- Properties props = getProperties();
- props.setProperty("org.osgi.service.http.port", "8090");
-
- addBundle("bundles/org.apache.felix.http.jetty.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HuskyCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HuskyCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HuskyCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class HuskyCapability extends Capability
-{
- public HuskyCapability()
- {
- addBundle("bundles/jboss-osgi-husky.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JMXCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JMXCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JMXCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-import java.util.Properties;
-
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class JMXCapability extends Capability
-{
- public JMXCapability()
- {
- Properties props = getProperties();
- props.setProperty("org.jboss.osgi.jmx.host", System.getProperty("jboss.bind.address", "localhost"));
- props.setProperty("org.jboss.osgi.jmx.rmi.port", "1198");
-
- addBundle("bundles/jboss-osgi-jmx.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JNDICapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JNDICapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JNDICapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-import java.util.Properties;
-
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class JNDICapability extends Capability
-{
- public JNDICapability()
- {
- Properties props = getProperties();
- props.setProperty("org.jboss.osgi.jndi.host", System.getProperty("jboss.bind.address", "localhost"));
- props.setProperty("org.jboss.osgi.jndi.rmi.port", "1198");
- props.setProperty("org.jboss.osgi.jndi.port", "1199");
-
- addBundle("bundles/jboss-osgi-common-core.jar");
- addBundle("bundles/jboss-osgi-jndi.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/MicrocontainerCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/MicrocontainerCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/MicrocontainerCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,43 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class MicrocontainerCapability extends Capability
-{
- public MicrocontainerCapability()
- {
- addBundle("bundles/jboss-osgi-apache-xerces.jar");
- addBundle("bundles/jboss-osgi-jaxb.jar");
- addBundle("bundles/jboss-osgi-common-core.jar");
- addBundle("bundles/jboss-osgi-xml-binding.jar");
- addBundle("bundles/jboss-osgi-microcontainer.jar");
- }
-}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiRuntime.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -28,6 +28,7 @@
import org.jboss.osgi.spi.logging.LogEntryCache;
import org.jboss.osgi.spi.management.MBeanProxyException;
+import org.jboss.osgi.spi.testing.capability.Capability;
import org.osgi.framework.BundleException;
/**
@@ -48,12 +49,10 @@
AbstractBundle installBundle(String location) throws BundleException;
- void deploy(String location) throws Exception;
+ AbstractBundle[] getBundles();
- void undeploy(String location) throws Exception;
+ AbstractBundle getBundle(String symbolicName, String version);
- AbstractBundle[] getBundles();
-
AbstractPackageAdmin getPackageAdmin();
InitialContext getInitialContext() throws NamingException;
@@ -62,7 +61,12 @@
MBeanServerConnection getMBeanServer();
+ void deploy(String location) throws Exception;
+
+ void undeploy(String location) throws Exception;
+
String getServerHost();
void shutdown();
+
}
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTest.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -28,7 +28,6 @@
import javax.naming.NamingException;
import org.jboss.logging.Logger;
-import org.jboss.osgi.spi.testing.internal.OSGiRuntimeImpl;
import org.jboss.virtual.VFS;
import org.junit.After;
import org.junit.Before;
@@ -81,12 +80,12 @@
return helper.getDefaultRuntime();
}
- protected OSGiRuntimeImpl getEmbeddedRuntime()
+ protected OSGiRuntime getEmbeddedRuntime()
{
return helper.getEmbeddedRuntime();
}
- public RemoteRuntime getRemoteRuntime()
+ public OSGiRuntime getRemoteRuntime()
{
return helper.getRemoteRuntime();
}
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/OSGiTestHelper.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -31,6 +31,8 @@
import org.jboss.osgi.spi.framework.OSGiBootstrap;
import org.jboss.osgi.spi.framework.OSGiBootstrapProvider;
+import org.jboss.osgi.spi.testing.internal.EmbeddedRuntime;
+import org.jboss.osgi.spi.testing.internal.RemoteRuntime;
/**
* An OSGi Test Helper
@@ -79,12 +81,12 @@
return runtime;
}
- public EmbeddedRuntime getEmbeddedRuntime()
+ public OSGiRuntime getEmbeddedRuntime()
{
return new EmbeddedRuntime(this);
}
- public RemoteRuntime getRemoteRuntime()
+ public OSGiRuntime getRemoteRuntime()
{
return new RemoteRuntime(this);
}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteBundleBadName.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteBundleBadName.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteBundleBadName.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,102 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-import org.jboss.logging.Logger;
-import org.jboss.osgi.spi.framework.RemoteBundle;
-import org.osgi.framework.BundleException;
-
-/**
- * An OSGi Test Case
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class RemoteBundleBadName extends AbstractBundle
-{
- // Provide logging
- private static final Logger log = Logger.getLogger(RemoteBundleBadName.class);
-
- private RemoteRuntime runtime;
- private RemoteBundle bundle;
- private String location;
-
- public RemoteBundleBadName(RemoteRuntime runtime, RemoteBundle bundle, String location)
- {
- this.runtime = runtime;
- this.bundle = bundle;
- this.location = location;
- }
-
- @Override
- public int getState()
- {
- return bundle.getState();
- }
-
- @Override
- public String getSymbolicName()
- {
- return bundle.getSymbolicName();
- }
-
- @Override
- public long getBundleId()
- {
- return bundle.getBundleId();
- }
-
- @Override
- public String getProperty(String key)
- {
- return bundle.getProperty(key);
- }
-
- @Override
- public void start() throws BundleException
- {
- bundle.start();
- }
-
- @Override
- public void stop() throws BundleException
- {
- bundle.stop();
- }
-
- @Override
- public void uninstall() throws BundleException
- {
- try
- {
- runtime.undeploy(location);
- }
- catch (RuntimeException rte)
- {
- throw rte;
- }
- catch (Exception ex)
- {
- log.error("Cannot uninstall: " + location);
- }
- }
-}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteLogCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteLogCapability.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteLogCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-//$Id$
-
-import java.util.Properties;
-
-
-/**
- * [TODO]
- *
- * @author thomas.diesler at jboss.com
- * @since 05-May-2009
- */
-public class RemoteLogCapability extends Capability
-{
- public RemoteLogCapability()
- {
- Properties props = getProperties();
- props.setProperty("org.jboss.osgi.service.remote.log.reader", "true");
- props.setProperty("org.jboss.osgi.remote.log.host", System.getProperty("jboss.bind.address", "localhost"));
- props.setProperty("org.jboss.osgi.remote.log.port", "5400");
-
- addBundle("bundles/jboss-osgi-remotelog.jar");
- }
-}
\ No newline at end of file
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemotePackageAdmin.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemotePackageAdmin.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemotePackageAdmin.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,64 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-import org.jboss.osgi.spi.management.MBeanProxyException;
-import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
-
-/**
- * [TODO]
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class RemotePackageAdmin extends AbstractPackageAdmin
-{
- private RemoteRuntime runtime;
-
- public RemotePackageAdmin(RemoteRuntime runtime)
- {
- this.runtime = runtime;
- }
-
- @Override
- public void refreshPackages(AbstractBundle[] bundles)
- {
- String[] bundleArr = null;
- if (bundles != null)
- {
- bundleArr = new String[bundles.length];
- for (int i=0; i < bundles.length; i++)
- {
- bundleArr[i] = bundles[i].getSymbolicName();
- }
- }
- try
- {
- ManagedFrameworkMBean mbeanProxy = runtime.getMBeanProxy(ManagedFrameworkMBean.class, ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK);
- mbeanProxy.refreshPackages(bundleArr);
- }
- catch (MBeanProxyException ex)
- {
- throw new IllegalStateException("Cannot refresh packages", ex);
- }
- }
-}
Deleted: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteRuntime.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteRuntime.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteRuntime.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,262 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.spi.testing;
-
-// $Id$
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.jar.Attributes;
-import java.util.jar.JarInputStream;
-
-import javax.management.MBeanServerConnection;
-import javax.management.ObjectName;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.jboss.osgi.spi.framework.RemoteBundle;
-import org.jboss.osgi.spi.framework.RemoteFramework;
-import org.jboss.osgi.spi.framework.RemoteFrameworkException;
-import org.jboss.osgi.spi.logging.LogEntryCache;
-import org.jboss.osgi.spi.logging.RemoteLogReaderService;
-import org.jboss.osgi.spi.management.MBeanProxy;
-import org.jboss.osgi.spi.management.MBeanProxyException;
-import org.jboss.osgi.spi.management.ManagedBundleMBean;
-import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
-import org.jboss.osgi.spi.testing.internal.OSGiRuntimeImpl;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogReaderService;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * [TODO]
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Sep-2008
- */
-public class RemoteRuntime extends OSGiRuntimeImpl
-{
- private MBeanServerConnection mbeanServer;
- private ManagedFrameworkMBean managedFramework;
- private Set<Class<?>> ignoredCaps = new HashSet<Class<?>>();
-
- // Needed for remote logging
- private EmbeddedRuntime embeddedRuntime;
- private RemoteLogCapability remoteLogCapability;
-
- public RemoteRuntime(OSGiTestHelper helper)
- {
- super(helper);
-
- // Initialize the ignored capabilities
- ignoredCaps.add(ConfigAdminCapability.class);
- ignoredCaps.add(HttpCapability.class);
- ignoredCaps.add(JNDICapability.class);
- ignoredCaps.add(JMXCapability.class);
- ignoredCaps.add(MicrocontainerCapability.class);
- }
-
- public AbstractBundle installBundle(String location) throws BundleException
- {
- String symbolicName = null;
- try
- {
- File archiveFile = getTestHelper().getTestArchiveFile(location);
- JarInputStream jarInputStream = new JarInputStream(new FileInputStream(archiveFile));
- Attributes attribs = jarInputStream.getManifest().getMainAttributes();
- symbolicName = attribs.getValue(Constants.BUNDLE_SYMBOLICNAME);
- jarInputStream.close();
- }
- catch (IOException ex)
- {
-
- }
- if (symbolicName == null)
- throw new IllegalArgumentException("Cannot obtain Bundle-SymbolicName for: " + location);
-
- try
- {
- deploy(location);
- RemoteBundle bundle = getRemoteFramework().getBundle(symbolicName);
- return new RemoteBundleBadName(this, bundle, location);
- }
- catch (RuntimeException rte)
- {
- throw rte;
- }
- catch (Exception ex)
- {
- throw new BundleException("Cannot install: " + location, ex);
- }
- }
-
- @Override
- public void addCapability(Capability capability) throws BundleException
- {
- if (ignoredCaps.contains(capability.getClass()))
- return;
-
- super.addCapability(capability);
- }
-
- public AbstractBundle[] getBundles()
- {
- try
- {
- Set<RemoteBundle> remoteBundles = getRemoteFramework().getBundles();
- Set<AbstractBundle> bundles = new HashSet<AbstractBundle>();
- for (RemoteBundle remoteBundle : remoteBundles)
- bundles.add(new RemoteBundleBadName(this, remoteBundle, null));
-
- AbstractBundle[] bundleArr = new AbstractBundle[bundles.size()];
- bundles.toArray(bundleArr);
-
- return bundleArr;
- }
- catch (Exception ex)
- {
- throw new IllegalStateException("Cannot obtain remote bundles", ex);
- }
- }
-
- public void startLogEntryTracking(final LogEntryCache logEntryCache)
- {
- super.startLogEntryTracking(logEntryCache);
-
- try
- {
- remoteLogCapability = new RemoteLogCapability();
- addCapability(remoteLogCapability);
-
- embeddedRuntime = getTestHelper().getEmbeddedRuntime();
- embeddedRuntime.addCapability(remoteLogCapability);
-
- // Track the RemoteLogReaderService to add the LogEntryCache as LogListener
- BundleContext context = embeddedRuntime.getBundleContext();
- ServiceTracker tracker = new ServiceTracker(context, RemoteLogReaderService.class.getName(), null)
- {
- @Override
- public Object addingService(ServiceReference sref)
- {
- LogReaderService logReaderService = (LogReaderService)super.addingService(sref);
- logReaderService.addLogListener(logEntryCache);
- setLogReaderService(logReaderService);
- return logReaderService;
- }
- };
- tracker.open();
- }
- catch (BundleException ex)
- {
- throw new IllegalStateException("Cannot start log entry tracking", ex);
- }
- }
-
- @Override
- public void stopLogEntryTracking()
- {
- if (remoteLogCapability != null)
- {
- removeCapability(remoteLogCapability);
- remoteLogCapability = null;
- }
-
- if (embeddedRuntime != null)
- {
- embeddedRuntime.shutdown();
- embeddedRuntime = null;
- }
-
- super.stopLogEntryTracking();
- }
-
- public MBeanServerConnection getMBeanServer()
- {
- if (mbeanServer == null)
- {
- try
- {
- InitialContext iniCtx = getInitialContext();
- mbeanServer = (MBeanServerConnection)iniCtx.lookup("jmx/invoker/RMIAdaptor");
- }
- catch (NamingException ex)
- {
- throw new IllegalStateException("Cannot obtain MBeanServerConnection", ex);
- }
- }
- return mbeanServer;
- }
-
- public AbstractPackageAdmin getPackageAdmin()
- {
- return new RemotePackageAdmin(this);
- }
-
- private RemoteFramework getRemoteFramework() throws Exception
- {
- if (managedFramework == null)
- managedFramework = MBeanProxy.get(ManagedFrameworkMBean.class, ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK, getMBeanServer());
-
- return new RemoteFramework()
- {
- public RemoteBundle getBundle(String symbolicName)
- {
- ObjectName bundleOName = managedFramework.getBundle(symbolicName);
- if (bundleOName == null)
- throw new IllegalArgumentException("Cannot remote bundle for: " + symbolicName);
-
- try
- {
- return MBeanProxy.get(ManagedBundleMBean.class, bundleOName, getMBeanServer());
- }
- catch (MBeanProxyException ex)
- {
- throw new RemoteFrameworkException(ex);
- }
- }
-
- public Set<RemoteBundle> getBundles()
- {
- Set<RemoteBundle> remBundles = new HashSet<RemoteBundle>();
- for (ObjectName bundleOName : managedFramework.getBundles())
- {
- try
- {
- RemoteBundle remBundle = MBeanProxy.get(ManagedBundleMBean.class, bundleOName, getMBeanServer());
- remBundles.add(remBundle);
- }
- catch (MBeanProxyException ex)
- {
- throw new RemoteFrameworkException(ex);
- }
- }
- return remBundles;
- }
- };
- }
-}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/BlueprintCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/BlueprintCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/BlueprintCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/BlueprintCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,41 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class BlueprintCapability extends Capability
+{
+ public BlueprintCapability()
+ {
+ addBundle("bundles/jboss-osgi-blueprint.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/Capability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/Capability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,69 @@
+/*
+ * 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.spi.testing.capability;
+
+//$Id$
+
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public abstract class Capability
+{
+ private Properties props = new Properties();
+ private Set<String> bundles = new LinkedHashSet<String>();
+
+ public Capability()
+ {
+ }
+
+ public Properties getProperties()
+ {
+ return props;
+ }
+
+ protected void addBundle(String bundle)
+ {
+ bundles.add(bundle);
+ }
+
+ protected void addBundles(List<String> bundles)
+ {
+ for (String bundle : bundles)
+ {
+ addBundle(bundle);
+ }
+ }
+
+ public List<String> getBundles()
+ {
+ return new ArrayList<String>(bundles);
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/ConfigAdminCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/ConfigAdminCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/ConfigAdminCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/ConfigAdminCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,40 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class ConfigAdminCapability extends Capability
+{
+ public ConfigAdminCapability()
+ {
+ addBundle("bundles/org.apache.felix.metatype.jar");
+ addBundle("bundles/org.apache.felix.configadmin.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HttpCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HttpCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HttpCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HttpCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,44 @@
+/*
+ * 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.spi.testing.capability;
+
+import java.util.Properties;
+
+
+//$Id$
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class HttpCapability extends Capability
+{
+ public HttpCapability()
+ {
+ Properties props = getProperties();
+ props.setProperty("org.osgi.service.http.port", "8090");
+
+ addBundle("bundles/org.apache.felix.http.jetty.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/HuskyCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/HuskyCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,39 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class HuskyCapability extends Capability
+{
+ public HuskyCapability()
+ {
+ addBundle("bundles/jboss-osgi-husky.jar");
+ }
+}
\ No newline at end of file
Added: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,41 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class JAXBCapability extends Capability
+{
+ public JAXBCapability()
+ {
+ addBundles(new XMLParserCapability().getBundles());
+ addBundle("bundles/jboss-osgi-jaxb.jar");
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JAXBCapability.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JMXCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JMXCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JMXCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JMXCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,46 @@
+/*
+ * 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.spi.testing.capability;
+
+//$Id$
+
+import java.util.Properties;
+
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class JMXCapability extends Capability
+{
+ public JMXCapability()
+ {
+ Properties props = getProperties();
+ props.setProperty("org.jboss.osgi.jmx.host", System.getProperty("jboss.bind.address", "localhost"));
+ props.setProperty("org.jboss.osgi.jmx.rmi.port", "1198");
+
+ addBundle("bundles/jboss-osgi-jmx.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JNDICapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/JNDICapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JNDICapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/JNDICapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,48 @@
+/*
+ * 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.spi.testing.capability;
+
+//$Id$
+
+import java.util.Properties;
+
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class JNDICapability extends Capability
+{
+ public JNDICapability()
+ {
+ Properties props = getProperties();
+ props.setProperty("org.jboss.osgi.jndi.host", System.getProperty("jboss.bind.address", "localhost"));
+ props.setProperty("org.jboss.osgi.jndi.rmi.port", "1198");
+ props.setProperty("org.jboss.osgi.jndi.port", "1199");
+
+ addBundle("bundles/jboss-osgi-common-core.jar");
+ addBundle("bundles/jboss-osgi-jndi.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/MicrocontainerCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/MicrocontainerCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,42 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class MicrocontainerCapability extends Capability
+{
+ public MicrocontainerCapability()
+ {
+ addBundles(new JMXCapability().getBundles());
+ addBundles(new XMLBindingCapability().getBundles());
+ addBundle("bundles/jboss-osgi-microcontainer.jar");
+ }
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/RemoteLogCapability.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteLogCapability.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/RemoteLogCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/RemoteLogCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,47 @@
+/*
+ * 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.spi.testing.capability;
+
+//$Id$
+
+import java.util.Properties;
+
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class RemoteLogCapability extends Capability
+{
+ public RemoteLogCapability()
+ {
+ Properties props = getProperties();
+ props.setProperty("org.jboss.osgi.service.remote.log.reader", "true");
+ props.setProperty("org.jboss.osgi.remote.log.host", System.getProperty("jboss.bind.address", "localhost"));
+ props.setProperty("org.jboss.osgi.remote.log.port", "5400");
+
+ addBundle("bundles/jboss-osgi-remotelog.jar");
+ }
+}
\ No newline at end of file
Added: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,42 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class XMLBindingCapability extends Capability
+{
+ public XMLBindingCapability()
+ {
+ addBundles(new JAXBCapability().getBundles());
+ addBundle("bundles/jboss-osgi-common-core.jar");
+ addBundle("bundles/jboss-osgi-xml-binding.jar");
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLBindingCapability.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLParserCapability.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLParserCapability.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLParserCapability.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,40 @@
+/*
+ * 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.spi.testing.capability;
+
+
+//$Id$
+
+
+/**
+ * [TODO]
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 05-May-2009
+ */
+public class XMLParserCapability extends Capability
+{
+ public XMLParserCapability()
+ {
+ addBundle("bundles/jboss-osgi-apache-xerces.jar");
+ }
+}
\ No newline at end of file
Property changes on: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/capability/XMLParserCapability.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedBundle.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,109 @@
+/*
+ * 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.spi.testing.internal;
+
+import java.util.Dictionary;
+
+import org.jboss.osgi.spi.logging.ExportedPackageHelper;
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+
+/**
+ * An OSGi Test Case
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class EmbeddedBundle extends AbstractBundle
+{
+ private Bundle bundle;
+
+ public EmbeddedBundle(Bundle bundle)
+ {
+ this.bundle = bundle;
+ }
+
+ public Bundle getBundle()
+ {
+ return bundle;
+ }
+
+ @Override
+ public int getState()
+ {
+ return bundle.getState();
+ }
+
+ @Override
+ public String getSymbolicName()
+ {
+ return bundle.getSymbolicName();
+ }
+
+ @Override
+ public String getVersion()
+ {
+ return getHeaders().get(Constants.BUNDLE_VERSION);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Dictionary<String, String> getHeaders()
+ {
+ return bundle.getHeaders();
+ }
+
+ @Override
+ public long getBundleId()
+ {
+ return bundle.getBundleId();
+ }
+
+ @Override
+ public String getProperty(String key)
+ {
+ return bundle.getBundleContext().getProperty(key);
+ }
+
+ @Override
+ public void start() throws BundleException
+ {
+ bundle.start();
+
+ ExportedPackageHelper helper = new ExportedPackageHelper(bundle.getBundleContext());
+ helper.logExportedPackages(bundle);
+ }
+
+ @Override
+ public void stop() throws BundleException
+ {
+ bundle.stop();
+ }
+
+ @Override
+ public void uninstall() throws BundleException
+ {
+ bundle.uninstall();
+ }
+}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedPackageAdmin.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedPackageAdmin.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedPackageAdmin.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedPackageAdmin.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,58 @@
+/*
+ * 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.spi.testing.internal;
+
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.jboss.osgi.spi.testing.AbstractPackageAdmin;
+import org.osgi.framework.Bundle;
+import org.osgi.service.packageadmin.PackageAdmin;
+
+/**
+ * [TODO]
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class EmbeddedPackageAdmin extends AbstractPackageAdmin
+{
+ private PackageAdmin packAdmin;
+
+ public EmbeddedPackageAdmin(PackageAdmin packAdmin)
+ {
+ this.packAdmin = packAdmin;
+ }
+
+ @Override
+ public void refreshPackages(AbstractBundle[] bundles)
+ {
+ Bundle[] bundleArr = null;
+ if (bundles != null)
+ {
+ bundleArr = new Bundle[bundles.length];
+ for (int i=0; i < bundles.length; i++)
+ {
+ bundleArr[i] = ((EmbeddedBundle)bundles[i]).getBundle();
+ }
+ }
+ packAdmin.refreshPackages(bundleArr);
+ }
+}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/EmbeddedRuntime.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/EmbeddedRuntime.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,157 @@
+/*
+ * 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.spi.testing.internal;
+
+// $Id$
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Properties;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerConnection;
+import javax.management.MBeanServerFactory;
+
+import org.jboss.osgi.spi.framework.OSGiBootstrapProvider;
+import org.jboss.osgi.spi.framework.OSGiFramework;
+import org.jboss.osgi.spi.logging.LogEntryCache;
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.jboss.osgi.spi.testing.AbstractPackageAdmin;
+import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.Capability;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogReaderService;
+import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * [TODO]
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class EmbeddedRuntime extends OSGiRuntimeImpl
+{
+ public EmbeddedRuntime(OSGiTestHelper helper)
+ {
+ super(helper);
+ }
+
+ public AbstractBundle installBundle(String location) throws BundleException
+ {
+ URL bundleURL = getTestHelper().getTestArchiveURL(location);
+ Bundle bundle = getBundleContext().installBundle(bundleURL.toExternalForm());
+ return new EmbeddedBundle(bundle);
+ }
+
+ public AbstractBundle[] getBundles()
+ {
+ List<AbstractBundle> absBundles = new ArrayList<AbstractBundle>();
+ for (Bundle bundle : getBundleContext().getBundles())
+ {
+ absBundles.add(new EmbeddedBundle(bundle));
+ }
+ AbstractBundle[] bundleArr = new AbstractBundle[absBundles.size()];
+ absBundles.toArray(bundleArr);
+ return bundleArr;
+ }
+
+ @Override
+ public void addCapability(Capability capability) throws BundleException
+ {
+ // Copy the properties to the System props
+ Properties props = capability.getProperties();
+ Enumeration<?> names = props.propertyNames();
+ while (names.hasMoreElements())
+ {
+ String key = (String)names.nextElement();
+ String value = props.getProperty(key);
+ System.setProperty(key, value);
+ }
+
+ super.addCapability(capability);
+ }
+
+ public void startLogEntryTracking(final LogEntryCache logEntryCache)
+ {
+ super.startLogEntryTracking(logEntryCache);
+
+ // Track the LogReaderService to add the LogEntryCache as LogListener
+ ServiceTracker tracker = new ServiceTracker(getBundleContext(), LogReaderService.class.getName(), null)
+ {
+ @Override
+ public Object addingService(ServiceReference sref)
+ {
+ LogReaderService logReaderService = (LogReaderService)super.addingService(sref);
+ logReaderService.addLogListener(logEntryCache);
+ setLogReaderService(logReaderService);
+ return logReaderService;
+ }
+ };
+ tracker.open();
+ }
+
+ @Override
+ public void shutdown()
+ {
+ super.shutdown();
+ OSGiBootstrapProvider bootProvider = getTestHelper().getBootstrapProvider();
+ bootProvider.getFramework().stop();
+ }
+
+ public BundleContext getBundleContext()
+ {
+ OSGiBootstrapProvider bootProvider = getTestHelper().getBootstrapProvider();
+ OSGiFramework framework = bootProvider.getFramework();
+ return framework.getBundleContext();
+ }
+
+ @SuppressWarnings("unchecked")
+ public MBeanServerConnection getMBeanServer()
+ {
+ ArrayList<MBeanServer> serverArr = MBeanServerFactory.findMBeanServer(null);
+ if (serverArr.size() > 1)
+ throw new IllegalStateException("Multiple MBeanServer instances not supported");
+
+ MBeanServer server = null;
+ if (serverArr.size() == 1)
+ server = serverArr.get(0);
+
+ if (server == null)
+ server = MBeanServerFactory.createMBeanServer();
+
+ return server;
+ }
+
+ public AbstractPackageAdmin getPackageAdmin()
+ {
+ BundleContext context = getBundleContext();
+ ServiceReference sref = context.getServiceReference(PackageAdmin.class.getName());
+ PackageAdmin packAdmin = (PackageAdmin)context.getService(sref);
+ return new EmbeddedPackageAdmin(packAdmin);
+ }
+}
Modified: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/OSGiRuntimeImpl.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -37,9 +37,9 @@
import org.jboss.osgi.spi.management.MBeanProxy;
import org.jboss.osgi.spi.management.MBeanProxyException;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.Capability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.Capability;
import org.osgi.framework.BundleException;
import org.osgi.service.log.LogReaderService;
@@ -186,4 +186,21 @@
{
return helper.getServerHost();
}
+
+ public AbstractBundle getBundle(String symbolicName, String version)
+ {
+ AbstractBundle bundle = null;
+ for (AbstractBundle aux : getBundles())
+ {
+ if (aux.getSymbolicName().equals(symbolicName))
+ {
+ if (version == null || version.equals(aux.getVersion()))
+ {
+ bundle = aux;
+ break;
+ }
+ }
+ }
+ return bundle;
+ }
}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteBundleBadName.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteBundle.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,118 @@
+/*
+ * 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.spi.testing.internal;
+
+import java.util.Dictionary;
+
+import org.jboss.logging.Logger;
+import org.jboss.osgi.spi.management.ManagedBundleMBean;
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+
+/**
+ * An OSGi Test Case
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class RemoteBundle extends AbstractBundle
+{
+ // Provide logging
+ private static final Logger log = Logger.getLogger(RemoteBundle.class);
+
+ private RemoteRuntime runtime;
+ private ManagedBundleMBean bundle;
+ private String location;
+
+ public RemoteBundle(RemoteRuntime runtime, ManagedBundleMBean bundle, String location)
+ {
+ this.runtime = runtime;
+ this.bundle = bundle;
+ this.location = location;
+ }
+
+ @Override
+ public int getState()
+ {
+ return bundle.getState();
+ }
+
+ @Override
+ public String getSymbolicName()
+ {
+ return bundle.getSymbolicName();
+ }
+
+ @Override
+ public String getVersion()
+ {
+ return getHeaders().get(Constants.BUNDLE_VERSION);
+ }
+
+ @Override
+ public Dictionary<String, String> getHeaders()
+ {
+ return bundle.getHeaders();
+ }
+
+ @Override
+ public long getBundleId()
+ {
+ return bundle.getBundleId();
+ }
+
+ @Override
+ public String getProperty(String key)
+ {
+ return bundle.getProperty(key);
+ }
+
+ @Override
+ public void start() throws BundleException
+ {
+ bundle.start();
+ }
+
+ @Override
+ public void stop() throws BundleException
+ {
+ bundle.stop();
+ }
+
+ @Override
+ public void uninstall() throws BundleException
+ {
+ try
+ {
+ runtime.undeploy(location);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ log.error("Cannot uninstall: " + location);
+ }
+ }
+}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFramework.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFramework.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFramework.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFramework.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,47 @@
+/*
+ * 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.spi.testing.internal;
+
+//$Id$
+
+import java.util.Set;
+
+import org.jboss.osgi.spi.management.ManagedBundleMBean;
+
+/**
+ * The supported functionality of a remote OSGi Framework
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 04-Mar-2009
+ */
+public interface RemoteFramework
+{
+ /**
+ * Get the list of all installed bundles
+ */
+ Set<ManagedBundleMBean> getBundles();
+
+ /**
+ * Get the installed bundle
+ */
+ ManagedBundleMBean getBundle(String symbolicName);
+}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFrameworkException.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/framework/RemoteFrameworkException.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFrameworkException.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteFrameworkException.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,49 @@
+/*
+ * 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.spi.testing.internal;
+
+// $Id$
+
+/**
+ * A remote OSGi Framework exception that should be thrown on unrecoverable errors.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 18-Jan-2009
+ */
+ at SuppressWarnings("serial")
+public class RemoteFrameworkException extends RuntimeException
+{
+ public RemoteFrameworkException(String message)
+ {
+ super(message);
+ }
+
+ public RemoteFrameworkException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ public RemoteFrameworkException(Throwable cause)
+ {
+ super(cause);
+ }
+}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemotePackageAdmin.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemotePackageAdmin.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemotePackageAdmin.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemotePackageAdmin.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,66 @@
+/*
+ * 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.spi.testing.internal;
+
+import org.jboss.osgi.spi.management.MBeanProxyException;
+import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.jboss.osgi.spi.testing.AbstractPackageAdmin;
+
+/**
+ * [TODO]
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class RemotePackageAdmin extends AbstractPackageAdmin
+{
+ private RemoteRuntime runtime;
+
+ public RemotePackageAdmin(RemoteRuntime runtime)
+ {
+ this.runtime = runtime;
+ }
+
+ @Override
+ public void refreshPackages(AbstractBundle[] bundles)
+ {
+ String[] bundleArr = null;
+ if (bundles != null)
+ {
+ bundleArr = new String[bundles.length];
+ for (int i=0; i < bundles.length; i++)
+ {
+ bundleArr[i] = bundles[i].getSymbolicName();
+ }
+ }
+ try
+ {
+ ManagedFrameworkMBean mbeanProxy = runtime.getMBeanProxy(ManagedFrameworkMBean.class, ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK);
+ mbeanProxy.refreshPackages(bundleArr);
+ }
+ catch (MBeanProxyException ex)
+ {
+ throw new IllegalStateException("Cannot refresh packages", ex);
+ }
+ }
+}
Copied: projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java (from rev 89499, projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/RemoteRuntime.java)
===================================================================
--- projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java (rev 0)
+++ projects/jboss-osgi/trunk/spi/src/main/java/org/jboss/osgi/spi/testing/internal/RemoteRuntime.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,268 @@
+/*
+ * 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.spi.testing.internal;
+
+// $Id$
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.jar.Attributes;
+import java.util.jar.JarInputStream;
+
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.osgi.spi.logging.LogEntryCache;
+import org.jboss.osgi.spi.logging.RemoteLogReaderService;
+import org.jboss.osgi.spi.management.MBeanProxy;
+import org.jboss.osgi.spi.management.MBeanProxyException;
+import org.jboss.osgi.spi.management.ManagedBundleMBean;
+import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.jboss.osgi.spi.testing.AbstractPackageAdmin;
+import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.Capability;
+import org.jboss.osgi.spi.testing.capability.ConfigAdminCapability;
+import org.jboss.osgi.spi.testing.capability.HttpCapability;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
+import org.jboss.osgi.spi.testing.capability.MicrocontainerCapability;
+import org.jboss.osgi.spi.testing.capability.RemoteLogCapability;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogReaderService;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * [TODO]
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Sep-2008
+ */
+public class RemoteRuntime extends OSGiRuntimeImpl
+{
+ private MBeanServerConnection mbeanServer;
+ private ManagedFrameworkMBean managedFramework;
+ private Set<Class<?>> ignoredCaps = new HashSet<Class<?>>();
+
+ // Needed for remote logging
+ private EmbeddedRuntime embeddedRuntime;
+ private RemoteLogCapability remoteLogCapability;
+
+ public RemoteRuntime(OSGiTestHelper helper)
+ {
+ super(helper);
+
+ // Initialize the ignored capabilities
+ ignoredCaps.add(ConfigAdminCapability.class);
+ ignoredCaps.add(HttpCapability.class);
+ ignoredCaps.add(JNDICapability.class);
+ ignoredCaps.add(JMXCapability.class);
+ ignoredCaps.add(MicrocontainerCapability.class);
+ }
+
+ public AbstractBundle installBundle(String location) throws BundleException
+ {
+ String symbolicName = null;
+ try
+ {
+ File archiveFile = getTestHelper().getTestArchiveFile(location);
+ JarInputStream jarInputStream = new JarInputStream(new FileInputStream(archiveFile));
+ Attributes attribs = jarInputStream.getManifest().getMainAttributes();
+ symbolicName = attribs.getValue(Constants.BUNDLE_SYMBOLICNAME);
+ jarInputStream.close();
+ }
+ catch (IOException ex)
+ {
+
+ }
+ if (symbolicName == null)
+ throw new IllegalArgumentException("Cannot obtain Bundle-SymbolicName for: " + location);
+
+ try
+ {
+ deploy(location);
+ ManagedBundleMBean bundle = getRemoteFramework().getBundle(symbolicName);
+ return new RemoteBundle(this, bundle, location);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new BundleException("Cannot install: " + location, ex);
+ }
+ }
+
+ @Override
+ public void addCapability(Capability capability) throws BundleException
+ {
+ if (ignoredCaps.contains(capability.getClass()))
+ return;
+
+ super.addCapability(capability);
+ }
+
+ public AbstractBundle[] getBundles()
+ {
+ try
+ {
+ Set<ManagedBundleMBean> remoteBundles = getRemoteFramework().getBundles();
+ Set<AbstractBundle> bundles = new HashSet<AbstractBundle>();
+ for (ManagedBundleMBean remoteBundle : remoteBundles)
+ bundles.add(new RemoteBundle(this, remoteBundle, null));
+
+ AbstractBundle[] bundleArr = new AbstractBundle[bundles.size()];
+ bundles.toArray(bundleArr);
+
+ return bundleArr;
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException("Cannot obtain remote bundles", ex);
+ }
+ }
+
+ public void startLogEntryTracking(final LogEntryCache logEntryCache)
+ {
+ super.startLogEntryTracking(logEntryCache);
+
+ try
+ {
+ remoteLogCapability = new RemoteLogCapability();
+ addCapability(remoteLogCapability);
+
+ embeddedRuntime = (EmbeddedRuntime)getTestHelper().getEmbeddedRuntime();
+ embeddedRuntime.addCapability(remoteLogCapability);
+
+ // Track the RemoteLogReaderService to add the LogEntryCache as LogListener
+ BundleContext context = embeddedRuntime.getBundleContext();
+ ServiceTracker tracker = new ServiceTracker(context, RemoteLogReaderService.class.getName(), null)
+ {
+ @Override
+ public Object addingService(ServiceReference sref)
+ {
+ LogReaderService logReaderService = (LogReaderService)super.addingService(sref);
+ logReaderService.addLogListener(logEntryCache);
+ setLogReaderService(logReaderService);
+ return logReaderService;
+ }
+ };
+ tracker.open();
+ }
+ catch (BundleException ex)
+ {
+ throw new IllegalStateException("Cannot start log entry tracking", ex);
+ }
+ }
+
+ @Override
+ public void stopLogEntryTracking()
+ {
+ if (remoteLogCapability != null)
+ {
+ removeCapability(remoteLogCapability);
+ remoteLogCapability = null;
+ }
+
+ if (embeddedRuntime != null)
+ {
+ embeddedRuntime.shutdown();
+ embeddedRuntime = null;
+ }
+
+ super.stopLogEntryTracking();
+ }
+
+ public MBeanServerConnection getMBeanServer()
+ {
+ if (mbeanServer == null)
+ {
+ try
+ {
+ InitialContext iniCtx = getInitialContext();
+ mbeanServer = (MBeanServerConnection)iniCtx.lookup("jmx/invoker/RMIAdaptor");
+ }
+ catch (NamingException ex)
+ {
+ throw new IllegalStateException("Cannot obtain MBeanServerConnection", ex);
+ }
+ }
+ return mbeanServer;
+ }
+
+ public AbstractPackageAdmin getPackageAdmin()
+ {
+ return new RemotePackageAdmin(this);
+ }
+
+ private RemoteFramework getRemoteFramework() throws Exception
+ {
+ if (managedFramework == null)
+ managedFramework = MBeanProxy.get(ManagedFrameworkMBean.class, ManagedFrameworkMBean.MBEAN_MANAGED_FRAMEWORK, getMBeanServer());
+
+ return new RemoteFramework()
+ {
+ public ManagedBundleMBean getBundle(String symbolicName)
+ {
+ ObjectName bundleOName = managedFramework.getBundle(symbolicName);
+ if (bundleOName == null)
+ throw new IllegalArgumentException("Cannot remote bundle for: " + symbolicName);
+
+ try
+ {
+ return MBeanProxy.get(ManagedBundleMBean.class, bundleOName, getMBeanServer());
+ }
+ catch (MBeanProxyException ex)
+ {
+ throw new RemoteFrameworkException(ex);
+ }
+ }
+
+ public Set<ManagedBundleMBean> getBundles()
+ {
+ Set<ManagedBundleMBean> remBundles = new HashSet<ManagedBundleMBean>();
+ for (ObjectName bundleOName : managedFramework.getBundles())
+ {
+ try
+ {
+ ManagedBundleMBean remBundle = MBeanProxy.get(ManagedBundleMBean.class, bundleOName, getMBeanServer());
+ remBundles.add(remBundle);
+ }
+ catch (MBeanProxyException ex)
+ {
+ throw new RemoteFrameworkException(ex);
+ }
+ }
+ return remBundles;
+ }
+ };
+ }
+}
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/http/HttpServiceTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -30,11 +30,11 @@
import java.net.URL;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.ConfigAdminCapability;
-import org.jboss.osgi.spi.testing.HttpCapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.ConfigAdminCapability;
+import org.jboss.osgi.spi.testing.capability.HttpCapability;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jmx/JMXTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jmx/JMXTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jmx/JMXTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -31,11 +31,11 @@
import org.jboss.osgi.spi.management.MBeanProxy;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.JMXCapability;
-import org.jboss.osgi.spi.testing.JNDICapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
import org.jboss.test.osgi.example.jmx.bundle.FooMBean;
import org.junit.AfterClass;
import org.junit.BeforeClass;
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jndi/JNDITestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jndi/JNDITestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/jndi/JNDITestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -30,10 +30,10 @@
import javax.naming.NameNotFoundException;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.JNDICapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
Modified: projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/microcontainer/MicrocontainerTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/microcontainer/MicrocontainerTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/example/src/test/java/org/jboss/test/osgi/example/microcontainer/MicrocontainerTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -38,12 +38,12 @@
import org.jboss.osgi.microcontainer.MicrocontainerServiceMBean;
import org.jboss.osgi.spi.management.ManagedFrameworkMBean;
-import org.jboss.osgi.spi.testing.JMXCapability;
-import org.jboss.osgi.spi.testing.JNDICapability;
-import org.jboss.osgi.spi.testing.MicrocontainerCapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
+import org.jboss.osgi.spi.testing.capability.MicrocontainerCapability;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
Deleted: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/BundleTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/BundleTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/BundleTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -1,186 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-//$Id$
-package org.jboss.test.osgi.bootstrap;
-
-import static org.junit.Assert.*;
-
-import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.OSGiRuntime;
-import org.jboss.osgi.spi.testing.OSGiTest;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * Test OSGi System bundle access
- *
- * @author thomas.diesler at jboss.com
- * @since 23-Jan-2009
- */
-public class BundleTestCase extends OSGiTest
-{
- @Test
- public void testApacheXercesBundle() throws BundleException
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-apache-xerces.jar");
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-
- @Test
- public void testJAXBBundle() throws BundleException
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-jaxb.jar");
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-
- @Test
- public void testJBossCommonCoreBundle() throws BundleException
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-apache-xerces.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-common-core.jar");
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-
- @Test
- public void testJBossXBBundle() throws BundleException
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-apache-xerces.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-common-core.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-jaxb.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-xml-binding.jar");
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-
- @Test
- public void testJNDIBundle() throws BundleException
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-common-core.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-jndi.jar");
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-
- @Test
- public void testJMXBundle() throws Exception
- {
- OSGiRuntime runtime = getEmbeddedRuntime();
- try
- {
- AbstractBundle bundle = runtime.installBundle("bundles/jboss-osgi-common-core.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-jndi.jar");
- bundle = runtime.installBundle("bundles/jboss-osgi-jmx.jar");
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
-
- bundle.stop();
- assertEquals("Test bundle RESOLVED", Bundle.RESOLVED, bundle.getState());
-
- bundle.start();
- assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
- }
- finally
- {
- runtime.shutdown();
- }
- }
-}
\ No newline at end of file
Copied: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/CapabilityTestCase.java (from rev 89499, projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/BundleTestCase.java)
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/CapabilityTestCase.java (rev 0)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/bootstrap/CapabilityTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+
+//$Id$
+package org.jboss.test.osgi.bootstrap;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.jboss.osgi.spi.testing.AbstractBundle;
+import org.jboss.osgi.spi.testing.OSGiRuntime;
+import org.jboss.osgi.spi.testing.OSGiTest;
+import org.jboss.osgi.spi.testing.capability.JAXBCapability;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
+import org.jboss.osgi.spi.testing.capability.XMLBindingCapability;
+import org.jboss.osgi.spi.testing.capability.XMLParserCapability;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+
+/**
+ * Test OSGi runtime capabilities
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 23-Jan-2009
+ */
+public class CapabilityTestCase extends OSGiTest
+{
+ @Test
+ public void testXMLParserCapability() throws BundleException
+ {
+ OSGiRuntime runtime = getEmbeddedRuntime();
+ try
+ {
+ AbstractBundle bundle = runtime.getBundle("jboss-osgi-apache-xerces", null);
+ assertNull("Test bundle null", bundle);
+
+ runtime.addCapability(new XMLParserCapability());
+
+ bundle = runtime.getBundle("jboss-osgi-apache-xerces", null);
+ assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
+ }
+ finally
+ {
+ runtime.shutdown();
+ }
+ }
+
+ @Test
+ public void testJAXBCapability() throws BundleException
+ {
+ OSGiRuntime runtime = getEmbeddedRuntime();
+ try
+ {
+ AbstractBundle bundle = runtime.getBundle("jboss-osgi-jaxb", null);
+ assertNull("Test bundle null", bundle);
+
+ runtime.addCapability(new JAXBCapability());
+
+ bundle = runtime.getBundle("jboss-osgi-jaxb", null);
+ assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
+ }
+ finally
+ {
+ runtime.shutdown();
+ }
+ }
+
+ @Test
+ public void testXMLBindingCapability() throws BundleException
+ {
+ OSGiRuntime runtime = getEmbeddedRuntime();
+ try
+ {
+ AbstractBundle bundle = runtime.getBundle("jboss-osgi-xml-binding", null);
+ assertNull("Test bundle null", bundle);
+
+ runtime.addCapability(new XMLBindingCapability());
+
+ bundle = runtime.getBundle("jboss-osgi-xml-binding", null);
+ assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
+ }
+ finally
+ {
+ runtime.shutdown();
+ }
+ }
+
+ @Test
+ public void testJNDICapability() throws BundleException
+ {
+ OSGiRuntime runtime = getEmbeddedRuntime();
+ try
+ {
+ AbstractBundle bundle = runtime.getBundle("jboss-osgi-jndi", null);
+ assertNull("Test bundle null", bundle);
+
+ runtime.addCapability(new JNDICapability());
+
+ bundle = runtime.getBundle("jboss-osgi-jndi", null);
+ assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
+ }
+ finally
+ {
+ runtime.shutdown();
+ }
+ }
+
+ @Test
+ public void testJMXCapability() throws Exception
+ {
+ OSGiRuntime runtime = getEmbeddedRuntime();
+ try
+ {
+ AbstractBundle bundle = runtime.getBundle("jboss-osgi-jmx", null);
+ assertNull("Test bundle null", bundle);
+
+ runtime.addCapability(new JMXCapability());
+
+ bundle = runtime.getBundle("jboss-osgi-jmx", null);
+ assertEquals("Test bundle ACTIVE", Bundle.ACTIVE, bundle.getState());
+ }
+ finally
+ {
+ runtime.shutdown();
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi41/OSGI41TestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi41/OSGI41TestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi41/OSGI41TestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -32,9 +32,9 @@
import java.io.FileReader;
import org.jboss.osgi.spi.testing.AbstractBundle;
-import org.jboss.osgi.spi.testing.ConfigAdminCapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
+import org.jboss.osgi.spi.testing.capability.ConfigAdminCapability;
import org.junit.Test;
import org.osgi.framework.Bundle;
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbossas/jbosgi36/OSGI36TestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbossas/jbosgi36/OSGI36TestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbossas/jbosgi36/OSGI36TestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -28,12 +28,12 @@
import org.jboss.osgi.spi.management.MBeanProxy;
import org.jboss.osgi.spi.management.MBeanProxyException;
-import org.jboss.osgi.spi.testing.JMXCapability;
-import org.jboss.osgi.spi.testing.JNDICapability;
-import org.jboss.osgi.spi.testing.MicrocontainerCapability;
+import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
-import org.jboss.osgi.spi.testing.RemoteRuntime;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
+import org.jboss.osgi.spi.testing.capability.MicrocontainerCapability;
import org.jboss.test.osgi.jbossas.jbosgi36.mbean.FooMBean;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -49,7 +49,7 @@
*/
public class OSGI36TestCase extends OSGiTest
{
- static RemoteRuntime runtime;
+ static OSGiRuntime runtime;
@BeforeClass
public static void setUpClass() throws Exception
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jmx/JMXServiceTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jmx/JMXServiceTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jmx/JMXServiceTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -28,11 +28,11 @@
import javax.management.MBeanServerConnection;
import javax.naming.InitialContext;
-import org.jboss.osgi.spi.testing.JMXCapability;
-import org.jboss.osgi.spi.testing.JNDICapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.JMXCapability;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
import org.junit.Ignore;
import org.junit.Test;
Modified: projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jndi/JNDIServiceTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jndi/JNDIServiceTestCase.java 2009-05-28 19:46:11 UTC (rev 89500)
+++ projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/service/jndi/JNDIServiceTestCase.java 2009-05-28 21:21:07 UTC (rev 89501)
@@ -27,10 +27,10 @@
import javax.naming.InitialContext;
-import org.jboss.osgi.spi.testing.JNDICapability;
import org.jboss.osgi.spi.testing.OSGiRuntime;
import org.jboss.osgi.spi.testing.OSGiTest;
import org.jboss.osgi.spi.testing.OSGiTestHelper;
+import org.jboss.osgi.spi.testing.capability.JNDICapability;
import org.junit.Ignore;
import org.junit.Test;
More information about the jboss-osgi-commits
mailing list