Author: slaws
Date: Thu May 20 13:36:19 2010
New Revision: 946628
URL: http://svn.apache.org/viewvc?rev=946628&view=rev
Log:
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.
Added:
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/ (with props)
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/resources/
Propchange: tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu May 20 13:36:19 2010
@@ -0,0 +1,4 @@
+.classpath
+.project
+.settings
+target
Added: tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml?rev=946628&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/pom.xml Thu May 20
13:36:19 2010
@@ -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>
Added:
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java?rev=946628&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
(added)
+++
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/calculator/CalculatorService.java
Thu May 20 13:36:19 2010
@@ -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);
+
+}
Added:
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java?rev=946628&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
(added)
+++
tuscany/sca-java-2.x/trunk/samples/calculator-scaclient/src/main/java/sample/CalculatorSCAClient.java
Thu May 20 13:36:19 2010
@@ -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));
+ }
+
+}