summaryrefslogtreecommitdiffstats
path: root/sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java')
-rw-r--r--sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java21
1 files changed, 21 insertions, 0 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();
}
}