summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-10-22 01:40:52 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-10-22 01:40:52 +0000
commitf3c397b7ba45902697dd3a8467abe8dbf0fc5915 (patch)
treeb638c45874818101adb03fbbfba57158fae7ea66
parenta368e7155b9087a686dd6ebbdd3cbbd8bdea9571 (diff)
TUSCANY-3294 - iTest to validate JAXWS Async Client APIs
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@828277 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/sca/itest/jaxws/pom.xml53
-rw-r--r--java/sca/itest/jaxws/src/test/java/stock/AsyncServiceTestCase.java42
-rw-r--r--java/sca/itest/jaxws/src/test/java/stock/StockQuote.java45
-rw-r--r--java/sca/itest/jaxws/src/test/java/stock/StockQuoteImpl.java46
-rw-r--r--java/sca/itest/jaxws/src/test/resources/StockQuote.composite31
-rw-r--r--java/sca/itest/pom.xml8
6 files changed, 222 insertions, 3 deletions
diff --git a/java/sca/itest/jaxws/pom.xml b/java/sca/itest/jaxws/pom.xml
new file mode 100644
index 0000000000..1f0274b7ed
--- /dev/null
+++ b/java/sca/itest/jaxws/pom.xml
@@ -0,0 +1,53 @@
+<?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-itest</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>itest-jaxws</artifactId>
+ <name>Apache Tuscany JAX-WS Integration Tests</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-node-impl</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/java/sca/itest/jaxws/src/test/java/stock/AsyncServiceTestCase.java b/java/sca/itest/jaxws/src/test/java/stock/AsyncServiceTestCase.java
new file mode 100644
index 0000000000..e1c2bedea3
--- /dev/null
+++ b/java/sca/itest/jaxws/src/test/java/stock/AsyncServiceTestCase.java
@@ -0,0 +1,42 @@
+package stock;
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.ContributionLocationHelper;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.Test;
+
+/*
+ * 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.
+ */
+
+public class AsyncServiceTestCase {
+
+ @Test
+ public void init() throws Exception {
+ try{
+ String location = ContributionLocationHelper.getContributionLocation("StockQuote.composite");
+ Node node = NodeFactory.newInstance().createNode("StockQuote.composite", new Contribution("c1", location));
+ node.start();
+ node.stop();
+ } catch (Exception e) {
+ Assert.assertTrue(e.getMessage().contains("[JCA100006]"));
+ }
+ }
+}
diff --git a/java/sca/itest/jaxws/src/test/java/stock/StockQuote.java b/java/sca/itest/jaxws/src/test/java/stock/StockQuote.java
new file mode 100644
index 0000000000..74e25bb3bd
--- /dev/null
+++ b/java/sca/itest/jaxws/src/test/java/stock/StockQuote.java
@@ -0,0 +1,45 @@
+package stock;
+/*
+ * 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.
+ */
+
+
+
+import java.util.concurrent.Future;
+
+import javax.jws.WebService;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+
+/**
+ * JAX-WS Async style Stock quote interface
+ *
+ * @version $Rev$ $Date$
+ */
+
+@WebService
+public interface StockQuote {
+
+ float getPrice(String ticker);
+
+ Response<Float> getPriceAsync(String ticker);
+
+ Future<?> getPriceAsync(String ticker, AsyncHandler<Float> callback);
+
+
+}
diff --git a/java/sca/itest/jaxws/src/test/java/stock/StockQuoteImpl.java b/java/sca/itest/jaxws/src/test/java/stock/StockQuoteImpl.java
new file mode 100644
index 0000000000..516c63d864
--- /dev/null
+++ b/java/sca/itest/jaxws/src/test/java/stock/StockQuoteImpl.java
@@ -0,0 +1,46 @@
+/*
+ * 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 stock;
+
+import java.util.concurrent.Future;
+
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+
+/**
+ * Stock quote impl
+ *
+ * @version $Rev$ $Date$
+ */
+public class StockQuoteImpl implements StockQuote {
+
+ public float getPrice(String ticker) {
+ return 10;
+ }
+
+ public Response<Float> getPriceAsync(String ticker) {
+ return null;
+ }
+
+ public Future<?> getPriceAsync(String ticker, AsyncHandler<Float> callback) {
+ return null;
+ }
+
+}
diff --git a/java/sca/itest/jaxws/src/test/resources/StockQuote.composite b/java/sca/itest/jaxws/src/test/resources/StockQuote.composite
new file mode 100644
index 0000000000..b2c9bd8ddb
--- /dev/null
+++ b/java/sca/itest/jaxws/src/test/resources/StockQuote.composite
@@ -0,0 +1,31 @@
+<?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
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ xmlns:foo="http://itest/jaxws"
+ targetNamespace="http://itest/jaxws"
+ name="jaxwsAsync">
+
+ <component name="StockQuote">
+ <implementation.java class="stock.StockQuoteImpl" />
+ <service name="StockQuote">
+ <interface.java interface="stock.StockQuote"/>
+ </service>
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/java/sca/itest/pom.xml b/java/sca/itest/pom.xml
index 7b26f3e101..6a6d2ad613 100644
--- a/java/sca/itest/pom.xml
+++ b/java/sca/itest/pom.xml
@@ -16,8 +16,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
--->
-<project>
+--><project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.tuscany.sca</groupId>
@@ -162,4 +161,7 @@
</profile>
</profiles>
-</project>
+ <modules>
+ <module>jaxws</module>
+ </modules>
+</project> \ No newline at end of file