summaryrefslogtreecommitdiffstats
path: root/java/sca/samples/binding-ws-calculator/src
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-02-04 11:51:39 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-02-04 11:51:39 +0000
commit8ee4667047f8c52062193092499df0969498931a (patch)
treeab95b97140f6695cc50900de15df24f852e5ef92 /java/sca/samples/binding-ws-calculator/src
parentf6c4a20b6822143312fb166342945d0b7ef4c0b9 (diff)
Change binding-ws-calculator/build.xml to look similar to the way our build files used to look. Relies on launcher.jar to run the sample. Add itest/sample to run the samples automatically. Error handling not working yet. This also relies on distribution/all generating a dir distro to test against. Currently this runs as part of the main build but I see Raymond has now separated distributions from features so we could have this be a distribution test stage.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@740702 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/samples/binding-ws-calculator/src')
-rw-r--r--java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java73
-rw-r--r--java/sca/samples/binding-ws-calculator/src/main/resources/Calculator.composite10
-rw-r--r--java/sca/samples/binding-ws-calculator/src/test/java/calculator/CalculatorTestCase.java41
3 files changed, 9 insertions, 115 deletions
diff --git a/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java b/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java
deleted file mode 100644
index 0f275ea46e..0000000000
--- a/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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.EagerInit;
-import org.oasisopen.sca.annotation.Init;
-import org.oasisopen.sca.annotation.Reference;
-import org.oasisopen.sca.annotation.Scope;
-
-/**
- * This client program shows how to create an SCA runtime, start it,
- * and locate and invoke a SCA component
- */
-@Scope("COMPOSITE") @EagerInit
-public class CalculatorClient {
-
- private CalculatorService calculatorService;
-
- @Reference
- public void setCalculatorService(CalculatorService calculatorService) {
- this.calculatorService = calculatorService;
- }
-
- @Init
- public void calculate() {
- // The calls cannot be done in the same thread as the services are starting
- // Fork a new thread
- Thread thread = new Thread() {
- public void run() {
- // Calculate
- try {
- Thread.sleep(3000);
- System.out.println("SCA API ClassLoader: " + print(Reference.class.getClassLoader()));
- 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));
- } catch (Throwable e) {
- e.printStackTrace();
- }
- }
- };
- thread.start();
- }
-
- private static String print(ClassLoader cl) {
- StringBuffer buf = new StringBuffer();
- for (; cl != null;) {
- buf.append(cl.toString());
- buf.append(' ');
- cl = cl.getParent();
- }
- return buf.toString();
- }
-
-}
diff --git a/java/sca/samples/binding-ws-calculator/src/main/resources/Calculator.composite b/java/sca/samples/binding-ws-calculator/src/main/resources/Calculator.composite
index d27d09cb8e..f4bcaf4352 100644
--- a/java/sca/samples/binding-ws-calculator/src/main/resources/Calculator.composite
+++ b/java/sca/samples/binding-ws-calculator/src/main/resources/Calculator.composite
@@ -22,6 +22,11 @@
xmlns:sample="http://sample"
name="Calculator">
+ <component name="SampleClient">
+ <implementation.java class="calculator.CalculatorClientImpl"/>
+ <reference name="calculatorService" target="CalculatorServiceComponent" />
+ </component>
+
<component name="CalculatorServiceComponent">
<implementation.java class="calculator.CalculatorServiceImpl"/>
<reference name="addService" >
@@ -51,9 +56,4 @@
<implementation.java class="calculator.DivideServiceImpl"/>
</component>
- <component name="CalculatorClient">
- <implementation.java class="calculator.CalculatorClient"/>
- <reference name="calculatorService" target="CalculatorServiceComponent" />
- </component>
-
</composite>
diff --git a/java/sca/samples/binding-ws-calculator/src/test/java/calculator/CalculatorTestCase.java b/java/sca/samples/binding-ws-calculator/src/test/java/calculator/CalculatorTestCase.java
index 2e710ee4ae..bc90f0e566 100644
--- a/java/sca/samples/binding-ws-calculator/src/test/java/calculator/CalculatorTestCase.java
+++ b/java/sca/samples/binding-ws-calculator/src/test/java/calculator/CalculatorTestCase.java
@@ -27,48 +27,15 @@ import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import sample.SampleClientImpl;
+
/**
- * This shows how to test the Calculator composition.
+ * Test the Calculator composition.
*/
public class CalculatorTestCase {
- private static NodeLauncher launcher;
- private static Node node;
- private static String status = "Sample Success";
-
- public static void main(String[] args) throws Exception {
- setUpBeforeClass();
- tearDownAfterClass();
- }
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- launcher = NodeLauncher.newInstance();
- String location = ContributionLocationHelper.getContributionLocation(CalculatorClient.class);
- node = launcher.createNode("Calculator.composite", new Contribution("test", location));
-
- try {
- node.start();
- } catch (Exception ex) {
- status = ex.toString();
- System.out.println(status);
- }
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- Thread.sleep(30000);
- if (node != null) {
- node.stop();
- node.destroy();
- }
- if (launcher != null) {
- launcher.destroy();
- }
- }
-
@Test
public void testSample() throws Exception {
- Assert.assertEquals("Sample Success", status);
+ SampleClientImpl.main(null);
}
}