You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/09/21 22:38:44 UTC
svn commit: r578261 - in /incubator/tuscany/java/sca:
itest/osgi-implementation/src/main/java/callback/client/
itest/osgi-implementation/src/main/java/conversation/client/
itest/osgi-implementation/src/main/java/conversation/referenceclient/
itest/osgi...
Author: rfeng
Date: Fri Sep 21 13:38:38 2007
New Revision: 578261
URL: http://svn.apache.org/viewvc?rev=578261&view=rev
Log:
Apply the patch from Rajini Sivaram for TUSCANY-1757
Added:
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/factory/ds/factory-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/interfaces/ds/interfaces-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/ds/properties-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/ds/properties2-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/services/ds/services-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/version/ds/version-ds-test.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/ds/wiring-ds-test1.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/ds/wiring-ds-test2.composite
- copied unchanged from r578178, incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite
Removed:
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/factory/factory-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/interfaces/interfaces-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/properties-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/properties/properties2-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/services/services-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/version/version-ds-test.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test1.composite
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/resources/wiring/wiring-ds-test2.composite
Modified:
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java
incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java
incubator/tuscany/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java
incubator/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java
incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java
incubator/tuscany/java/sca/samples/osgi-supplychain/build.xml
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite
incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/callback/client/JavaCallbackClientImpl.java Fri Sep 21 13:38:38 2007
@@ -31,7 +31,9 @@
*/
public class JavaCallbackClientImpl implements CallbackClient, CallbackCallback {
+ @Reference
protected CallbackService callbackService;
+
private static String returnMessage = null;
private static int callbackCount = 0;
private static Object monitor = new Object();
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatefulImpl.java Fri Sep 21 13:38:38 2007
@@ -24,7 +24,6 @@
import org.osoa.sca.annotations.ConversationAttributes;
import org.osoa.sca.annotations.Destroy;
import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Scope;
import org.osoa.sca.annotations.Service;
@@ -80,7 +79,7 @@
clientCount = callableReference.retrieveCount();
callableReference.endConversation();
- serviceReference.getConversation().end();
+ // serviceReference.getConversation().end();
return clientCount;
}
@@ -97,7 +96,7 @@
clientCount = callableReference.retrieveCount();
callableReference.endConversation();
- serviceReference.getConversation().end();
+ // serviceReference.getConversation().end();
return clientCount;
}
@@ -240,6 +239,7 @@
public String endConversation(){
calls.append("endConversation,");
+ callbackCount = 0;
return null;
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/client/ConversationalClientStatelessImpl.java Fri Sep 21 13:38:38 2007
@@ -78,7 +78,7 @@
clientCount = callableReference.retrieveCount();
callableReference.endConversation();
- serviceReference.getConversation().end();
+ // serviceReference.getConversation().end();
return clientCount;
}
@@ -93,7 +93,7 @@
clientCount = callableReference.retrieveCount();
callableReference.endConversation();
- serviceReference.getConversation().end();
+ // serviceReference.getConversation().end();
return clientCount;
}
@@ -141,7 +141,7 @@
clientCount = callableReference.retrieveCount();
callableReference.endConversation();
- serviceReference.getConversation().end();
+ // serviceReference.getConversation().end();
return clientCount;
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/main/java/conversation/referenceclient/ConversationalReferenceClientImpl.java Fri Sep 21 13:38:38 2007
@@ -19,6 +19,7 @@
package conversation.referenceclient;
import org.osoa.sca.CallableReference;
+import org.osoa.sca.annotations.AllowsPassByReference;
import org.osoa.sca.annotations.Service;
import conversation.service.ConversationalService;
@@ -31,6 +32,7 @@
*/
@Service(interfaces={ConversationalReferenceClient.class})
+@AllowsPassByReference
public class ConversationalReferenceClientImpl implements ConversationalReferenceClient{
public void incrementCount(CallableReference<ConversationalService> conversationalService){
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback1TestCase.java Fri Sep 21 13:38:38 2007
@@ -23,7 +23,7 @@
public class Callback1TestCase extends CallbackTestCase {
public Callback1TestCase() {
- super("callback/callback-test1.composite");
+ super("callback-test1.composite");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback2TestCase.java Fri Sep 21 13:38:38 2007
@@ -20,10 +20,10 @@
package callback;
-public abstract class Callback2TestCase extends CallbackTestCase {
+public class Callback2TestCase extends CallbackTestCase {
public Callback2TestCase() {
- super("callback/callback-test2.composite");
+ super("callback-test2.composite");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/Callback3TestCase.java Fri Sep 21 13:38:38 2007
@@ -23,7 +23,7 @@
public class Callback3TestCase extends CallbackTestCase {
public Callback3TestCase() {
- super("callback/callback-test3.composite");
+ super("callback-test3.composite");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/callback/CallbackTestCase.java Fri Sep 21 13:38:38 2007
@@ -19,43 +19,30 @@
package callback;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
import callback.client.CallbackClient;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
-public abstract class CallbackTestCase extends TestCase {
+public abstract class CallbackTestCase extends OSGiTestCase {
- private SCADomain scaDomain;
private CallbackClient aCallbackClient;
protected String compositeName;
public CallbackTestCase(String compositeName) {
- super();
- this.compositeName = compositeName;
+ super(compositeName, "callback");
}
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance(compositeName);
+ super.setUp();
aCallbackClient = scaDomain.getService(CallbackClient.class, "CallbackClient");
}
- protected void tearDown() throws Exception {
- scaDomain.close();
-
- OSGiTestUtil.shutdownOSGiRuntime();
- }
-
public void test() throws Exception {
aCallbackClient.run();
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/conversation/ConversationTestCase.java Fri Sep 21 13:38:38 2007
@@ -21,42 +21,41 @@
import junit.framework.Assert;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import conversation.client.ConversationalClient;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
-public abstract class ConversationTestCase {
+public class ConversationTestCase extends OSGiTestCase {
- private SCADomain domain;
private ConversationalClient conversationalStatelessClientStatelessService;
private ConversationalClient conversationalStatelessClientStatefulService;
private ConversationalClient conversationalStatefulClientStatelessService;
- private ConversationalClient conversationalStatefulClientStatefulService;
+ private ConversationalClient conversationalStatefulClientStatefulService;
+
+ public ConversationTestCase() {
+ super("conversation-test.composite", "conversation");
+ }
@Before
public void setUp() throws Exception {
try {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- domain = SCADomain.newInstance("conversation/conversation-test.composite");
+ super.setUp();
- conversationalStatelessClientStatelessService = domain.getService(ConversationalClient.class,
+ conversationalStatelessClientStatelessService = scaDomain.getService(ConversationalClient.class,
"ConversationalStatelessClientStatelessService/ConversationalClient");
- conversationalStatelessClientStatefulService = domain.getService(ConversationalClient.class,
+ conversationalStatelessClientStatefulService = scaDomain.getService(ConversationalClient.class,
"ConversationalStatelessClientStatefulService/ConversationalClient");
- conversationalStatefulClientStatelessService = domain.getService(ConversationalClient.class,
+ conversationalStatefulClientStatelessService = scaDomain.getService(ConversationalClient.class,
"ConversationalStatefulClientStatelessService/ConversationalClient");
- conversationalStatefulClientStatefulService = domain.getService(ConversationalClient.class,
+ conversationalStatefulClientStatefulService = scaDomain.getService(ConversationalClient.class,
"ConversationalStatefulClientStatefulService/ConversationalClient");
@@ -69,14 +68,7 @@
}
- @After
- public void tearDown() throws Exception {
- domain.close();
-
-
- OSGiTestUtil.shutdownOSGiRuntime();
- }
-
+
// stateless client stateful service tests
// =======================================
@Test
@@ -121,7 +113,7 @@
}
/////@Test
- public void testStatelessStatefulConversationHavingPassedReference() {
+ public void _testStatelessStatefulConversationHavingPassedReference() {
int count = conversationalStatelessClientStatefulService.runConversationHavingPassedReference();
Assert.assertEquals(3, count);
}
@@ -191,7 +183,7 @@
conversationalStatelessClientStatelessService.getCalls());
}
/////@Test
- public void testStatelessStatelessConversationHavingPassedReference() {
+ public void _testStatelessStatelessConversationHavingPassedReference() {
int count = conversationalStatelessClientStatelessService.runConversationHavingPassedReference();
Assert.assertEquals(3, count);
}
@@ -244,6 +236,7 @@
@Test
public void testStatefulStatefulConversationWithCallback() {
int count = conversationalStatefulClientStatefulService.runConversationWithCallback();
+ //System.out.println("Calls: " + conversationalStatefulClientStatefulService.getCalls());
Assert.assertEquals(4, count);
Assert.assertEquals("init,runConversationWithCallback,initializeCount,incrementCount,retrieveCount,endConversation,destroy,init,",
@@ -251,7 +244,7 @@
}
/////@Test
- public void testStatefulStatefulConversationHavingPassedReference() {
+ public void _testStatefulStatefulConversationHavingPassedReference() {
int count = conversationalStatefulClientStatefulService.runConversationHavingPassedReference();
Assert.assertEquals(3, count);
}
@@ -312,7 +305,7 @@
}
/////@Test
- public void testStatefulStatelessConversationHavingPassedReference() {
+ public void _testStatefulStatelessConversationHavingPassedReference() {
int count = conversationalStatefulClientStatelessService.runConversationHavingPassedReference();
Assert.assertEquals(3, count);
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/passbyref/PassByRefTestCase.java Fri Sep 21 13:38:38 2007
@@ -20,25 +20,23 @@
package helloworld.passbyref;
import helloworld.Greetings;
-import junit.framework.TestCase;
+import test.OSGiTestCase;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import util.OSGiTestUtil;
+public class PassByRefTestCase extends OSGiTestCase {
-
-public abstract class PassByRefTestCase extends TestCase {
-
- private SCADomain scaDomain;
private Greetings greetingsJava;
private Greetings greetingsOSGi;
private String[] origNames = {"world"};
private String[] names;
+
+ public PassByRefTestCase() {
+ super("passbyref-test.composite", "passbyref");
+ }
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance("passbyref/passbyref-test.composite");
+
+ super.setUp();
greetingsJava = scaDomain.getService(Greetings.class, "JavaGreetingsComponent");
greetingsOSGi = scaDomain.getService(Greetings.class, "OSGiGreetingsComponent");
@@ -46,10 +44,6 @@
System.arraycopy(origNames, 0, names, 0, names.length);
}
- protected void tearDown() throws Exception {
- scaDomain.close();
- OSGiTestUtil.shutdownOSGiRuntime();
- }
public void test() throws Exception {
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/helloworld/ws/HelloWorldTestCase.java Fri Sep 21 13:38:38 2007
@@ -20,22 +20,22 @@
package helloworld.ws;
import helloworld.HelloWorld;
-import junit.framework.TestCase;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
+import test.OSGiTestCase;
import util.OSGiTestUtil;
-public class HelloWorldTestCase extends TestCase {
+public class HelloWorldTestCase extends OSGiTestCase {
- private SCADomain scaDomain;
private HelloWorld helloWorld;
+
+ public HelloWorldTestCase() {
+ super("ws-helloworld.composite", "ws");
+ }
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance("ws/ws-helloworld.composite");
+ super.setUp();
helloWorld = scaDomain.getService(HelloWorld.class, "HelloWorldComponent");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/SupplyChainTestCase.java Fri Sep 21 13:38:38 2007
@@ -18,44 +18,28 @@
*/
package supplychain;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-
import supplychain.customer.Customer;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
/**
* Test case for supplychain - it is invoked with different composite files to test
* various scenarios.
*/
-public abstract class SupplyChainTestCase extends TestCase {
+public abstract class SupplyChainTestCase extends OSGiTestCase {
- private String compositeName;
- private SCADomain scaDomain;
public Customer customer;
- public SupplyChainTestCase(String compositeName) {
- super();
- this.compositeName = compositeName;
+
+ public SupplyChainTestCase(String compositeName, String contributionLocation) {
+ super(compositeName, contributionLocation);
}
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance(compositeName);
+ super.setUp();
customer = scaDomain.getService(Customer.class, "CustomerComponent");
}
- protected void tearDown() throws Exception {
- scaDomain.close();
-
- OSGiTestUtil.shutdownOSGiRuntime();
- }
-
-
public void test() throws Exception {
System.out.println("Main thread " + Thread.currentThread());
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/VersionedSupplyChainTestCase.java Fri Sep 21 13:38:38 2007
@@ -18,42 +18,31 @@
*/
package supplychain;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
import supplychain.customer.Customer;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
/**
* OSGi test program - common code for versioned bundles
*/
-public abstract class VersionedSupplyChainTestCase extends TestCase {
+public abstract class VersionedSupplyChainTestCase extends OSGiTestCase {
- private String compositeName;
- private SCADomain scaDomain;
private Customer customer1;
private Customer customer2;
- public VersionedSupplyChainTestCase(String compositeName) {
- super();
- this.compositeName = compositeName;
+ public VersionedSupplyChainTestCase(String compositeName, String contributionLocation) {
+ super(compositeName, contributionLocation);
}
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance(compositeName);
+ super.setUp();
customer1 = scaDomain.getService(Customer.class, "CustomerComponent1");
customer2 = scaDomain.getService(Customer.class, "CustomerComponent2");
}
protected void tearDown() throws Exception {
- scaDomain.close();
-
- OSGiTestUtil.shutdownOSGiRuntime();
+ super.tearDown();
Thread.sleep(1000);
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/DSFactoryTestCase.java Fri Sep 21 13:38:38 2007
@@ -25,7 +25,7 @@
public class DSFactoryTestCase extends FactoryTestCase {
public DSFactoryTestCase() {
- super("factory/factory-ds-test.composite");
+ super("factory-ds-test.composite", "factory/ds");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/factory/FactoryTestCase.java Fri Sep 21 13:38:38 2007
@@ -26,11 +26,11 @@
public class FactoryTestCase extends SupplyChainTestCase {
public FactoryTestCase() {
- super("factory/factory-test.composite");
+ super("factory-test.composite", "factory");
}
- protected FactoryTestCase(String compositeName) {
- super(compositeName);
+ protected FactoryTestCase(String compositeName, String contributionLocation) {
+ super(compositeName, contributionLocation);
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/DSInterfacesTestCase.java Fri Sep 21 13:38:38 2007
@@ -23,10 +23,10 @@
/**
* OSGi test program - declarative with components exposing multiple services with multiple interfaces
*/
-public abstract class DSInterfacesTestCase extends SupplyChainTestCase {
+public class DSInterfacesTestCase extends SupplyChainTestCase {
public DSInterfacesTestCase() {
- super("interfaces/interfaces-ds-test.composite");
+ super("interfaces-ds-test.composite", "interfaces/ds");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/interfaces/InterfacesTestCase.java Fri Sep 21 13:38:38 2007
@@ -23,10 +23,10 @@
/**
* OSGi test program - procedural with components exposing multiple services with multiple interfaces
*/
-public abstract class InterfacesTestCase extends SupplyChainTestCase {
+public class InterfacesTestCase extends SupplyChainTestCase {
public InterfacesTestCase() {
- super("interfaces/interfaces-test.composite");
+ super("interfaces-test.composite", "interfaces");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSProperties2TestCase.java Fri Sep 21 13:38:38 2007
@@ -25,7 +25,7 @@
public class DSProperties2TestCase extends Properties2TestCase {
public DSProperties2TestCase() {
- super("properties/properties2-ds-test.composite");
+ super("properties2-ds-test.composite", "properties/ds");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/DSPropertiesTestCase.java Fri Sep 21 13:38:38 2007
@@ -25,7 +25,7 @@
public class DSPropertiesTestCase extends PropertiesTestCase {
public DSPropertiesTestCase() {
- super("properties/properties-ds-test.composite");
+ super("properties-ds-test.composite", "properties/ds");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/Properties2TestCase.java Fri Sep 21 13:38:38 2007
@@ -18,46 +18,32 @@
*/
package supplychain.properties;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
import stockquote.StockQuote;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
/**
* OSGi test program - procedural with business properties
*/
-public class Properties2TestCase extends TestCase {
+public class Properties2TestCase extends OSGiTestCase {
- private SCADomain scaDomain;
private StockQuote stockQuoteServiceUSD;
private StockQuote stockQuoteServiceEURO;
- private String compositeName;
public Properties2TestCase() {
- super();
- compositeName = "properties/properties2-test.composite";
+ super("properties2-test.composite", "properties");
}
- protected Properties2TestCase(String compositeName) {
- super();
- this.compositeName = compositeName;
+ protected Properties2TestCase(String compositeName, String contributionLocation) {
+ super(compositeName, contributionLocation);
}
protected void setUp() throws Exception {
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance(compositeName);
+ super.setUp();
stockQuoteServiceUSD = scaDomain.getService(StockQuote.class, "USDStockQuoteComponent");
stockQuoteServiceEURO = scaDomain.getService(StockQuote.class, "EUROStockQuoteComponent");
- }
-
- protected void tearDown() throws Exception {
- scaDomain.close();
- OSGiTestUtil.shutdownOSGiRuntime();
}
public void test() throws Exception {
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/properties/PropertiesTestCase.java Fri Sep 21 13:38:38 2007
@@ -18,45 +18,30 @@
*/
package supplychain.properties;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
import stockquote.StockQuote;
-import util.OSGiTestUtil;
+import test.OSGiTestCase;
/**
* OSGi test program - procedural with business properties
*/
-public class PropertiesTestCase extends TestCase {
+public class PropertiesTestCase extends OSGiTestCase {
- private SCADomain scaDomain;
private StockQuote stockQuoteService;
- private String compositeName;
public PropertiesTestCase() {
- super();
- compositeName = "properties/properties-test.composite";
+ super("properties-test.composite", "properties");
}
- protected PropertiesTestCase(String compositeName) {
- super();
- this.compositeName = compositeName;
+ protected PropertiesTestCase(String compositeName, String contributionLocation) {
+ super(compositeName, contributionLocation);
}
protected void setUp() throws Exception {
-
- OSGiTestUtil.setUpOSGiTestRuntime();
-
- scaDomain = SCADomain.newInstance(compositeName);
+ super.setUp();
stockQuoteService = scaDomain.getService(StockQuote.class, "StockQuoteComponent");
}
- protected void tearDown() throws Exception {
- scaDomain.close();
- OSGiTestUtil.shutdownOSGiRuntime();
- }
public void test() throws Exception {
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/DSServicesTestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class DSServicesTestCase extends SupplyChainTestCase {
public DSServicesTestCase() {
- super("services/services-ds-test.composite");
+ super("services-ds-test.composite", "services/ds");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/services/ServicesTestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class ServicesTestCase extends SupplyChainTestCase {
public ServicesTestCase() {
- super("services/services-test.composite");
+ super("services-test.composite", "services");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/DSVersionTestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class DSVersionTestCase extends VersionedSupplyChainTestCase {
public DSVersionTestCase() {
- super("version/version-ds-test.composite");
+ super("version-ds-test.composite", "version/ds");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/version/VersionTestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class VersionTestCase extends VersionedSupplyChainTestCase {
public VersionTestCase() {
- super("version/version-test.composite");
+ super("version-test.composite", "version");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring1TestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class DSWiring1TestCase extends SupplyChainTestCase {
public DSWiring1TestCase() {
- super("wiring/wiring-ds-test1.composite");
+ super("wiring-ds-test1.composite", "wiring/ds");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/DSWiring2TestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class DSWiring2TestCase extends SupplyChainTestCase {
public DSWiring2TestCase() {
- super("wiring/wiring-ds-test2.composite");
+ super("wiring-ds-test2.composite", "wiring/ds");
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring1TestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class Wiring1TestCase extends SupplyChainTestCase {
public Wiring1TestCase() {
- super("wiring/wiring-test1.composite");
+ super("wiring-test1.composite", "wiring");
}
}
Modified: incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java (original)
+++ incubator/tuscany/java/sca/itest/osgi-implementation/src/test/java/supplychain/wiring/Wiring2TestCase.java Fri Sep 21 13:38:38 2007
@@ -26,7 +26,7 @@
public class Wiring2TestCase extends SupplyChainTestCase {
public Wiring2TestCase() {
- super("wiring/wiring-test2.composite");
+ super("wiring-test2.composite", "wiring");
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java Fri Sep 21 13:38:38 2007
@@ -125,7 +125,7 @@
initialized = true;
try {
- bundle = OSGiRuntime.getRuntime().findBundle(contribution.getLocation());
+ bundle = OSGiRuntime.findInstalledBundle(contribution.getLocation());
} catch (Exception e) {
}
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java Fri Sep 21 13:38:38 2007
@@ -267,7 +267,7 @@
// so add another registration
ScopeContainer<Object> scopeContainer = getConversationalScopeContainer(wire);
- if (scopeContainer != null) {
+ if (scopeContainer != null && currentConversationID != null) {
scopeContainer.addWrapperReference(currentConversationID, conversation.getConversationID());
}
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java Fri Sep 21 13:38:38 2007
@@ -28,11 +28,15 @@
import java.util.List;
import java.util.Map;
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.ComponentProperty;
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.ComponentService;
+import org.apache.tuscany.sca.assembly.Implementation;
import org.apache.tuscany.sca.assembly.Multiplicity;
import org.apache.tuscany.sca.assembly.Reference;
+import org.apache.tuscany.sca.assembly.OptimizableBinding;
import org.apache.tuscany.sca.context.ComponentContextFactory;
import org.apache.tuscany.sca.context.RequestContextFactory;
import org.apache.tuscany.sca.core.context.InstanceWrapper;
@@ -42,7 +46,12 @@
import org.apache.tuscany.sca.core.invocation.CallbackWireObjectFactory;
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
import org.apache.tuscany.sca.core.invocation.WireObjectFactory;
+import org.apache.tuscany.sca.core.scope.Scope;
+import org.apache.tuscany.sca.core.scope.ScopeContainer;
+import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent;
+import org.apache.tuscany.sca.core.scope.TargetResolutionException;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
+import org.apache.tuscany.sca.implementation.java.JavaImplementation;
import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl;
import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl;
import org.apache.tuscany.sca.implementation.java.injection.ConversationIDObjectFactory;
@@ -51,6 +60,7 @@
import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil;
+import org.apache.tuscany.sca.invocation.InvocationChain;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
@@ -183,10 +193,11 @@
JavaIntrospectionHelper.getBusinessInterface(baseType, callableRefType);
factory =
new CallableReferenceObjectFactory(businessInterface, component,
- (RuntimeComponentReference)wireList.get(i).getSource().getContract(),
- wireList.get(i).getSource().getBinding());
+ (RuntimeComponentReference)wireList.get(i)
+ .getSource().getContract(), wireList.get(i)
+ .getSource().getBinding());
} else {
- factory = createWireFactory(baseType, wireList.get(i));
+ factory = createObjectFactory(baseType, wireList.get(i));
}
factories.add(factory);
}
@@ -205,7 +216,7 @@
new CallableReferenceObjectFactory(businessInterface, component,
(RuntimeComponentReference)componentReference, null);
} else {
- factory = createWireFactory(element.getType(), wireList.get(0));
+ factory = createObjectFactory(element.getType(), wireList.get(0));
}
instanceFactoryProvider.setObjectFactory(element, factory);
}
@@ -260,7 +271,56 @@
return new JavaImplementationInvoker(operation, method, component);
}
- private <B> WireObjectFactory<B> createWireFactory(Class<B> interfaze, RuntimeWire wire) {
+ private static class OptimizedObjectFactory<T> implements ObjectFactory<T> {
+ private ScopeContainer scopeContainer;
+
+ public OptimizedObjectFactory(ScopeContainer scopeContainer) {
+ super();
+ this.scopeContainer = scopeContainer;
+ }
+
+ public T getInstance() throws ObjectCreationException {
+ try {
+ return (T)scopeContainer.getWrapper(null).getInstance();
+ } catch (TargetResolutionException e) {
+ throw new ObjectCreationException(e);
+ }
+ }
+
+ }
+
+ private <B> ObjectFactory<B> createObjectFactory(Class<B> interfaze, RuntimeWire wire) {
+ boolean conversational = wire.getSource().getInterfaceContract().getInterface().isConversational();
+ Binding binding = wire.getSource().getBinding();
+ // Check if it's wireable binding for optimization
+ if (!conversational && binding instanceof OptimizableBinding) {
+ OptimizableBinding optimizableBinding = (OptimizableBinding)binding;
+ Component component = optimizableBinding.getTargetComponent();
+ if (component != null) {
+ Implementation implementation = component.getImplementation();
+ // Check if the target component is java component
+ if (implementation instanceof JavaImplementation) {
+ JavaImplementation javaImplementation = (JavaImplementation)implementation;
+ if (interfaze.isAssignableFrom(javaImplementation.getJavaClass())) {
+ ScopedRuntimeComponent scopedComponent = (ScopedRuntimeComponent)component;
+ ScopeContainer scopeContainer = scopedComponent.getScopeContainer();
+ Scope scope = scopeContainer.getScope();
+ if (scope == Scope.COMPOSITE || scope == Scope.STATELESS || scope == Scope.SYSTEM) {
+ boolean optimizable = true;
+ for (InvocationChain chain : wire.getInvocationChains()) {
+ if (chain.getHeadInvoker() != chain.getTailInvoker()) {
+ optimizable = false;
+ break;
+ }
+ }
+ if (optimizable) {
+ return new OptimizedObjectFactory<B>(scopeContainer);
+ }
+ }
+ }
+ }
+ }
+ }
return new WireObjectFactory<B>(interfaze, wire, proxyFactory);
}
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java Fri Sep 21 13:38:38 2007
@@ -203,17 +203,18 @@
/*
* Get the annotation corresponding to an instance
- * Note that this can be null since annotations are processed from implementation
- * classes in bundles only if the class names are provided in <implementation.osgi/>
*
*/
private JavaImplementation getAnnotationInfo(Object instance) {
- for (Class clazz : javaAnnotationInfo.keySet()) {
- if (clazz.isInstance(instance)) {
- return javaAnnotationInfo.get(clazz);
- }
- }
-
+
+ // The simplest case where the implementation class was listed under the
+ // classes attribute of <implementation.osgi/>, or this is the second call
+ // to this method for the implementation class.
+ JavaImplementation javaImpl = javaAnnotationInfo.get(instance.getClass());
+ if (javaImpl != null)
+ return javaImpl;
+
+ // Process annotations from the instance class.
try {
return processAnnotations(instance.getClass());
} catch (IntrospectionException e) {
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java Fri Sep 21 13:38:38 2007
@@ -1109,8 +1109,9 @@
component.setScopeContainer(null);
ScopeContainer scopeContainer = scopeRegistry.getScopeContainer(runtimeComponent);
- if (oldScopeContainer.getLifecycleState() == ScopeContainer.RUNNING)
+ if (oldScopeContainer != null && oldScopeContainer.getLifecycleState() == ScopeContainer.RUNNING) {
scopeContainer.start();
+ }
component.setScopeContainer(scopeContainer);
}
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java Fri Sep 21 13:38:38 2007
@@ -23,6 +23,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.jar.JarOutputStream;
@@ -34,6 +35,7 @@
import org.apache.tuscany.sca.core.scope.TargetInitializationException;
import org.apache.tuscany.sca.implementation.osgi.context.OSGiAnnotations;
import org.apache.tuscany.sca.interfacedef.Interface;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
import org.apache.tuscany.sca.runtime.EndpointReference;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -76,11 +78,44 @@
public synchronized T getInstance(ComponentService service) throws TargetInitializationException {
+ // If an instance corresponding to this service has already been created, return the instance.
if (instanceInfoList.get(service) != null)
return instanceInfoList.get(service).osgiInstance;
+
+ // There is no strict relation between service and callback instances. The instance semantics
+ // actually applies to the component instance in SCA. But for OSGi services, the callback
+ // is just another OSGi service, and could correspond to any of the service instances in
+ // the component. To implement the SCA scope semantics for callbacks, OSGi callbacks
+ // should also be made on the service object which implements the callback. The following code
+ // finds the first possible callback instance based on the interfaces implemented by the service
+ // objects in this component. Note that the interfaces are checked by name rather than using
+ // instanceof since the class seen by Tuscany could be from a different classloader from that
+ // used by the bundle.
+ if (service.isCallback()) {
+ Iterator<InstanceInfo<T>> instances = instanceInfoList.values().iterator();
+ while (instances.hasNext()) {
+ InstanceInfo<T> instanceInfo = instances.next();
+ Interface interfaze = service.getInterfaceContract().getInterface();
+ if (interfaze instanceof JavaInterface && ((JavaInterface)interfaze).getJavaClass() != null) {
+ String interfaceName = ((JavaInterface)interfaze).getJavaClass().getName();
+ Class[] interfaces = instanceInfo.osgiInstance.getClass().getInterfaces();
+ for (Class clazz : interfaces) {
+ if (clazz.getName().equals(interfaceName)) {
+ return instanceInfo.osgiInstance;
+ }
+ }
+
+ }
+
+ }
+ }
Bundle refBundle = provider.startBundle();
+ // For scopes other than composite, the service object is obtained using a dummy reference
+ // bundle to guarantee that a new instance is created each time. This combined with the Tuscany
+ // scope container code guarantee SCA scope semantics for OSGi components as long as service
+ // factories are used.
if (!annotationProcessor.getScope().equals(Scope.COMPOSITE)) {
refBundle = getDummyReferenceBundle();
}
@@ -111,44 +146,7 @@
return instanceInfo.osgiInstance;
}
- public synchronized T getCallbackInstance(EndpointReference from, Interface callbackInterface)
- throws TargetInitializationException {
-
- if (instanceInfoList.get(callbackInterface) != null)
- return instanceInfoList.get(callbackInterface).osgiInstance;
-
- Bundle refBundle = provider.startBundle();
-
- if (!annotationProcessor.getScope().equals(Scope.COMPOSITE)) {
- refBundle = getDummyReferenceBundle();
- }
-
- InstanceInfo<T> instanceInfo = new InstanceInfo<T>();
-
-
- instanceInfo.osgiServiceReference = provider.getOSGiServiceReference(from, callbackInterface);
-
- instanceInfo.refBundleContext = refBundle.getBundleContext();
- instanceInfo.osgiInstance = getInstanceObject(instanceInfo);
-
-
- try {
-
- if (!isInitialized(instanceInfo.osgiInstance)) {
-
- annotationProcessor.injectProperties(instanceInfo.osgiInstance);
- callLifecycleMethod(instanceInfo.osgiInstance, Init.class);
- instanceInfo.isFirstInstance = true;
- }
-
- instanceInfoList.put(callbackInterface, instanceInfo);
-
- } catch (Exception e) {
- throw new TargetInitializationException(e);
- }
-
- return instanceInfo.osgiInstance;
- }
+
// This method is provided purely to implement InstanceWrapper interface, and is never called.
public T getInstance() {
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java Fri Sep 21 13:38:38 2007
@@ -136,13 +136,8 @@
removeTemporaryConversationalComponentAfterCall = true;
}
-
- if (service != null) {
- instance = wrapper.getInstance(service);
- } else {
- instance = wrapper.getCallbackInstance(to, operation.getInterface());
- }
-
+ instance = wrapper.getInstance(service);
+
Method m = JavaInterfaceUtil.findMethod(instance.getClass(), operation);
Object ret = invokeMethod(instance, m, msg);
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java Fri Sep 21 13:38:38 2007
@@ -115,6 +115,14 @@
return serviceCallbackProperties.get(serviceName);
}
+ /**
+ * Since OSGi implementation annotations may not be processed until much later, leave it to
+ * the OSGi invoker to decide whether pass-by-reference is allowed.
+ * @return
+ */
+ public boolean isAllowsPassByReference() {
+ return true;
+ }
public Object getOSGiBundle() {
return osgiBundle;
Modified: incubator/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java Fri Sep 21 13:38:38 2007
@@ -85,7 +85,7 @@
osgiProcessor = new OSGiImplementationProcessor(modelFactories);
staxProcessors.addArtifactProcessor(osgiProcessor);
- OSGiTestBundles.createBundle("target/OSGiTestService.jar", OSGiTestInterface.class, OSGiTestImpl.class);
+ OSGiTestBundles.createBundle("target/test-classes/OSGiTestService.jar", OSGiTestInterface.class, OSGiTestImpl.class);
}
Modified: incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java Fri Sep 21 13:38:38 2007
@@ -93,6 +93,7 @@
// Ignore errors.
}
}
+ super.shutdown();
}
Modified: incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java Fri Sep 21 13:38:38 2007
@@ -62,7 +62,7 @@
}
- private BundleContext startRuntime() throws Exception {
+ protected BundleContext startRuntime() throws Exception {
if (bundleContext != null)
return bundleContext;
@@ -183,6 +183,7 @@
}
felix = null;
}
+ super.shutdown();
}
@Override
Modified: incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java Fri Sep 21 13:38:38 2007
@@ -58,7 +58,7 @@
// the classpath which contains framework.jar. The entries in init.xargs starting with
// -install are assumed to be single-line entries with full bundle location.
//
- private BundleContext startRuntime() throws Exception {
+ protected BundleContext startRuntime() throws Exception {
if (bundleContext != null)
return bundleContext;
@@ -146,6 +146,7 @@
}
framework = null;
}
+ super.shutdown();
}
Modified: incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java Fri Sep 21 13:38:38 2007
@@ -30,18 +30,19 @@
public abstract class OSGiRuntime {
private static final Logger logger = Logger.getLogger(OSGiRuntime.class.getName());
- private BundleContext bundleContext;
public abstract BundleContext getBundleContext();
- protected abstract void shutdown() throws Exception;
-
public abstract boolean supportsBundleFragments();
-
- private PackageAdmin packageAdmin;
-
+
+ protected abstract BundleContext startRuntime() throws Exception;
+
private static OSGiRuntime instance;
-
+
+ private BundleContext bundleContext;
+
+ private PackageAdmin packageAdmin;
+
/**
* System property org.apache.tuscany.implementation.osgi.runtime.OSGiRuntime can be set to the
* name of the OSGiRuntime class (eg. EquinoxRuntime). If set, start this runtime and return the
@@ -52,26 +53,37 @@
*/
public synchronized static OSGiRuntime getRuntime() throws Exception {
if (instance != null) {
+
+ if (instance.bundleContext == null) {
+ instance.startRuntime();
+ instance.initialize();
+ }
return instance;
}
String runtimeClassName = System.getProperty(OSGiRuntime.class.getName());
+
+ if (instance != null)
+ return instance;
if (runtimeClassName != null) {
try {
Class<?> runtimeClass = OSGiRuntime.class.getClassLoader().loadClass(runtimeClassName);
Method method = runtimeClass.getMethod("getInstance");
- instance = (OSGiRuntime)method.invoke(null);
+ instance = (OSGiRuntime) method.invoke(null);
+ instance.initialize();
return instance;
-
+
} catch (Exception e) {
throw new BundleException("Could not start OSGi runtime " + runtimeClassName, e);
}
}
try {
+
instance = EquinoxRuntime.getInstance();
+ instance.initialize();
return instance;
-
+
} catch (ClassNotFoundException e) {
// Ignore
} catch (Throwable e) {
@@ -79,8 +91,11 @@
}
try {
+
instance = FelixRuntime.getInstance();
+ instance.initialize();
return instance;
+
} catch (ClassNotFoundException e) {
// Ignore
} catch (Throwable e) {
@@ -88,8 +103,11 @@
}
try {
+
instance = KnopflerfishRuntime.getInstance();
+ instance.initialize();
return instance;
+
} catch (ClassNotFoundException e) {
// Ignore
} catch (Throwable e) {
@@ -99,9 +117,16 @@
throw new BundleException("Could not start OSGi runtime from the classpath");
}
+
+ public void shutdown() throws Exception {
+
+ bundleContext = null;
+ packageAdmin = null;
+ }
+
private void initialize() {
- if (bundleContext == null)
- bundleContext = getBundleContext();
+
+ bundleContext = getBundleContext();
if (bundleContext != null) {
@@ -117,8 +142,6 @@
public Bundle findBundle(String bundleSymbolicName, String bundleVersion) {
- initialize();
-
if (bundleContext != null) {
Bundle[] installedBundles = bundleContext.getBundles();
for (Bundle bundle : installedBundles) {
@@ -130,11 +153,16 @@
}
return null;
}
+
+ public synchronized static Bundle findInstalledBundle(String bundleLocation) {
+ if (instance != null) {
+ return instance.findBundle(bundleLocation);
+ }
+ return null;
+ }
public Bundle findBundle(String bundleLocation) {
- initialize();
-
if (bundleContext != null) {
Bundle[] installedBundles = bundleContext.getBundles();
for (Bundle bundle : installedBundles) {
@@ -147,8 +175,6 @@
}
public Bundle installBundle(String bundleLocation, InputStream inputStream) {
-
- initialize();
try {
if (bundleContext != null) {
Modified: incubator/tuscany/java/sca/samples/osgi-supplychain/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/build.xml?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/build.xml (original)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/build.xml Fri Sep 21 13:38:38 2007
@@ -37,11 +37,6 @@
<copy todir="target/classes">
<fileset dir="src/main/resources"/>
</copy>
- <jar destfile="target/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
<jar jarfile="target/classes/Customer.jar" manifest="target/classes/osgi/Customer.mf" >
<fileset dir="target/classes"
includes="supplychain/customer/Customer.class \
@@ -69,6 +64,39 @@
supplychain/OSGiBundleImpl.class \
supplychain/shipper/OSGiShipperImpl.class"
/>
+ </jar>
+ <jar jarfile="target/classes/DSCustomer.jar" manifest="target/classes/osgi/ds/Customer.mf" >
+ <fileset dir="target/classes"
+ includes="supplychain/customer/Customer.class \
+ osgi/ds/Customer.xml \
+ supplychain/customer/OSGiCustomerComponentImpl.class"
+ />
+ </jar>
+ <jar jarfile="target/classes/DSRetailer.jar" manifest="target/classes/osgi/ds/Retailer.mf" >
+ <fileset dir="target/classes"
+ includes="supplychain/retailer/Retailer.class \
+ Vosgi/ds/Retailer.xml \
+ supplychain/retailer/OSGiRetailerComponentImpl.class"
+ />
+ </jar>
+ <jar jarfile="target/classes/DSWarehouse.jar" manifest="target/classes/osgi/ds/Warehouse.mf" >
+ <fileset dir="target/classes"
+ includes="supplychain/warehouse/Warehouse.class \
+ osgi/ds/Warehouse.xml \
+ supplychain/warehouse/OSGiWarehouseComponentImpl.class"
+ />
+ </jar>
+ <jar jarfile="target/classes/DSShipper.jar" manifest="target/classes/osgi/ds/Shipper.mf" >
+ <fileset dir="target/classes"
+ includes="supplychain/shipper/Shipper.class \
+ osgi/ds/Shipper.xml \
+ supplychain/shipper/OSGiShipperComponentImpl.class"
+ />
+ </jar>
+ <jar destfile="target/${test.jar}" basedir="target/classes">
+ <manifest>
+ <attribute name="Main-Class" value="${test.class}" />
+ </manifest>
</jar>
</target>
Modified: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite (original)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.composite Fri Sep 21 13:38:38 2007
@@ -26,7 +26,6 @@
<component name="CustomerComponent">
<tuscany:implementation.osgi
- bundle="Customer"
bundleSymbolicName="supplychain.customer.Customer"
/>
@@ -37,7 +36,6 @@
<component name="RetailerComponent">
<implementation.java class="supplychain.retailer.JavaRetailerComponentImpl" />
<!--implementation.osgi
- bundle="Retailer"
bundleSymbolicName="supplychain.retailer.Retailer"
/-->
<reference name="warehouse" target="WarehouseComponent"/>
@@ -46,7 +44,6 @@
<component name="WarehouseComponent">
<implementation.java class="supplychain.warehouse.JavaWarehouseComponentImpl" />
<!--implementation.osgi
- bundle="Warehouse"
bundleSymbolicName="supplychain.warehouse.Warehouse"
/-->
<reference name="shipper" target="ShipperComponent" />
@@ -54,7 +51,6 @@
<component name="ShipperComponent">
<tuscany:implementation.osgi
- bundle="Shipper"
bundleSymbolicName="supplychain.shipper.Shipper"
/>
<!--implementation.java class="supplychain.shipper.JavaShipperComponentImpl" /-->
Modified: incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite?rev=578261&r1=578260&r2=578261&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite (original)
+++ incubator/tuscany/java/sca/samples/osgi-supplychain/src/main/resources/supplychain.ds.composite Fri Sep 21 13:38:38 2007
@@ -26,7 +26,6 @@
<component name="CustomerComponent">
<tuscany:implementation.osgi
- bundle="Customer"
bundleSymbolicName="ds.supplychain.customer.Customer"
/>
@@ -37,7 +36,6 @@
<component name="RetailerComponent">
<implementation.java class="supplychain.retailer.JavaRetailerComponentImpl" />
<!--tuscany:implementation.osgi
- bundle="Retailer"
bundleSymbolicName="ds.supplychain.retailer.Retailer"
/-->
<reference name="warehouse" target="WarehouseComponent"/>
@@ -46,7 +44,6 @@
<component name="WarehouseComponent">
<implementation.java class="supplychain.warehouse.JavaWarehouseComponentImpl" />
<!--implementation.osgi
- bundle="Warehouse"
bundleSymbolicName="ds.supplychain.warehouse.Warehouse"
/-->
<reference name="shipper" target="ShipperComponent" />
@@ -54,7 +51,6 @@
<component name="ShipperComponent">
<tuscany:implementation.osgi
- bundle="Shipper"
bundleSymbolicName="ds.supplychain.shipper.Shipper"
/>
<!--implementation.java class="supplychain.shipper.JavaShipperComponentImpl" /-->
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org