summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-05-20 13:36:19 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-05-20 13:36:19 +0000
commit3a024ba0c7189a84967851486947f6a4aaf89214 (patch)
treea402f504c90886338e339bf694f7ea532c1a3f2b /sca-java-2.x
parent19c06eb451b3e3cb1ab0d23184cccc0aa8e3d73e (diff)
Add a simple stand-alone application that calls a calculator service via the SCAClient API. Should be usable with any of the calculator based contributions started via any of the launchers. Won't work just yet as the launchers don't keep the application running.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@946628 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml69
-rw-r--r--sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java38
-rw-r--r--sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java53
3 files changed, 160 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml b/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml
new file mode 100644
index 0000000000..16064143dd
--- /dev/null
+++ b/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-sca</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>sample-calculator-scaclient</artifactId>
+ <name>Apache Tuscany SCA Sample Calcualtor SCAClient</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca.shades</groupId>
+ <artifactId>tuscany-base</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.1.1</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <mainClass>sample.HelloworldSCAClient</mainClass>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java b/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
new file mode 100644
index 0000000000..12d80ffd1c
--- /dev/null
+++ b/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+
+/**
+ * The Calculator service interface.
+ */
+@Remotable
+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/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java b/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
new file mode 100644
index 0000000000..edbf528517
--- /dev/null
+++ b/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
@@ -0,0 +1,53 @@
+/*
+ * 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 sample;
+
+import java.net.URI;
+
+import org.oasisopen.sca.NoSuchDomainException;
+import org.oasisopen.sca.NoSuchServiceException;
+import org.oasisopen.sca.client.SCAClientFactory;
+
+import calculator.CalculatorService;
+
+public class CalculatorSCAClient {
+
+ public static void main(String[] args) throws NoSuchDomainException, NoSuchServiceException {
+
+ String domainURI = "default";
+ String name = "world";
+
+ if (args.length == 2) {
+ domainURI= args[0];
+ name = args[1];
+ } else if (args.length == 1) {
+ domainURI= args[0];
+ }
+
+ System.out.println("using domain uri: " + domainURI);
+ System.out.println("using name: " + name);
+
+ SCAClientFactory factory = SCAClientFactory.newInstance(URI.create(domainURI));
+ CalculatorService calculator = factory.getService(CalculatorService.class, "CalculatorServiceComponent");
+
+ System.out.println("Calling CalculatorService.add(2, 3)");
+ System.out.println(calculator.add(3, 2));
+ }
+
+}