Author: rsivaram
Date: Sun Mar 16 12:59:48 2008
New Revision: 637634
URL: http://svn.apache.org/viewvc?rev=637634&view=rev
Log:
Classloading fixes for OSGi-based Tuscany
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/TestBundleActivator.java
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties
incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-3rdparty/pom.xml
incubator/tuscany/java/sca/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java
(original)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/main/java/org/apache/tuscany/sca/test/osgi/runtime/impl/FelixTestRuntime.java
Sun Mar 16 12:59:48 2008
@@ -105,7 +105,6 @@
"javax.xml.validation, " +
"javax.xml.xpath, " +
"javax.sql," +
- "org.apache.xerces.jaxp.datatype, " +
"org.w3c.dom, " +
"org.xml.sax, " +
"org.xml.sax.ext, " +
@@ -118,6 +117,7 @@
"javax.naming.directory, " +
"javax.management, " +
"sun.misc, " +
+ "javax.net, " +
"org.apache.felix.main";
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java
(original)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/OSGiTuscanyTestHarness.java
Sun Mar 16 12:59:48 2008
@@ -79,6 +79,13 @@
public void runTest(String... testDirs) throws Exception {
String mainTestDir = testDirs[0];
+
+ File testDir = new File(mainTestDir + "/target/test-classes");
+ if (!testDir.exists()) {
+ System.err.println("Test directory " + testDir + " does not
exist");
+ return;
+ }
+
System.out.println("Run tests from : " + mainTestDir);
tuscanyRuntime = TuscanyLoader.loadTuscanyIntoOSGi(bundleContext);
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/TestBundleActivator.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/TestBundleActivator.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/TestBundleActivator.java
(original)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/harness/TestBundleActivator.java
Sun Mar 16 12:59:48 2008
@@ -19,71 +19,20 @@
*/
package org.apache.tuscany.sca.test.osgi.harness;
-import java.net.URL;
-
-import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
/*
* Bundle activator for running the Tuscany SCA tests under OSGi
- * Tuscany samples are run inside an OSGi container when the bundle is started.
*/
public class TestBundleActivator implements BundleActivator {
- private ClassLoader myContextClassLoader;
- private ClassLoader origTCCL;
-
public void start(BundleContext bundleContext) throws Exception {
- origTCCL = Thread.currentThread().getContextClassLoader();
- myContextClassLoader = new TestClassLoader(bundleContext.getBundle(),
origTCCL);
- Thread.currentThread().setContextClassLoader(myContextClassLoader);
-
}
public void stop(BundleContext bundleContext) throws Exception {
-
- if (Thread.currentThread().getContextClassLoader() ==
myContextClassLoader)
- Thread.currentThread().setContextClassLoader(origTCCL);
}
-
-
- private class TestClassLoader extends ClassLoader {
-
- private Bundle bundle;
-
- private TestClassLoader(Bundle bundle, ClassLoader parent) {
- super(parent);
- this.bundle = bundle;
- }
-
- @Override
- public URL getResource(String resName) {
- URL resource = getParent().getResource(resName);
- if (resource == null) {
- resource = bundle.getResource(resName);
-
- }
-
- return resource;
- }
-
- @Override
- public Class<?> loadClass(String className) throws
ClassNotFoundException {
- Class clazz = findLoadedClass(className);
- if (clazz != null)
- return clazz;
-
- try {
- return getParent().loadClass(className);
- } catch (Exception e) {
- return bundle.loadClass(className);
- }
- }
-
-
- }
}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorImplementationPoliciesTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-calculator-implementation-policies
+ */
+public class CalculatorImplementationPoliciesTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" +
"calculator-implementation-policies");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorRmiTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-calculator-rmi-reference and samples-calculator-rmi-service
+ */
+public class CalculatorRmiTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" + "calculator-rmi-reference");
+ testHarness.runTest("../../../samples/" + "calculator-rmi-service");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/CalculatorScriptTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-calculator-script
+ */
+public class CalculatorScriptTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" + "calculator-script");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceJmsTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-helloworld-ws-service-jms
+ */
+public class HelloworldWsServiceJmsTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" + "helloworld-ws-service-jms");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceSecureTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-helloworld-ws-service-secure
+ */
+public class HelloworldWsServiceSecureTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" +
"helloworld-ws-service-secure");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/HelloworldWsServiceTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-helloworld-ws-service
+ */
+public class HelloworldWsServiceTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" + "helloworld-ws-service");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/OSGiSupplyChainTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples-osgi-supplychain
+ */
+public class OSGiSupplyChainTestCase {
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ }
+ }
+
+
+ @Test
+ public void runTest() throws Exception {
+
+ testHarness.runTest("../../../samples/" + "osgi-supplychain");
+
+ }
+
+}
Added:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java?rev=637634&view=auto
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java
(added)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/java/org/apache/tuscany/sca/test/osgi/tuscany/TuscanySamplesUsingOldDomainTestCase.java
Sun Mar 16 12:59:48 2008
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.test.osgi.tuscany;
+
+
+import org.apache.tuscany.sca.test.osgi.harness.OSGiTuscanyTestHarness;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/*
+ * Test Tuscany running in an OSGi container
+ *
+ * Run samples which use old domain code
+ */
+public class TuscanySamplesUsingOldDomainTestCase {
+
+
+ private static String[] SAMPLES = {
+
+ "binding-notification-consumer",
+ "binding-notification-producer",
+ "calculator",
+ "implementation-composite",
+ "implementation-notification",
+ "loanapplication",
+ "quote-xquery",
+ "simple-bigbank",
+ "simple-callback",
+ "supplychain"
+
+ };
+
+
+ private OSGiTuscanyTestHarness testHarness;
+
+ @Before
+ public void setUp() throws Exception {
+
+ testHarness = new OSGiTuscanyTestHarness();
+ testHarness.setUp();
+ }
+
+
+ @After
+ public void tearDown() throws Exception {
+
+ if (testHarness != null) {
+ testHarness.tearDown();
+ testHarness = null;
+ }
+ }
+
+
+ @Test
+ public void runTestsUsingOldDomainCode() throws Exception {
+
+ for (String testDir : SAMPLES) {
+ testHarness.runTest("../../../samples/" + testDir);
+ }
+ }
+
+
+}
Modified:
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties
(original)
+++
incubator/tuscany/java/sca/itest/osgi-tuscany/osgi-tuscany-test/src/test/resources/felix/felix.config.properties
Sun Mar 16 12:59:48 2008
@@ -30,8 +30,9 @@
"file://${FELIX_DIR}/org.apache.felix.shell/1.1.0-SNAPSHOT/org.apache.felix.shell-1.1.0-SNAPSHOT.jar"
\
"file://${FELIX_DIR}/org.apache.felix.shell.tui/1.1.0-SNAPSHOT/org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar"
\
"file://${FELIX_DIR}/org.apache.felix.bundlerepository/1.1.0-SNAPSHOT/org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar"
\
-
"file://${FELIX_DIR}/org.apache.felix.scr/1.0.0/org.apache.felix.scr-1.0.0.jar"
\
-
"file://${FELIX_DIR}/org.apache.felix.configadmin/1.0.0/org.apache.felix.configadmin-1.0.0.jar"
+
"file://${FELIX_DIR}/org.apache.felix.scr/1.0.0/org.apache.felix.scr-1.0.0.jar"
+
+#
"file://${FELIX_DIR}/org.apache.felix.configadmin/1.0.0/org.apache.felix.configadmin-1.0.0.jar"
felix.startlevel.framework=1
Modified: incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-3rdparty/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-3rdparty/pom.xml?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-3rdparty/pom.xml
(original)
+++ incubator/tuscany/java/sca/itest/osgi-tuscany/tuscany-3rdparty/pom.xml Sun
Mar 16 12:59:48 2008
@@ -282,6 +282,17 @@
<artifactId>tuscany-policy-security</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
+ <artifactId>apache-activemq</artifactId>
+ <version>4.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <version>6.1.7</version>
+ </dependency>
+
</dependencies>
Modified:
incubator/tuscany/java/sca/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
(original)
+++
incubator/tuscany/java/sca/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java
Sun Mar 16 12:59:48 2008
@@ -45,14 +45,14 @@
ClassLoader cl = contribution.getClassLoader();
if (!(cl instanceof GroovyClassLoader)) {
// replace the contribution class loader with a Groovy one
- // If the contribution does not have a classloader, use context
classloader as parent
- if (cl == null) cl =
Thread.currentThread().getContextClassLoader();
+ // If the contribution does not have a classloader, use this
classloader as parent
+ if (cl == null) cl = this.getClass().getClassLoader();
cl = new GroovyClassLoader(cl);
contribution.setClassLoader(cl);
}
try {
- ((GroovyClassLoader)cl).parseClass(new
File(((GroovyArtifact)model).getArtifactURL().toURI()));
+
((GroovyClassLoader)cl).parseClass(((GroovyArtifact)model).getArtifactURL().openStream());
} catch (Exception e) {
throw new RuntimeException(e);
Modified:
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java
(original)
+++
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java
Sun Mar 16 12:59:48 2008
@@ -114,6 +114,16 @@
try {
return Class.forName(desc.getName(), false, cl);
} catch (ClassNotFoundException e) {
+ try {
+ // For OSGi, use context classloader if the bundle
classloader cannot load the class
+ if (cl !=
Thread.currentThread().getContextClassLoader()) {
+ return Class.forName(desc.getName(), false,
Thread.currentThread().getContextClassLoader());
+ }
+ } catch (ClassNotFoundException e1) {
+ // ignore
+ } catch (NoClassDefFoundError e1) {
+ // ignore
+ }
return super.resolveClass(desc);
}
}
Modified:
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java
(original)
+++
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java
Sun Mar 16 12:59:48 2008
@@ -52,35 +52,38 @@
*/
public SCATestCaseRunner(Class testClass) {
try {
+ ClassLoader tccl = Thread.currentThread().getContextClassLoader();
classLoader = testClass.getClassLoader();
if (classLoader instanceof URLClassLoader) {
URL[] urls = ((URLClassLoader)classLoader).getURLs();
classLoader = new URLClassLoader(urls,
classLoader.getParent());
- } else {
+ } else if (classLoader == tccl || classLoader.getParent() == tccl)
{
classLoader = new URLClassLoader(new URL[0], classLoader);
+ } else {
+ classLoader = tccl;
}
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(classLoader);
testCaseClass = Class.forName(testClass.getName(), true,
classLoader);
testCase = testCaseClass.newInstance();
+ ClassLoader testClassLoader = testCaseClass.getClassLoader();
- junit3TestCaseClass =
Class.forName("junit.framework.TestCase", true, classLoader);
+ junit3TestCaseClass =
Class.forName("junit.framework.TestCase", true, testClassLoader);
- testSuiteClass = Class.forName("junit.framework.TestSuite",
true, classLoader);
+ testSuiteClass = Class.forName("junit.framework.TestSuite",
true, testClassLoader);
Constructor testSuiteConstructor =
testSuiteClass.getConstructor(Class.class);
testSuite = testSuiteConstructor.newInstance(testCaseClass);
- testResultClass = Class.forName("junit.framework.TestResult",
true, classLoader);
+ testResultClass = Class.forName("junit.framework.TestResult",
true, testClassLoader);
try {
- beforeAnnotation = Class.forName("org.junit.Before", true,
classLoader);
- afterAnnotation = Class.forName("org.junit.After", true,
classLoader);
- beforeClassAnnotation =
Class.forName("org.junit.BeforeClass", true, classLoader);
- afterClassAnnotation =
Class.forName("org.junit.AfterClass", true, classLoader);
- junit4AdapterClass =
Class.forName("junit.framework.JUnit4TestAdapter", true, classLoader);
+ beforeAnnotation = Class.forName("org.junit.Before", true,
testClassLoader);
+ afterAnnotation = Class.forName("org.junit.After", true,
testClassLoader);
+ beforeClassAnnotation =
Class.forName("org.junit.BeforeClass", true, testClassLoader);
+ afterClassAnnotation =
Class.forName("org.junit.AfterClass", true, testClassLoader);
+ junit4AdapterClass =
Class.forName("junit.framework.JUnit4TestAdapter", true, testClassLoader);
} catch (Exception e) {
// Unexpected
throw new AssertionError(e);
Modified:
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
(original)
+++
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java
Sun Mar 16 12:59:48 2008
@@ -40,7 +40,8 @@
public void stop(BundleContext bundleContext) throws Exception {
runtime.shutdown();
- Thread.currentThread().setContextClassLoader(origTCCL);
+ if (Thread.currentThread().getContextClassLoader() ==
threadContextClassLoader)
+ Thread.currentThread().setContextClassLoader(origTCCL);
}
/**
@@ -173,27 +174,27 @@
bundles.remove(bundle);
}
+
@Override
- public Class<?> loadClass(String className) throws
ClassNotFoundException {
- Class<?> clazz = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- try {
- clazz =
bundle.loadClass(className);
- break;
- } catch (ClassNotFoundException e) {
- } catch (NoClassDefFoundError e) {
- }
+ protected Class<?> findClass(String className) throws
ClassNotFoundException {
+ Class<?> clazz = null;
+ synchronized (this) {
+ for (Bundle bundle : bundles) {
+ try {
+ clazz = bundle.loadClass(className);
+ break;
+ } catch (ClassNotFoundException e) {
+ } catch (NoClassDefFoundError e) {
+ }
+
+ }
+ }
+ if (clazz != null) {
+ return clazz;
+ }
+ return super.findClass(className);
+ }
- }
- }
- if (clazz != null) {
- return clazz;
- }
- return super.loadClass(className);
- }
-
-
@Override
@SuppressWarnings("unchecked")
Modified:
incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java?rev=637634&r1=637633&r2=637634&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java
(original)
+++
incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java
Sun Mar 16 12:59:48 2008
@@ -62,7 +62,7 @@
try {
for (JaasAuthenticationPolicy policy : authenticationPolicies) {
CallbackHandler callbackHandler =
-
(CallbackHandler)Class.forName(policy.getCallbackHandlerClassName()).newInstance();
+
(CallbackHandler)policy.getCallbackHandlerClass().newInstance();
LoginContext lc = new
LoginContext(policy.getConfigurationName(), callbackHandler);
lc.login();
// Subject subject = lc.getSubject();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]