Author: antelder
Date: Thu Dec 8 16:15:01 2011
New Revision: 1211944
URL: http://svn.apache.org/viewvc?rev=1211944&view=rev
Log:
Add a test for dynamically altering the binding URI of a ServiceReference
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/ (with props)
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/pom.xml
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/Helloworld.java
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldClient.java
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldImpl.java
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/client.composite
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/service.composite
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/Test1TestCase.java
Propchange: tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 8 16:15:01 2011
@@ -0,0 +1,20 @@
+target
+work
+dojo
+*.iws
+*.ipr
+*.iml
+derby.log
+maven.log
+maven-eclipse.xml
+build.xml
+build-dependency.xml
+velocity.log*
+junit*.properties
+surefire*.properties
+.project
+.classpath
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders
Added: tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/pom.xml
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/pom.xml?rev=1211944&view=auto
==============================================================================
--- tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/pom.xml (added)
+++ tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/pom.xml Thu Dec 8
16:15:01 2011
@@ -0,0 +1,56 @@
+<?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.
+-->
+<!--
+ A set of tests dealing with Asynchronous services
+-->
+<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-dynamicrefuri</artifactId>
+ <name>Apache Tuscany SCA iTest Dynamic reference URI</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-base-runtime-pom</artifactId>
+ <type>pom</type>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-ws-runtime-axis2</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>6.1.19</version>
+ </dependency>
+
+ </dependencies>
+</project>
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/Helloworld.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/Helloworld.java?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/Helloworld.java
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/Helloworld.java
Thu Dec 8 16:15:01 2011
@@ -0,0 +1,28 @@
+/*
+ * 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 org.apache.tuscany.sca.itest;
+
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
+public interface Helloworld {
+
+ String sayHello(String name);
+
+}
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldClient.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldClient.java?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldClient.java
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldClient.java
Thu Dec 8 16:15:01 2011
@@ -0,0 +1,45 @@
+/*
+ * 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 org.apache.tuscany.sca.itest;
+
+import org.apache.tuscany.sca.core.context.impl.ServiceReferenceImpl;
+import org.oasisopen.sca.ComponentContext;
+import org.oasisopen.sca.ServiceReference;
+import org.oasisopen.sca.annotation.Context;
+import org.oasisopen.sca.annotation.Reference;
+
+public class HelloworldClient implements Helloworld {
+
+ @Reference
+ public Helloworld helloworldService;
+
+ @Context
+ public ComponentContext componentContext;
+
+ @Override
+ public String sayHello(String name) {
+
+ ServiceReference<Helloworld> sr =
componentContext.getServiceReference(Helloworld.class, "helloworldService");
+
+
((ServiceReferenceImpl)sr).setBindingURI("http://localhost:8080/HelloworldService/Helloworld");
+
+ return "client: " + sr.getService().sayHello(name);
+ }
+}
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldImpl.java?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldImpl.java
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/java/org/apache/tuscany/sca/itest/HelloworldImpl.java
Thu Dec 8 16:15:01 2011
@@ -0,0 +1,27 @@
+/*
+ * 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 org.apache.tuscany.sca.itest;
+
+public class HelloworldImpl implements Helloworld {
+
+ public String sayHello(String name) {
+ return "Hello " + name;
+ }
+
+}
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/client.composite
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/client.composite?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/client.composite
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/client.composite
Thu Dec 8 16:15:01 2011
@@ -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
+ * "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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+
targetNamespace="http://docs.oasis-open.org/ns/opencsa/scatests/200903"
+ name="ClientComposite">
+
+ <component name="HelloworldClient">
+ <implementation.java
class="org.apache.tuscany.sca.itest.HelloworldClient"/>
+ <reference name="helloworldService">
+ <binding.ws uri="http://localhost:8080/client/will/correct/this"/>
+ </reference>
+ </component>
+
+</composite>
\ No newline at end of file
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/service.composite
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/service.composite?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/service.composite
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/main/resources/service.composite
Thu Dec 8 16:15:01 2011
@@ -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
+ * "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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+
targetNamespace="http://docs.oasis-open.org/ns/opencsa/scatests/200903"
+ name="ServiceComposite">
+
+ <component name="HelloworldService">
+ <implementation.java
class="org.apache.tuscany.sca.itest.HelloworldImpl"/>
+ <service name="Helloworld">
+ <binding.ws/>
+ </service>
+ </component>
+
+</composite>
\ No newline at end of file
Added:
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/Test1TestCase.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/Test1TestCase.java?rev=1211944&view=auto
==============================================================================
---
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/Test1TestCase.java
(added)
+++
tuscany/sca-java-2.x/trunk/testing/itest/dynamicRefURI/src/test/java/org/apache/tuscany/sca/itest/Test1TestCase.java
Thu Dec 8 16:15:01 2011
@@ -0,0 +1,54 @@
+/*
+ * 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 org.apache.tuscany.sca.itest;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.tuscany.sca.Node;
+import org.apache.tuscany.sca.TuscanyRuntime;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.oasisopen.sca.NoSuchServiceException;
+
+public class Test1TestCase {
+
+ protected TuscanyRuntime runtime;
+ protected Node serviceNode;
+ protected Node clientNode;
+
+ @Before
+ public void setUp() throws Exception {
+ serviceNode = TuscanyRuntime.runComposite("service.composite",
"target/classes");
+ clientNode = TuscanyRuntime.runComposite("client.composite",
"target/classes");
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ serviceNode.stop();
+ clientNode.stop();
+ }
+
+ @Test
+ public void testReference() throws NoSuchServiceException {
+ Helloworld client = clientNode.getService(Helloworld.class,
"HelloworldClient");
+ assertEquals("client: Hello Ariana", client.sayHello("Ariana"));
+ }
+
+}