diff options
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.java | 21 |
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(); } } |