diff options
Diffstat (limited to 'sandbox')
-rw-r--r-- | sandbox/slaws/runtimecompat/1xlauncher/src/main/java/launcher/OneXLauncher.java | 21 | ||||
-rw-r--r-- | sandbox/slaws/runtimecompat/combinedlauncher/src/main/java/launcher/CombinedLauncher.java | 23 |
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(); } |