summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java21
-rw-r--r--sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java23
2 files changed, 30 insertions, 14 deletions
diff --git a/sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java b/sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java
index 215b211d13..89d3c99270 100644
--- a/sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java
+++ b/sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java
@@ -19,10 +19,13 @@
package launcher;
+import org.apache.tuscany.sca.node.SCAClient;
import org.apache.tuscany.sca.node.SCAContribution;
import org.apache.tuscany.sca.node.SCANode;
import org.apache.tuscany.sca.node.SCANodeFactory;
+import calculator.CalculatorService;
+
public class OneXLauncher {
public static void main(String[] args) throws Exception {
@@ -30,11 +33,29 @@ public class OneXLauncher {
}
public static void launchNode(){
+ // Set the TCCL to the classloader for the 1.x bundle. The node factory uses the
+ // TCCL to load the META-INF/services files and these are all in the 1.x bundle
+ // rather than the application classpath which is what TCCL is currently set to
+ Thread.currentThread().setContextClassLoader(SCANodeFactory.class.getClassLoader());
+
+ // Create node factory and then a node for out app.
SCANode node = SCANodeFactory.newInstance().createSCANode("Calculator.composite",
new SCAContribution("calculator", "../1xcalculator.jar"));
+
+ System.out.println("1.x Node created");
node.start();
+ System.out.println("1.x Node started");
+
+ CalculatorService calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
+
+ // Calculate
+ System.out.println("3 + 2=" + calculatorService.add(3, 2));
+ System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
+ System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
+ System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+
node.stop();
}
}
diff --git a/sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java b/sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java
index 5809f572fa..44579125ff 100644
--- a/sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java
+++ b/sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java
@@ -63,10 +63,11 @@ public class CombinedLauncher {
Bundle oneXLauncherbundle = equinoxHost.installBundle(new URL("file:///C:/simon/tuscany/sandbox/runtimecompat/1xlauncher/target/1x-launcher.jar"), "1xlauncherbundle");
System.out.println("Bundles loaded");
-/*
+
// load 2xcalculator
// find the the 2.x node launcher util
// Get the node runtime bundle.
+/*
Bundle twoXbundle = null;
for (Bundle b : bundleContext.getBundles()) {
if (TWO_X_NODE_LAUNCHER_EQUINOX_BUNDLE.equals(b.getSymbolicName())) {
@@ -118,13 +119,8 @@ public class CombinedLauncher {
startMethod.invoke(node);
System.out.println("2.x Running");
-*/
-// try {
-// System.out.println("Waiting");
-// Thread.sleep(20000);
-// } catch (Exception ex) {
-//
-// }
+*/
+
// load 1xcalculator
// find the the 1.x node launcher
@@ -134,12 +130,11 @@ public class CombinedLauncher {
System.out.println("1.x Running");
-// try {
-// System.out.println("Press a key");
-// System.in.read();
-// } catch (Exception ex) {
-//
-// }
+ try {
+ System.out.println("Press a key");
+ System.in.read();
+ } catch (Exception ex) {
+ }
equinoxHost.stop();
}