diff options
Diffstat (limited to 'sandbox/slaws/runtimecompat/2xlauncher')
3 files changed, 71 insertions, 2 deletions
diff --git a/sandbox/slaws/runtimecompat/2xlauncher/pom.xml b/sandbox/slaws/runtimecompat/2xlauncher/pom.xml index e233ea16d4..c79f623674 100644 --- a/sandbox/slaws/runtimecompat/2xlauncher/pom.xml +++ b/sandbox/slaws/runtimecompat/2xlauncher/pom.xml @@ -27,6 +27,7 @@ <version>1.0-SNAPSHOT</version> <artifactId>2x-launcher</artifactId> <name>Apache Tuscany SCA 2.x Launcher</name> + <packaging>bundle</packaging> <dependencies> <dependency> @@ -58,6 +59,22 @@ </dependencies> <build> - <finalName>${artifactId}</finalName> + <!-- finalName>${artifactId}</finalName--> + <plugins> + + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Import-Package>org.apache.tuscany.sca.node;version="[2.0.0,2.0.0]"</Import-Package> + <Export-Package>launcher</Export-Package> + <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> + </instructions> + </configuration> + </plugin> + + </plugins> </build> </project> diff --git a/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/calculator/CalculatorService.java b/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..031fa8b912 --- /dev/null +++ b/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/calculator/CalculatorService.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package calculator; + + +/** + * The Calculator service interface. + */ +public interface CalculatorService { + + double add(double n1, double n2); + + double subtract(double n1, double n2); + + double multiply(double n1, double n2); + + double divide(double n1, double n2); + +} diff --git a/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/launcher/TwoXLauncher.java b/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/launcher/TwoXLauncher.java index 128617cb32..aa086c3b83 100644 --- a/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/launcher/TwoXLauncher.java +++ b/sandbox/slaws/runtimecompat/2xlauncher/src/main/java/launcher/TwoXLauncher.java @@ -23,15 +23,32 @@ import org.apache.tuscany.sca.node.Contribution; import org.apache.tuscany.sca.node.Node; import org.apache.tuscany.sca.node.NodeFactory; +import calculator.CalculatorService; + public class TwoXLauncher { public static void main(String[] args) throws Exception { + TwoXLauncher.launchNode(); + } + + public static void launchNode(){ Node node = NodeFactory.newInstance().createNode("Calculator.composite", new Contribution("calculator", "../2xcalculator.jar")); + System.out.println("2.x Node created"); + node.start(); - + + System.out.println("2.x Node started"); + + CalculatorService calculatorService = 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(); } |