You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cu...@apache.org on 2012/06/19 09:59:29 UTC
svn commit: r1351593 - in /aries/trunk:
application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/
application/application-itests/src/test/java/org/ops4j/
application/application-itests/src/test/java/org/ops4j/pax/ applic...
Author: cumminsh
Date: Tue Jun 19 07:59:28 2012
New Revision: 1351593
URL: http://svn.apache.org/viewvc?rev=1351593&view=rev
Log:
[ARIES-827] Committing patch by David Jencks, along with tests which verify that composite-bundle based application isolation works under Equinox 3.7
Added:
aries/trunk/application/application-itests/src/test/java/org/ops4j/
aries/trunk/application/application-itests/src/test/java/org/ops4j/pax/
aries/trunk/application/application-itests/src/test/java/org/ops4j/pax/runner/
aries/trunk/application/application-itests/src/test/java/org/ops4j/pax/runner/platform/
aries/trunk/application/application-itests/src/test/java/org/ops4j/pax/runner/platform/equinox/
Modified:
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicAppManagerTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicNoOpResolverTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedCfgAdminRuntimeTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/MinimumImportsTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRAppManagerTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverAdvancedTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java
aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java
aries/trunk/util/util-r42/src/main/java/org/apache/aries/util/tracker/InternalRecursiveBundleTracker.java
aries/trunk/util/util/src/main/java/org/apache/aries/util/tracker/RecursiveBundleTracker.java
aries/trunk/util/util/src/test/java/org/apache/aries/util/RecursiveBundleTrackerTest.java
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicAppManagerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicAppManagerTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicAppManagerTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicAppManagerTest.java Tue Jun 19 07:59:28 2012
@@ -38,6 +38,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
@RunWith(JUnit4TestRunner.class)
@@ -140,8 +141,7 @@ public class BasicAppManagerTest extends
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ private static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -160,7 +160,7 @@ public class BasicAppManagerTest extends
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
mavenBundle("org.ow2.asm", "asm-all"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium"));
/* For debugging, uncomment the next two lines
@@ -172,6 +172,25 @@ public class BasicAppManagerTest extends
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
}
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
+ }
+
}
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicNoOpResolverTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicNoOpResolverTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicNoOpResolverTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/BasicNoOpResolverTest.java Tue Jun 19 07:59:28 2012
@@ -37,6 +37,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
@RunWith(JUnit4TestRunner.class)
@@ -115,8 +116,7 @@ public class BasicNoOpResolverTest exten
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ private static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -134,7 +134,7 @@ public class BasicNoOpResolverTest exten
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
mavenBundle("org.ow2.asm", "asm-all"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium"));
/* For debugging, uncomment the next two lines
@@ -146,6 +146,25 @@ public class BasicNoOpResolverTest exten
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
}
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
+ }
+
}
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedCfgAdminRuntimeTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedCfgAdminRuntimeTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedCfgAdminRuntimeTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedCfgAdminRuntimeTest.java Tue Jun 19 07:59:28 2012
@@ -57,6 +57,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
import org.osgi.framework.BundleContext;
@@ -359,8 +360,7 @@ public class IsolatedCfgAdminRuntimeTest
* @return the various required options
* @throws Exception
*/
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() throws Exception {
+ private static Option[] generalConfiguration() throws Exception {
return testOptions(
repository("http://repository.ops4j.org/maven2"),
paxLogging("DEBUG"),
@@ -384,9 +384,27 @@ public class IsolatedCfgAdminRuntimeTest
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.repository"),
mavenBundle("org.apache.felix", "org.apache.felix.configadmin"),
mavenBundle("org.apache.geronimo.specs", "geronimo-jta_1.1_spec"),
- mavenBundle("org.ops4j.pax.url", "pax-url-mvn"),
+ mavenBundle("org.ops4j.pax.url", "pax-url-mvn"));
//vmOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"),
- equinox().version("3.5.0"));
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options() throws Exception
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options() throws Exception
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
}
/**
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/IsolatedRuntimeTest.java Tue Jun 19 07:59:28 2012
@@ -50,6 +50,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleEvent;
@@ -300,13 +301,12 @@ public class IsolatedRuntimeTest extends
private void assertHelloWorldService(String appName, String message) throws Exception
{
HelloWorld hw = IsolationTestUtils.findHelloWorldService(bundleContext, appName);
- assertNotNull(hw);
+ assertNotNull("The Hello World service could not be found.", hw);
assertEquals(message, hw.getMessage());
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
- return testOptions(
+ private static Option[] generalConfiguration() {
+ return flatOptions(
repository( "http://repository.ops4j.org/maven2" ),
paxLogging("DEBUG"),
@@ -331,7 +331,7 @@ public class IsolatedRuntimeTest extends
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.framework.management"),
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.repository"),
mavenBundle("org.osgi", "org.osgi.compendium"),
- mavenBundle("org.apache.geronimo.specs","geronimo-jta_1.1_spec"),
+ mavenBundle("org.apache.geronimo.specs","geronimo-jta_1.1_spec")
/* For debugging, uncommenting the following two lines and add the imports */
/*
@@ -343,6 +343,26 @@ public class IsolatedRuntimeTest extends
import static org.ops4j.pax.exam.CoreOptions.waitForFrameworkStartup;
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
}
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
+ }
+
}
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/MinimumImportsTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/MinimumImportsTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/MinimumImportsTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/MinimumImportsTest.java Tue Jun 19 07:59:28 2012
@@ -43,6 +43,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceRegistration;
@@ -164,8 +165,7 @@ public class MinimumImportsTest extends
sr.unregister();
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ public static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -184,7 +184,7 @@ public class MinimumImportsTest extends
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
mavenBundle("org.ow2.asm", "asm-all"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium")
/* For debugging, uncomment the next two lines*/
/*vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5007"),
@@ -195,6 +195,26 @@ public class MinimumImportsTest extends
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
}
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
+ }
+
}
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRAppManagerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRAppManagerTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRAppManagerTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRAppManagerTest.java Tue Jun 19 07:59:28 2012
@@ -44,6 +44,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
@RunWith(JUnit4TestRunner.class)
@@ -146,8 +147,7 @@ public class OBRAppManagerTest extends A
manager.uninstall(ctx);
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ public static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -167,7 +167,7 @@ public class OBRAppManagerTest extends A
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime"),
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.itest.interfaces"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium")
// /* For debugging, uncomment the next two lines
// vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
@@ -179,6 +179,26 @@ public class OBRAppManagerTest extends A
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
}
+
}
\ No newline at end of file
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverAdvancedTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverAdvancedTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverAdvancedTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverAdvancedTest.java Tue Jun 19 07:59:28 2012
@@ -66,6 +66,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
@@ -529,8 +530,7 @@ public class OBRResolverAdvancedTest ext
}
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ private static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -549,7 +549,7 @@ public class OBRResolverAdvancedTest ext
mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
mavenBundle("org.ow2.asm", "asm-all"),
mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium")
/* For debugging, uncomment the next two lines */
/*vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5010"),
@@ -560,6 +560,26 @@ public class OBRResolverAdvancedTest ext
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
}
+
}
\ No newline at end of file
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/OBRResolverTest.java Tue Jun 19 07:59:28 2012
@@ -65,6 +65,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.Bundle;
@@ -314,8 +315,7 @@ public class OBRResolverTest extends Abs
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ private static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -334,7 +334,7 @@ public class OBRResolverTest extends Abs
mavenBundle("org.apache.aries.application", "org.apache.aries.application.management"),
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime"),
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.itest.interfaces"),
- mavenBundle("org.osgi", "org.osgi.compendium"),
+ mavenBundle("org.osgi", "org.osgi.compendium")
/* For debugging, uncomment the next two lines */
// vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=7777"),
@@ -345,6 +345,26 @@ public class OBRResolverTest extends Abs
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
}
+
}
\ No newline at end of file
Modified: aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java (original)
+++ aries/trunk/application/application-itests/src/test/java/org/apache/aries/application/runtime/itests/UpdateAppTest.java Tue Jun 19 07:59:28 2012
@@ -58,6 +58,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -246,8 +247,7 @@ public class UpdateAppTest extends Abstr
assertEquals(message, hw.getMessage());
}
- @org.ops4j.pax.exam.junit.Configuration
- public static Option[] configuration() {
+ private static Option[] generalConfiguration() {
return testOptions(
paxLogging("DEBUG"),
@@ -273,7 +273,7 @@ public class UpdateAppTest extends Abstr
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.repository"),
mavenBundle("org.apache.aries.application", "org.apache.aries.application.runtime.isolated"),
mavenBundle("org.osgi", "org.osgi.compendium"),
- mavenBundle("org.apache.geronimo.specs","geronimo-jta_1.1_spec"),
+ mavenBundle("org.apache.geronimo.specs","geronimo-jta_1.1_spec")
// new VMOption("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5011"),
@@ -282,6 +282,26 @@ public class UpdateAppTest extends Abstr
import static org.ops4j.pax.exam.CoreOptions.waitForFrameworkStartup;
import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
*/
- equinox().version("3.5.0"));
+ );
+ }
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox35Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ equinox().version("3.5.0")
+ );
}
+
+ @org.ops4j.pax.exam.junit.Configuration
+ public static Option[] equinox37Options()
+ {
+ return testOptions(
+ generalConfiguration(),
+ PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+ equinox().version("3.7.0.v20110613")
+ );
+ }
+
}
Modified: aries/trunk/util/util-r42/src/main/java/org/apache/aries/util/tracker/InternalRecursiveBundleTracker.java
URL: http://svn.apache.org/viewvc/aries/trunk/util/util-r42/src/main/java/org/apache/aries/util/tracker/InternalRecursiveBundleTracker.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/util/util-r42/src/main/java/org/apache/aries/util/tracker/InternalRecursiveBundleTracker.java (original)
+++ aries/trunk/util/util-r42/src/main/java/org/apache/aries/util/tracker/InternalRecursiveBundleTracker.java Tue Jun 19 07:59:28 2012
@@ -44,12 +44,15 @@ public class InternalRecursiveBundleTrac
private final BundleTrackerCustomizer customizer;
+ private final boolean nested;
+
public InternalRecursiveBundleTracker(BundleContext context, int stateMask,
- BundleTrackerCustomizer customizer)
+ BundleTrackerCustomizer customizer, boolean nested)
{
super(context, stateMask, null);
mask = stateMask;
this.customizer = customizer;
+ this.nested = nested;
}
/*
@@ -64,7 +67,7 @@ public class InternalRecursiveBundleTrac
if (b instanceof CompositeBundle) {
customizedProcessBundle(this, b, event, false);
o = b;
- } else {
+ } else if (nested) {
// Delegate to our customizer for normal bundles
if (customizer != null) {
o = customizer.addingBundle(b, event);
@@ -154,7 +157,7 @@ public class InternalRecursiveBundleTrac
// let's track each of the bundle in the CompositeBundle
BundleTracker bt = new InternalRecursiveBundleTracker(compositeBundleContext, stateMask,
- customizer);
+ customizer, true);
bt.open();
BundleTrackerFactory.registerBundleTracker(bundleScope, bt);
}
Modified: aries/trunk/util/util/src/main/java/org/apache/aries/util/tracker/RecursiveBundleTracker.java
URL: http://svn.apache.org/viewvc/aries/trunk/util/util/src/main/java/org/apache/aries/util/tracker/RecursiveBundleTracker.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/util/util/src/main/java/org/apache/aries/util/tracker/RecursiveBundleTracker.java (original)
+++ aries/trunk/util/util/src/main/java/org/apache/aries/util/tracker/RecursiveBundleTracker.java Tue Jun 19 07:59:28 2012
@@ -42,6 +42,7 @@ public final class RecursiveBundleTracke
Bundle.INSTALLED | Bundle.RESOLVED | Bundle.STARTING | Bundle.ACTIVE | Bundle.STOPPING;
private final BundleTracker tracker;
+ private final BundleTracker compositeTracker;
/**
* Constructor
@@ -54,6 +55,7 @@ public final class RecursiveBundleTracke
* flags
*/
public RecursiveBundleTracker(BundleContext context, int stateMask, BundleTrackerCustomizer customizer) {
+ //This test only makes sense for composite bundles, but in the interests of more consistent behavior lets leave it.
// We always need INSTALLED events so we can recursively listen to the frameworks
if ((stateMask & COMPOSITE_BUNDLE_MASK) != COMPOSITE_BUNDLE_MASK)
throw new IllegalArgumentException();
@@ -63,14 +65,14 @@ public final class RecursiveBundleTracke
tracker = new BundleHookBundleTracker(context, stateMask, customizer);
} catch (Throwable e) {
}
- if (tracker == null) {
- if (areMultipleFrameworksAvailable(context)) {
- //not sure if this ever happens, non R43 composite bundles
- tracker = new InternalRecursiveBundleTracker(context, stateMask, customizer);
- } else {
- //R42
- tracker = new BundleTracker(context, stateMask, customizer);
- }
+ if (areMultipleFrameworksAvailable(context)) {
+ compositeTracker = new InternalRecursiveBundleTracker(context, stateMask, customizer, tracker == null);
+ } else {
+ compositeTracker = null;
+ }
+ if (tracker == null && compositeTracker == null) {
+ //R42
+ tracker = new BundleTracker(context, stateMask, customizer);
}
this.tracker = tracker;
}
@@ -86,7 +88,12 @@ public final class RecursiveBundleTracke
* @see BundleTracker#open()
*/
public void open() {
- tracker.open();
+ if (tracker != null) {
+ tracker.open();
+ }
+ if (compositeTracker != null) {
+ compositeTracker.open();
+ }
}
/**
@@ -95,7 +102,12 @@ public final class RecursiveBundleTracke
* @see BundleTracker#close()
*/
public void close() {
- tracker.close();
+ if (tracker != null) {
+ tracker.close();
+ }
+ if (compositeTracker != null) {
+ compositeTracker.close();
+ }
}
}
Modified: aries/trunk/util/util/src/test/java/org/apache/aries/util/RecursiveBundleTrackerTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/util/util/src/test/java/org/apache/aries/util/RecursiveBundleTrackerTest.java?rev=1351593&r1=1351592&r2=1351593&view=diff
==============================================================================
--- aries/trunk/util/util/src/test/java/org/apache/aries/util/RecursiveBundleTrackerTest.java (original)
+++ aries/trunk/util/util/src/test/java/org/apache/aries/util/RecursiveBundleTrackerTest.java Tue Jun 19 07:59:28 2012
@@ -118,7 +118,7 @@ public class RecursiveBundleTrackerTest
BundleTrackerCustomizer customizer = Skeleton.newMock(BundleTrackerCustomizer.class);
sut = new InternalRecursiveBundleTracker(context,
- Bundle.INSTALLED | Bundle.STARTING | Bundle.ACTIVE | Bundle.STOPPING, customizer);
+ Bundle.INSTALLED | Bundle.STARTING | Bundle.ACTIVE | Bundle.STOPPING, customizer, true);
sut.open();
}