diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-01-19 13:58:04 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-01-19 13:58:04 +0000 |
commit | 0fe8f9530789d0d1310d2bac4eeb45313f9aa82d (patch) | |
tree | fcbfc609e8ab65c5512f161adb692f9b2712b82d /branches/sca-java-1.x/stest | |
parent | 8dd24acf4d472b50bd242aa167521f095d855caf (diff) |
copy stest framework from 2.x to consider potentially reusing in 1.x
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@735692 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/stest')
88 files changed, 4851 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/stest/pom.xml b/branches/sca-java-1.x/stest/pom.xml new file mode 100644 index 0000000000..3abb07df95 --- /dev/null +++ b/branches/sca-java-1.x/stest/pom.xml @@ -0,0 +1,57 @@ +<?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>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>tuscany-stests</artifactId> + <packaging>pom</packaging> + <name>Apache Tuscany SCA Specification Tests</name> + + <repositories> + <repository> + <id>apache.incubator</id> + <url>http://people.apache.org/repo/m2-incubating-repository</url> + </repository> + </repositories> + + <profiles> + <profile> + <id>default</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <modules> + <module>sampleTest</module> + </modules> + </profile> + <profile> + <id>old</id> + <modules> + <module>binding-echo</module> + </modules> + </profile> + </profiles> + +</project> diff --git a/branches/sca-java-1.x/stest/sampleTest/pom.xml b/branches/sca-java-1.x/stest/sampleTest/pom.xml new file mode 100644 index 0000000000..93c0b63f38 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/pom.xml @@ -0,0 +1,105 @@ +<?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-stests</artifactId> + <version>1.5-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>stest-sampleTest</artifactId> + <name>Apache Tuscany SCA Specification Sample Testcase</name> + + <repositories> + <repository> + <id>apache.incubator</id> + <url>http://people.apache.org/repo/m2-incubating-repository</url> + </repository> + </repositories> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node-api</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node-launcher</artifactId> + <version>1.5-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-node-impl</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-node-runtime</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-xml</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.5-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.5-SNAPSHOT</version> + <!-- <scope>runtime</scope> --> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> +</project> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0001_Client.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0001_Client.java new file mode 100644 index 0000000000..0e4583ffc2 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0001_Client.java @@ -0,0 +1,69 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.Service; + +import test.TestInvocation; + +/** + * Basic test initiation class + * @author MikeEdwards + * + */ +@Service(TestInvocation.class) +public class ASM_0001_Client implements TestInvocation { + + private String testName = "ASM_0001"; + + /** + * This method is offered as a service and is + * invoked by the test client to run the test + */ + public String invokeTest( String input ) throws TestException { + String response = null; + + response = runTest( input ); + + return response; + } // end method invokeTest + + /** + * This method actually runs the test - and is subclassed by classes that run other tests. + * @param input - an input string + * @return - a response string = "ASM_0001 inputString invoked ok"; + * + */ + public String runTest( String input ){ + String response = null; + + response = testName + " " + input + " invoked ok"; + + return response; + } // end method runTest + + /** + * Sets the name of the test + * @param name - the test name + */ + protected void setTestName( String name ) { + testName = name; + } + +} // diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0002_Client.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0002_Client.java new file mode 100644 index 0000000000..8a4a0c3fdc --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0002_Client.java @@ -0,0 +1,80 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.Service; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Property; + +import test.TestInvocation; + +/** + * Test initiation class with a single reference of multiplicity 1..1 + * @author MikeEdwards + * + */ +@Service(TestInvocation.class) +public class ASM_0002_Client implements TestInvocation { + + @Property + public String testName = "ASM_xxxx"; + + @Reference + public Service1 reference1; + + /** + * This method is offered as a service and is + * invoked by the test client to run the test + */ + public String invokeTest( String input ) throws TestException { + String response = null; + + try { + response = runTest( input ); + } catch( Exception e ) { + throw new TestException("Test service got an exception during execution: " + e.getClass().getName()+ " " + e.getMessage() ); + } // end try + return response; + } // end method invokeTest + + /** + * This method actually runs the test - and is subclassed by classes that run other tests. + * @param input - an input string + * @return - a response string = "ASM_0001 inputString invoked ok"; + * + */ + public String runTest( String input ){ + String response = null; + + String response1 = reference1.operation1(input); + + response = testName + " " + input + " " + response1; + + return response; + } // end method runTest + + /** + * Sets the name of the test + * @param name - the test name + */ + protected void setTestName( String name ) { + testName = name; + } + +} // diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0003_Client.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0003_Client.java new file mode 100644 index 0000000000..d4f3f7e5af --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/ASM_0003_Client.java @@ -0,0 +1,81 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.Service; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Property; + +import test.TestInvocation; + +import java.util.List; + +/** + * Basic test initiation class + * @author MikeEdwards + * + */ +@Service(TestInvocation.class) +public class ASM_0003_Client implements TestInvocation { + + @Property + public String testName = "ASM_xxxx"; + + @Reference + public List<Service1> reference1; + + /** + * This method is offered as a service and is + * invoked by the test client to run the test + */ + public String invokeTest( String input ) throws TestException { + String response = null; + + response = runTest( input ); + + return response; + } // end method invokeTest + + /** + * This method actually runs the test - and is subclassed by classes that run other tests. + * @param input - an input string + * @return - a response string = "ASM_0001 inputString invoked ok"; + * + */ + public String runTest( String input ){ + String response = ""; + + for( Service1 reference : reference1 ) { + response += reference.operation1(input); + } // end for + + response = testName + " " + input + " " + response; + + return response; + } // end method runTest + + /** + * Sets the name of the test + * @param name - the test name + */ + protected void setTestName( String name ) { + testName = name; + } + +} // diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1.java new file mode 100644 index 0000000000..eeb3b31999 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1.java @@ -0,0 +1,35 @@ +/* + * 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 test; + +/** + * A test service interface + * @author MikeEdwards + * + */ +public interface Service1 { + + /** + * Method for invoking testcase service + * @param input - input parameter(s) as a String + * @return - output data as a String + */ + public String operation1( String input ); + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1Superset.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1Superset.java new file mode 100644 index 0000000000..487d748513 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service1Superset.java @@ -0,0 +1,42 @@ +/* + * 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 test; + +/** + * A superset of the basic test service interface + * @author MikeEdwards + * + */ +public interface Service1Superset { + + /** + * Method for invoking testcase service + * @param input - input parameter(s) as a String + * @return - output data as a String + */ + public String operation1( String input ); + + /** + * A second method for invoking a testcase service + * @param input - input parameter(s) as a String + * @return - output data as a String + */ + public String operation2( String input ); + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service2.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service2.java new file mode 100644 index 0000000000..3006a885b2 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/Service2.java @@ -0,0 +1,35 @@ +/* + * 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 test; + +/** + * A test service interface, designed to be incompatible with the Service1 interface + * @author MikeEdwards + * + */ +public interface Service2 { + + /** + * Method for invoking testcase service + * @param input - input parameter(s) as a String + * @return - output data as a String + */ + public int operation2( int input ); + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestException.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestException.java new file mode 100644 index 0000000000..d66a9c73bc --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestException.java @@ -0,0 +1,39 @@ +/* + * 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 test; + +/* + * Exception thrown by SCA Test services + */ +public class TestException extends Exception { + + /** + * Required serialVersionUID field + */ + private static final long serialVersionUID = -6978058912756564824L; + + public TestException() { super(); }; + + public TestException( String msg ) { super( msg ); }; + + public TestException( String msg, Throwable cause ) { super( msg, cause); }; + + public TestException( Throwable cause ) { super( cause ); }; + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestInvocation.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestInvocation.java new file mode 100644 index 0000000000..94bbe87ed0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/TestInvocation.java @@ -0,0 +1,42 @@ +/* + * 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 test; + +import javax.jws.WebService; +import javax.jws.WebMethod; +import org.osoa.sca.annotations.Remotable; + +/** + * Basic interface to invoke testcases + * @author MikeEdwards + * + */ +@Remotable +public interface TestInvocation { + + /** + * Method for invoking testcase + * @param input - input parameter(s) as a String + * @return - output data as a String + * @throws - a TestException is thrown in cases where the test service fails internally + */ + @WebMethod + public String invokeTest( String input ) throws TestException ; + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl.java new file mode 100644 index 0000000000..b61fde92c9 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl.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 test; + +import org.osoa.sca.annotations.*; + +/** + * Simple Java component implementation for business interface Service1 + * @author MikeEdwards + * + */ +@Service(Service1.class) +public class service1Impl implements Service1 { + + @Property + public String serviceName = "service1"; + + public String operation1(String input) { + return serviceName + " operation1 invoked"; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl2.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl2.java new file mode 100644 index 0000000000..abff52b606 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl2.java @@ -0,0 +1,44 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.*; + +/** + * Enhanced Java component implementation for business interface Service1, + * where the implementation also has a single reference using the Service1 + * interface and which gets called when operation1 is invoked + * @author MikeEdwards + * + */ +@Service(Service1.class) +public class service1Impl2 implements Service1 { + + @Property + public String serviceName = "service1"; + // Reference with an implied multiplicity of (1..1) since required=true is the default + @Reference + public Service1 reference1 = null; + + public String operation1(String input) { + String result = reference1.operation1(input); + return serviceName + " operation1 invoked" + " " + result; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl3.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl3.java new file mode 100644 index 0000000000..b9f7d34638 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl3.java @@ -0,0 +1,49 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.*; + +/** + * Enhanced Java component implementation for business interface Service1, + * where the implementation also has a single reference using the Service1 + * interface with mutiplicity 1..n all of which and which get called when + * operation1 is invoked + * @author MikeEdwards + * + */ +@Service(Service1.class) +public class service1Impl3 implements Service1 { + + @Property + public String serviceName = "service1"; + // Required = true + an array -> multiplicity 1..n + @Reference(required=true) + public Service1[] reference1 = null; + + public String operation1(String input) { + String result = ""; + // Call each of the references in the array, concatenating the results + for( int i=0 ; i < reference1.length; i++ ) { + result = result.concat( reference1[i].operation1(input) ); + } // end for + return serviceName + " operation1 invoked" + " " + result; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl4.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl4.java new file mode 100644 index 0000000000..0c41f7e405 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1Impl4.java @@ -0,0 +1,50 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.*; + +/** + * Enhanced Java component implementation for business interface Service1, + * where the implementation also has a single reference using the Service1 + * interface with multiplicity 0..n all of which and which get called when + * operation1 is invoked + * @author MikeEdwards + * + */ +@Service(Service1.class) +public class service1Impl4 implements Service1 { + + @Property + public String serviceName = "service1"; + // Required = false + an array -> multiplicity 0..n + @Reference(required=false) + public Service1[] reference1 = null; + + public String operation1(String input) { + String result = serviceName + " operation1 invoked"; + // Call each of the references in the array, concatenating the results + for( int i=0 ; i < reference1.length; i++ ) { + result = result.concat(" "); + result = result.concat( reference1[i].operation1(input) ); + } // end for + return result; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1SupersetImpl.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1SupersetImpl.java new file mode 100644 index 0000000000..c75078f961 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service1SupersetImpl.java @@ -0,0 +1,42 @@ +/* + * 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 test; + +import org.osoa.sca.annotations.*; + +/** + * Simple Java component implementation for business interface Service1Superset + * @author MikeEdwards + * + */ +@Service(Service1Superset.class) +public class service1SupersetImpl implements Service1Superset { + + @Property + public String serviceName = "service1"; + + public String operation1(String input) { + return serviceName + " operation1 invoked"; + } + + public String operation2(String input) { + return serviceName + " operation2 invoked"; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service2Impl.java b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service2Impl.java new file mode 100644 index 0000000000..44a2789125 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/java/test/service2Impl.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 test; + +import org.osoa.sca.annotations.*; + +/** + * Simple Java component implementation for business interface Service2 + * @author MikeEdwards + * + */ +@Service(Service2.class) +public class service2Impl implements Service2 { + + @Property + public String serviceName = "service1"; + + public int operation2(int input) { + return input+1; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient.wsdl b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient.wsdl new file mode 100644 index 0000000000..2a8b112cca --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient.wsdl @@ -0,0 +1,102 @@ +<?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. +--> +<!-- Produced from the TestInvocation,java interface by running a service + based on that interface in an SCA runtime using a Web services binding + + Mike Edwards, 6th January 2008 +--> +<wsdl:definitions name="TestInvocationService" + targetNamespace="http://test/" + xmlns:tns="http://test/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:SOAP11="http://schemas.xmlsoap.org/wsdl/soap/"> + <wsdl:types> + <xs:schema targetNamespace="http://test/" version="1.0" xmlns:tns="http://test/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="TestException" type="tns:TestException"/> + <xs:complexType name="TestException"> + <xs:sequence> + <xs:element minOccurs="0" name="message" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:schema> + <xs:schema attributeFormDefault="qualified" elementFormDefault="unqualified" + targetNamespace="http://test/" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="invokeTest"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="arg0" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="invokeTestResponse"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:schema> + </wsdl:types> + <wsdl:message name="invokeTest"> + <wsdl:part name="invokeTest" element="tns:invokeTest"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="invokeTestResponse"> + <wsdl:part name="invokeTestResponse" element="tns:invokeTestResponse"> + </wsdl:part> + </wsdl:message> + <wsdl:message name="TestException"> + <wsdl:part name="TestException" element="tns:TestException"> + </wsdl:part> + </wsdl:message> + <wsdl:portType name="TestInvocation"> + <wsdl:operation name="invokeTest"> + <wsdl:input message="tns:invokeTest"> + </wsdl:input> + <wsdl:output message="tns:invokeTestResponse"> + </wsdl:output> + <wsdl:fault name="TestException" message="tns:TestException"> + </wsdl:fault> + </wsdl:operation> + </wsdl:portType> + <wsdl:binding name="TestInvocationBinding" type="tns:TestInvocation"> + <SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsdl:operation name="invokeTest"> + <SOAP:operation soapAction=""/> + <wsdl:input> + <SOAP:body use="literal"/> + </wsdl:input> + <wsdl:output> + <SOAP:body use="literal"/> + </wsdl:output> + <wsdl:fault name="TestException"> + <SOAP:fault name="TestException" use="literal"/> + </wsdl:fault> + </wsdl:operation> + </wsdl:binding> + <wsdl:service name="TestInvocationService"> + <wsdl:port name="TestInvocationPort" binding="tns:TestInvocationBinding"> + <SOAP:address location="http://localhost:8080/TestClient"/> + </wsdl:port> + </wsdl:service> +</wsdl:definitions> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0002.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0002.composite new file mode 100644 index 0000000000..299a7d665f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0002.composite @@ -0,0 +1,47 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestClient_0002"> + + <service name="TestInvocation" promote="TestClient/TestInvocation"> + <interface.java interface="test.TestInvocation"/> + </service> + + <property name="testName" type="string"/> + + <component name="TestClient"> + <implementation.java class="test.ASM_0002_Client"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + </service> + <reference name="reference1"> + <interface.java interface="test.Service1"/> + </reference> + <property name="testName" source="$testName"/> + </component> + + <reference name="reference1" promote="TestClient/reference1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0003.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0003.composite new file mode 100644 index 0000000000..0079b802b7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestClient_0003.composite @@ -0,0 +1,47 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestClient_0003"> + + <service name="TestInvocation" promote="TestClient/TestInvocation"> + <interface.java interface="test.TestInvocation"/> + </service> + + <property name="testName" type="string"/> + + <component name="TestClient"> + <implementation.java class="test.ASM_0003_Client"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + </service> + <reference name="reference1"> + <interface.java interface="test.Service1"/> + </reference> + <property name="testName" source="$testName"/> + </component> + + <reference name="reference1" promote="TestClient/reference1" multiplicity="1..n"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite1.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite1.composite new file mode 100644 index 0000000000..4d65e37e16 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite1.composite @@ -0,0 +1,39 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite1"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite10.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite10.composite new file mode 100644 index 0000000000..0a743d7767 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite10.composite @@ -0,0 +1,47 @@ +<?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. +--> +<!-- An example of a composite which has a single service and + a single reference, but where the reference has a binding + applied to it, with a target service identified --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite10"> + + <service name="Service1" promote="Composite10Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="Composite10Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + + <reference name="Reference1" promote="Composite10Component1/reference1"> + <interface.java interface="test.Service1"/> + <binding.sca uri="TestComponent2/Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite11.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite11.composite new file mode 100644 index 0000000000..98775aa6e5 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite11.composite @@ -0,0 +1,59 @@ +<?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. +--> +<!-- An example of a composite which has one component with a reference + that is multiplicity 1..1 and which is both wired to a service of a + second component in the same composite and is also promoted by a + composite reference --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite11"> + + <service name="Service1" promote="Composite11Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="Composite11Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + <!-- reference is multiplicity 1..1 --> + <reference name="reference1" target="Composite11Component2/Service1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="Composite11Component2"> + <implementation.java class="test.service1Impl"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">Composite11-C2</property> + </component> + + <reference name="Reference1" promote="Composite11Component1/reference1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite2.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite2.composite new file mode 100644 index 0000000000..9b89563a42 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite2.composite @@ -0,0 +1,43 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite2"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite3.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite3.composite new file mode 100644 index 0000000000..506557606f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite3.composite @@ -0,0 +1,49 @@ +<?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. +--> +<!-- An example of a composite which is invalid because it has two + composite level references with the same @name attribute --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite3"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + + <reference name="Reference1" promote="TestComponent1/Reference"> + <interface.java interface="test.Service1"/> + </reference> + + <reference name="Reference1" promote="TestComponent1/Reference"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite4.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite4.composite new file mode 100644 index 0000000000..c8f1a4c005 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite4.composite @@ -0,0 +1,45 @@ +<?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. +--> +<!-- An example of a composite which has a single service and + a single reference --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite4"> + + <service name="Service1" promote="Composite4Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="Composite4Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + + <reference name="Reference1" promote="Composite4Component1/reference1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite5.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite5.composite new file mode 100644 index 0000000000..b804c58a68 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite5.composite @@ -0,0 +1,41 @@ +<?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 offering a single service, with a modified interface + type --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite5"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service2"></interface.java> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service2Impl"/> + <service name="Service1"> + <interface.java interface="test.Service2"></interface.java> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite6.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite6.composite new file mode 100644 index 0000000000..5c9b9ed0e0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite6.composite @@ -0,0 +1,48 @@ +<?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. +--> +<!-- An example of a composite which has a single service and + a single reference with multiplicity 1..n --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite6"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl3"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + <reference name="reference1" multiplicity="1..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="1..n"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite7.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite7.composite new file mode 100644 index 0000000000..e498e15510 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite7.composite @@ -0,0 +1,48 @@ +<?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. +--> +<!-- An example of a composite which has a single service and + a single reference with multiplicity 0..n --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite7"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + <reference name="reference1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite8.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite8.composite new file mode 100644 index 0000000000..d5cccf8ee9 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite8.composite @@ -0,0 +1,48 @@ +<?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. +--> +<!-- An example of a composite which has a single service and + a single reference with multiplicity 0..1 --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite8"> + + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/> + + <component name="TestComponent1"> + <implementation.java class="test.service1Impl4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName" source="$serviceName"/> + <reference name="reference1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite9.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite9.composite new file mode 100644 index 0000000000..931565aae0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/TestComposite9.composite @@ -0,0 +1,41 @@ +<?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 that provides a single service with the extended + Service1Superset interface --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite9"> + + <service name="Service1" promote="Composite9Component1/Service1Superset"> + <interface.java interface="test.Service1Superset"></interface.java> + </service> + + <property name="serviceName" type="string"/> + + <component name="Composite9Component1"> + <implementation.java class="test.service1SupersetImpl"/> + <service name="Service1Superset"> + <interface.java interface="test.Service1Superset"></interface.java> + </service> + <property name="serviceName" source="$serviceName"/> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0001.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0001.composite new file mode 100644 index 0000000000..a8864587f3 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0001.composite @@ -0,0 +1,33 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0001"> + + <component name="TestClient"> + <implementation.java class="test.ASM_0001_Client"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.sca/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0002.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0002.composite new file mode 100644 index 0000000000..058bdff522 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0002.composite @@ -0,0 +1,48 @@ +<?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.
+-->
+<!--
+ ASM_0002_TestCase tests that component with a single reference can be wired to a single
+ component service in the same composite.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0002">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0002</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0003.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0003.composite new file mode 100644 index 0000000000..d3b4e51ef7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0003.composite @@ -0,0 +1,64 @@ +<?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.
+-->
+<!-- Test case that verifies that an implementation with a reference with multiplicity 1..n can
+ be validly wired to 3 target services and invoke them all correctly.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0003">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0003"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1 TestComponent2/Service1 TestComponent3/Service1" />
+ <property name="testName">ASM_0003</property>
+ </component>
+
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0004.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0004.composite new file mode 100644 index 0000000000..9f586ddbcf --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0004.composite @@ -0,0 +1,62 @@ +<?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. +--> +<!-- Test that verifies that a reference with multiplicity 1..1 which is provided + with multiple wire targets in the component configuration is marked as an error --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0004"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1 TestComponent2/Service1 TestComponent3/Service1" /> + <property name="testName">ASM_0004</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service1</property> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service3</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0005.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0005.composite new file mode 100644 index 0000000000..1bc61089a7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0005.composite @@ -0,0 +1,49 @@ +<?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. +--> +<!-- Test that a component with multiple <service/> elements must have unique @name attributes for each + service - negative test that has a component with 2 services with the same name --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0005"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0005</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite2"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service1</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0006.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0006.composite new file mode 100644 index 0000000000..2705d967a2 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0006.composite @@ -0,0 +1,47 @@ +<?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. +--> +<!-- Test checks that the @name attribute of a <service/> + element of a <component/> matches the @name attribute of a <service/> element of the + componentType of the <implementation/> used by the <component/> --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0006"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/InvalidName" /> + <property name="testName">ASM_0005</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite1"/> + <service name="InvalidName"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service1</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0007.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0007.composite new file mode 100644 index 0000000000..521d28b27d --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0007.composite @@ -0,0 +1,60 @@ +<?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. +--> +<!-- Test that the @name attribute of a <reference/> element of a + component is not equal to the @name attribute of any other + <reference/> element of the same component --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0007"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0005</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite3"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- Two references with the same name - the implementation also has + two references of the same name so that the component type + matches the configuration of the component --> + <reference name="Reference1" target="TestComponent2/Service1"/> + <reference name="Reference1" target="TestComponent2/Service1"/> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0008.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0008.composite new file mode 100644 index 0000000000..618d090bcb --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0008.composite @@ -0,0 +1,61 @@ +<?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. +--> +<!-- Tests that the @name attribute of a <reference/> element of a + component is equal to the @name attribute of a <reference/> + element of the <componentType/> of the <implementation/> of + the <component/> - negative test in that here there is a + reference @name which does NOT match a reference name in the + component type --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0008"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0005</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- This reference has a name that does not match the name of a + Reference in the implementation --> + <reference name="InvalidName" target="TestComponent2/Service1"/> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0009.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0009.composite new file mode 100644 index 0000000000..a161bdc36f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0009.composite @@ -0,0 +1,63 @@ +<?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. +--> +<!-- Tests that the @name attribute of a <component/> element + in a <composite/> is not the same as the @name + attribute of a second component in the same <composite/> --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0009"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0009</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service2</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0010.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0010.composite new file mode 100644 index 0000000000..d753742383 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0010.composite @@ -0,0 +1,51 @@ +<?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. +--> +<!-- Tests interface specified by the <interface/> child element of a + <service/> element is a compatible subset of the interface declared + for the <service/> element with the same @name attribute in the + <componentType/> of the <implementation/> of the <component/> + parent of the <service/> --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0010"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0010</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite5"/> + <!-- This service declares interface Service1 while the implementation offers + Service2, which is not compatible with Service1 --> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0011.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0011.composite new file mode 100644 index 0000000000..50c5bcc7b7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0011.composite @@ -0,0 +1,61 @@ +<?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. +--> +<!-- Tests the multiplicity of a <reference/> element of a <component/> + can be 1..1 where the multiplicity of the equivalent <reference/> + element in the <componentType/> of the <implementation/> of the + <component/> is 1..n --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0011"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0011</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite6"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of + the corresponding reference on the componentType of the implementation is 1..n --> + <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0012.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0012.composite new file mode 100644 index 0000000000..586aec454f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0012.composite @@ -0,0 +1,101 @@ +<?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. +--> +<!-- Tests that the the multiplicity + of a <reference/> element of a <component/> can be any one of 0..1, + 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/> + element in the <componentType/> of the <implementation/> of the + <component/> is 0..n --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0012"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0012</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- The multiplicity declared for this reference is 0..1 while the multiplicity of + the corresponding reference on the componentType of the implementation is 0..n --> + <reference name="Reference1" target="TestComponent2/Service1" multiplicity="0..1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service2</property> + <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of + the corresponding reference on the componentType of the implementation is 0..n --> + <reference name="Reference1" target="TestComponent3/Service1" multiplicity="1..1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service3</property> + <!-- The multiplicity declared for this reference is 0..n while the multiplicity of + the corresponding reference on the componentType of the implementation is 0..n --> + <reference name="Reference1" target="TestComponent4/Service1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent4"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service4</property> + <!-- The multiplicity declared for this reference is 1..n while the multiplicity of + the corresponding reference on the componentType of the implementation is 0..n --> + <reference name="Reference1" target="TestComponent5/Service1" multiplicity="1..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent5"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service5</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0013.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0013.composite new file mode 100644 index 0000000000..2fb5f3a969 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0013.composite @@ -0,0 +1,62 @@ +<?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. +--> +<!-- Tests that the the multiplicity + of a <reference/> element of a <component/> is + 1..1 where the multiplicity of the equivalent <reference/> + element in the <componentType/> of the <implementation/> of the + <component/> is 1..1 --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0013"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0013</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of + the corresponding reference on the componentType of the implementation is 1..1 --> + <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0014.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0014.composite new file mode 100644 index 0000000000..09082d724b --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0014.composite @@ -0,0 +1,61 @@ +<?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. +--> +<!-- Tests that the multiplicity of a <reference/> element of a + <component/> is 0..n where the multiplicity of the equivalent + <reference/> element in the <componentType/> of the + <implementation/> of the <component/> is 1..1 --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0014"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0014</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- The multiplicity declared for this reference is 0..n while the multiplicity of + the corresponding reference on the componentType of the implementation is 1..1 --> + <reference name="Reference1" target="TestComponent2/Service1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0015.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0015.composite new file mode 100644 index 0000000000..53c14c2248 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0015.composite @@ -0,0 +1,62 @@ +<?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. +--> +<!-- Tests that the the multiplicity + of a <reference/> element of a <component/> is + 1..1 where the multiplicity of the equivalent <reference/> + element in the <componentType/> of the <implementation/> of the + <component/> is 0..1 --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0015"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0015</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite8"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of + the corresponding reference on the componentType of the implementation is 0..1 --> + <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0016.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0016.composite new file mode 100644 index 0000000000..28503194b6 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0016.composite @@ -0,0 +1,61 @@ +<?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. +--> +<!-- Tests that the interface declared by the <interface/> child element + of a <reference/> of a <component/> is a compatible superset of the + interface declared on the corresponding <reference/> of the + componentType of the <implementation/> of the <component/> --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0016"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0016</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite4"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <reference name="Reference1" target="TestComponent2/Service1"> + <!-- Component type has the interface = test.Service1 - here + we use an interface that is a superset --> + <interface.java interface="test.Service1Superset"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite9"/> + <service name="Service1"> + <interface.java interface="test.Service1Superset"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0017.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0017.composite new file mode 100644 index 0000000000..7f7fdf8f25 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0017.composite @@ -0,0 +1,61 @@ +<?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. +--> +<!-- Tests that where a <reference/> of a <component/> has no <binding/> + child element, but the corresponding <reference/> element in the + componentType does have a binding child element, the <binding/> + from the componentType is used for the reference --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0017"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0017</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite10"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- ComponentType has a binding for this reference that + identifies the target for this reference --> + <reference name="Reference1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0018.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0018.composite new file mode 100644 index 0000000000..af18c09162 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0018.composite @@ -0,0 +1,72 @@ +<?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. +--> +<!-- Tests that where a <reference/> of a <component/> has a <binding/> + child element and the corresponding <reference/> element in the + componentType has a binding child element, the <binding/> + from the <reference/> is used for the reference --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0018"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0018</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite10"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- ComponentType has a binding for this reference that + identifies a target for this reference --> + <reference name="Reference1"> + <interface.java interface="test.Service1"/> + <binding.sca uri="TestComponent3/Service1"/> + </reference> + </component> + + <!-- This component is the target identified by the Component Type --> + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + + <!-- This component is the target identified by the reference --> + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service3</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0019.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0019.composite new file mode 100644 index 0000000000..f5cfc652f7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0019.composite @@ -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. +--> +<!-- Tests that where a <reference/> of a <component/> has autowire=true + and also has target identifying a single target service that the + reference is wired only to the single service identified by the + target attribute --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0019"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0019</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <reference name="Reference1" autowire="true" target="TestComponent3/Service1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <!-- This component is the target identified by the Component Type --> + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + + <!-- This component is the target identified by the reference --> + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service3</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0020.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0020.composite new file mode 100644 index 0000000000..e1ab046081 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0020.composite @@ -0,0 +1,71 @@ +<?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. +--> +<!-- Tests that where a <reference/> of a <component/> has + @autowire=true and where there is also a single <wire/> element + which as that <reference/> as its source that the reference is + wired only to the single service identified by the <wire/> element --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0020"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0020</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <reference name="Reference1" autowire="true"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <wire source="TestComponent1/Reference1" target="TestComponent3/Service1"/> + + <!-- This component is the target identified by the Component Type --> + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + + <!-- This component is the target identified by the reference --> + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service3</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0021.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0021.composite new file mode 100644 index 0000000000..1234571493 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0021.composite @@ -0,0 +1,70 @@ +<?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. +--> +<!-- Tests that where a <reference/> of a <component/> has @autowire=true + and where the <reference/> has a <binding/> child element which + declares a single target service, the reference is wired only to + the single service identified by the <wire/> element --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0021"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0021</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite7"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <reference name="Reference1" autowire="true"> + <interface.java interface="test.Service1"/> + <binding.sca uri="TestComponent3/Service1"/> + </reference> + </component> + + <!-- This component is the target identified by the Component Type --> + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + + <!-- This component is the target identified by the reference --> + <component name="TestComponent3"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service3</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0022.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0022.composite new file mode 100644 index 0000000000..b32ecf1dba --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0022.composite @@ -0,0 +1,50 @@ +<?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. +--> +<!-- Tests that where a <component/> <reference/> with multiplicity=0..1 + is unwired (by any means) that the component executes correctly --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0022"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0022</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite8"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <!-- Reference is 0..1 and is deliberately left unwired --> + <reference name="Reference1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0023.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0023.composite new file mode 100644 index 0000000000..df781e4408 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0023.composite @@ -0,0 +1,60 @@ +<?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. +--> +<!-- Tests that where a <component/> <reference/> with multiplicity=1..1 + is wired to a component service in the same composite and is also + promoted by a <composite/> <reference/> which is wired to a target + service by a component using the <composite/> as its implementation, + that this is an error --> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:tns="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0023"> + + <component name="TestClient"> + <implementation.composite name="tns:TestClient_0002"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.ws/> + </service> + <reference name="reference1" target="TestComponent1/Service1" /> + <property name="testName">ASM_0023</property> + </component> + + <component name="TestComponent1"> + <implementation.composite name="tns:TestComposite11"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">service1</property> + <reference name="Reference1" target="TestComponent2/Service1"> + <interface.java interface="test.Service1"/> + </reference> + </component> + + <component name="TestComponent2"> + <implementation.composite name="tns:TestComposite1"/> + <service name="Service1"> + <interface.java interface="test.Service1"></interface.java> + </service> + <property name="serviceName">service2</property> + </component> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0101.composite b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0101.composite new file mode 100644 index 0000000000..d2bfe29775 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/main/resources/Test_ASM_0101.composite @@ -0,0 +1,42 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TEST_ASM_0101"> + + <component name="TestClient"> + <implementation.java class="test.ASM_0001_Client"/> + <service name="TestInvocation"> + <interface.java interface="test.TestInvocation"/> + <binding.sca/> + <binding.ws/> + </service> + <!-- reference name="testRef1" target="TestComponent1/service1" / --> + </component> + +<!-- + <component name="TestComponent1"> + <implementation.java class="test.ASM_0001_Impl1"/> + <service name="service1"/> + </component> +--> + +</composite> diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java new file mode 100644 index 0000000000..1d3a7040d5 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0002_TestCase.java @@ -0,0 +1,43 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * ASM_0002_TestCase + */ +public class ASM_0002_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0002"; + config.input = "request"; + config.output = config.testName + " " + config.input + " service1 operation1 invoked"; + config.composite = "Test_ASM_0002.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0002 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java new file mode 100644 index 0000000000..930200009e --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0003_TestCase.java @@ -0,0 +1,44 @@ +/* + * 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 client; + + +import test.ASM_0003_Client; +import testClient.TestInvocation; + +/** + * A generic test client based on Tuscany APIs + */ +public class ASM_0003_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0003"; + config.input = "request"; + config.output = config.testName + " " + config.input + " service1 operation1 invoked" + + "service2 operation1 invoked" + "service3 operation1 invoked"; + config.composite = "Test_ASM_0003.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0003_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java new file mode 100644 index 0000000000..84ab959a67 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0004_TestCase.java @@ -0,0 +1,43 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * A generic test client based on Tuscany APIs + */ +public class ASM_0004_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0004"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0004.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java new file mode 100644 index 0000000000..e77a9b13f0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0005_TestCase.java @@ -0,0 +1,44 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0005_TestCase, which checks that a component with multiple <service/> + * elements with the same @name attribute is an error + */ +public class ASM_0005_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0005"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0005.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java new file mode 100644 index 0000000000..822fba7d78 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0006_TestCase.java @@ -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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0006_TestCase, which checks that the @name attribute of a <service/> + * element of a <component/> matches the @name attribute of a <service/> element of the + * componentType of the <implementation/> used by the <component/> + */ +public class ASM_0006_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0006"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0006.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java new file mode 100644 index 0000000000..220dfc992d --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0007_TestCase.java @@ -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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0007_TestCase, which tests that the @name attribute of a <reference/> + * element of a component is not equal to the @name attribute of any other <reference/> + * element of the same component + */ +public class ASM_0007_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0007"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0007.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.java new file mode 100644 index 0000000000..4df69020a0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0008_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0008_TestCase, which Tests that the @name attribute of a + * <reference/> element of a component is equal to the @name attribute of a + * <reference/> element of the <componentType/> of the <implementation/> of + * the <component/> + */ +public class ASM_0008_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0008"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0008.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java new file mode 100644 index 0000000000..2bbcc04465 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0009_TestCase.java @@ -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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0009_TestCase, which tests that the @name attribute of a + * <component/> element in a <composite/> is not the same as the @name + * attribute of a second component in the same <composite/> + */ +public class ASM_0009_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0009"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0009.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java new file mode 100644 index 0000000000..274c39347f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0010_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0009_TestCase, which tests that the interface specified + * by the <interface/> child element of a <service/> element is a compatible + * subset of the interface declared for the <service/> element with the + * same @name attribute in the <componentType/> of the <implementation/> + * of the <component/> parent of the <service/> + */ +public class ASM_0010_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0010"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0010.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.java new file mode 100644 index 0000000000..7a503fb459 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0011_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0011_TestCase, which tests that the the multiplicity + * of a <reference/> element of a <component/> can be 1..1 where the + * multiplicity of the equivalent <reference/> element in the + * <componentType/> of the <implementation/> of the <component/> is 1..n + */ +public class ASM_0011_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0011"; + config.input = "request"; + config.output = "ASM_0011 request service1 operation1 invoked service2 operation1 invoked"; + config.composite = "Test_ASM_0011.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java new file mode 100644 index 0000000000..228d1810e0 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java @@ -0,0 +1,48 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0012_TestCase, which tests that the the multiplicity + * of a <reference/> element of a <component/> can be any one of 0..1, + * 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/> + * element in the <componentType/> of the <implementation/> of the + * <component/> is 0..n + */ +public class ASM_0012_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0012"; + config.input = "request"; + config.output = "ASM_0012 request service1 operation1 invoked service2 operation1 invoked" + + " service3 operation1 invoked service4 operation1 invoked service5 operation1 invoked"; + config.composite = "Test_ASM_0012.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java new file mode 100644 index 0000000000..a02ca18184 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0013_TestCase, which tests that the the multiplicity + * of a <reference/> element of a <component/> is 1..1 where the + * multiplicity of the equivalent <reference/> element in the + * <componentType/> of the <implementation/> of the <component/> is 1..1 + */ +public class ASM_0013_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0013"; + config.input = "request"; + config.output = "ASM_0013 request service1 operation1 invoked service2 operation1 invoked"; + config.composite = "Test_ASM_0013.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.java new file mode 100644 index 0000000000..c4960925f9 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0014_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0014_TestCase, which tests that the multiplicity of a + * <reference/> element of a <component/> is 0..n where the multiplicity + * of the equivalent <reference/> element in the <componentType/> of the + * <implementation/> of the <component/> is 1..1 + */ +public class ASM_0014_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0014"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0014.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.java new file mode 100644 index 0000000000..c9c7c2ba1c --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0015_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0015_TestCase, which tests that the the multiplicity + * of a <reference/> element of a <component/> is 1..1 where the + * multiplicity of the equivalent <reference/> element in the + * <componentType/> of the <implementation/> of the <component/> is 0..1 + */ +public class ASM_0015_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0015"; + config.input = "request"; + config.output = "ASM_0015 request service1 operation1 invoked service2 operation1 invoked"; + config.composite = "Test_ASM_0015.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.java new file mode 100644 index 0000000000..e9817a069b --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0016_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0016_TestCase, which tests that the interface declared + * by the <interface/> child element of a <reference/> of a <component/> + * is a compatible superset of the interface declared on the corresponding + * <reference/> of the componentType of the <implementation/> of the <component/> + */ +public class ASM_0016_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0016"; + config.input = "request"; + config.output = "ASM_0016 request service1 operation1 invoked service2 operation1 invoked"; + config.composite = "Test_ASM_0016.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java new file mode 100644 index 0000000000..735a9bfc38 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0017_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0017_TestCase, which tests that where a <reference/> + * of a <component/> has no <binding/> child element, but the + * corresponding <reference/> element in the componentType does have + * a binding child element, the <binding/> from the componentType is + * used for the reference + */ +public class ASM_0017_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0017"; + config.input = "request"; + config.output = "ASM_0017 request service1 operation1 invoked service2 operation1 invoked"; + config.composite = "Test_ASM_0017.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java new file mode 100644 index 0000000000..6c978dff9a --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0018_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0018_TestCase, which tests that where a <reference/> + * of a <component/> has a <binding/> child element and the + * corresponding <reference/> element in the componentType has + * a binding child element, the <binding/> from the <reference/> is + * used for the reference + */ +public class ASM_0018_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0018"; + config.input = "request"; + config.output = "ASM_0018 request service1 operation1 invoked service3 operation1 invoked"; + config.composite = "Test_ASM_0018.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.java new file mode 100644 index 0000000000..c1cc0d6b0f --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0019_TestCase.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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0018_TestCase, which tests that where a <reference/> + * of a <component/> has @autowire=”true” and also has @target identifying + * a single target service that the reference is wired only to the single + * service identified by the @target attribute + */ +public class ASM_0019_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0019"; + config.input = "request"; + config.output = "ASM_0019 request service1 operation1 invoked service3 operation1 invoked"; + config.composite = "Test_ASM_0019.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java new file mode 100644 index 0000000000..12dce46975 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0020_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0020_TestCase, which tests that where a <reference/> + * of a <component/> has @autowire=true and where there is also a single + * <wire/> element which as that <reference/> as its source that the + * reference is wired only to the single service identified by the + * <wire/> element + */ +public class ASM_0020_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0020"; + config.input = "request"; + config.output = "ASM_0020 request service1 operation1 invoked service3 operation1 invoked"; + config.composite = "Test_ASM_0020.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java new file mode 100644 index 0000000000..286e21b1d4 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0021_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0021_TestCase, which tests that where a <reference/> + * of a <component/> has @autowire=true and where the <reference/> has + * a <binding/> child element which declares a single target service, + * the reference is wired only to the single service identified by the + * <wire/> element + */ +public class ASM_0021_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0021"; + config.input = "request"; + config.output = "ASM_0021 request service1 operation1 invoked service3 operation1 invoked"; + config.composite = "Test_ASM_0021.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java new file mode 100644 index 0000000000..a39b674b97 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0022_TestCase.java @@ -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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0022_TestCase, which tests that where a <component/> + * <reference/> with multiplicity=0..1 is unwired (by any means) that + * the component executes correctly + */ +public class ASM_0022_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0022"; + config.input = "request"; + config.output = "ASM_0022 request service1 operation1 invoked"; + config.composite = "Test_ASM_0022.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java new file mode 100644 index 0000000000..172cb74554 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/ASM_0023_TestCase.java @@ -0,0 +1,47 @@ +/* + * 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 client; + + +import test.ASM_0002_Client; +import testClient.TestInvocation; + +/** + * Client for ASM_0021_TestCase, which tests that where a <component/> + * <reference/> with multiplicity=1..1 is wired to a component service + * in the same composite and is also promoted by a <composite/> <reference/> + * which is wired to a target service by a component using the <composite/> + * as its implementation, that this is an error + */ +public class ASM_0023_TestCase extends BaseJAXWSTestCase { + + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0023"; + config.input = "request"; + config.output = "exception"; + config.composite = "Test_ASM_0023.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0002_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class Test_ASM_0003 diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java new file mode 100644 index 0000000000..1904c02359 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseJAXWSTestCase.java @@ -0,0 +1,68 @@ +/* + * 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 client; + +import static org.junit.Assert.*; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.launcher.NodeLauncher; +//import org.apache.tuscany.sca.node.equinox.launcher.Contribution; +//import org.apache.tuscany.sca.node.equinox.launcher.ContributionLocationHelper; +//import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import javax.xml.ws.Service; +import javax.xml.namespace.QName; + +import test.ASM_0001_Client; +import testClient.TestInvocation; +import testClient.TestException_Exception; +import testClient.TestException; + +/** + * A generic test client based on JAX-WS APIs + */ +public class BaseJAXWSTestCase extends BaseTestCase { + + + public static void main(String[] args) throws Exception { + BaseJAXWSTestCase test = new BaseJAXWSTestCase(); + test.setUp(); + test.tearDown(); + } + + public String invokeTest( String input ) throws Exception { + //Web service invocation via JAXWS + QName serviceName = new QName("http://test/", "TestInvocationService"); + URL wsdlLocation = this.getClass().getClassLoader().getResource("TestClient.wsdl"); + javax.xml.ws.Service webService = Service.create( wsdlLocation, serviceName ); + TestInvocation wsProxy = (TestInvocation) webService.getPort(testConfiguration.getServiceInterface()); + + String output = wsProxy.invokeTest(input); + + return output; + } // end method invokeTest + + +} // end class BaseTest diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseTestCase.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseTestCase.java new file mode 100644 index 0000000000..95bfade555 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/BaseTestCase.java @@ -0,0 +1,159 @@ +/* + * 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 client; + +import static org.junit.Assert.*; + +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; + +import org.apache.tuscany.sca.node.SCAClient; +import org.apache.tuscany.sca.node.SCAContribution; +import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.launcher.Contribution; +import org.apache.tuscany.sca.node.launcher.NodeLauncher; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import test.ASM_0001_Client; +import test.TestInvocation; +import testClient.TestException; +import testClient.TestException_Exception; + +/** + * A generic test client based on Tuscany APIs + */ +public class BaseTestCase { + + protected NodeLauncher launcher; + protected SCANode node; + protected TestConfiguration testConfiguration = getTestConfiguration(); + protected static boolean proceed = true; + + public static void main(String[] args) throws Exception { + BaseTestCase test = new BaseTestCase(); + test.setUp(); + test.tearDown(); + } + + @Before + public void setUp() throws Exception { + try { + startContribution(); + } catch (Exception e) { + // If the SCA runtime refuses to start an invalid contribution, then this is also + // regarded as a successful outcome + System.out.println( "Exception received - detail: " + e.getMessage() ); + assertEquals( testConfiguration.getExpectedOutput(), "exception" ); + System.out.println("Test " + testConfiguration.getTestName() + " completed successfully"); + // Mark this test as not to proceed further + proceed = false; + } // end try + } + + @After + public void tearDown() throws Exception { + stopContribution(); + } + + @Test + public void testDummy() throws Exception { + // If an exception were thrown during initialization, let's go no further + if( proceed == false ) return; + + // System.out.println("Test " + testName + " starting"); + String output = null; + try { + // Just requires input to proceed + // System.in.read(); + // + output = invokeTest( testConfiguration.getInput() ); + + } catch ( TestException_Exception e ) { + TestException exceptionContent = e.getFaultInfo(); + System.out.println("Service fault received - detail: " + exceptionContent.getMessage() ); + assertEquals( testConfiguration.getExpectedOutput(), "exception" ); + } catch (Throwable e) { + e.printStackTrace(); + System.out.println( "Exception received - detail: " + e.getMessage() ); + assertEquals( testConfiguration.getExpectedOutput(), "exception" ); + } + assertEquals( testConfiguration.getExpectedOutput(), output ); + System.out.println("Test " + testConfiguration.getTestName() + " completed successfully"); + } + + public String invokeTest( String input ) throws Exception { + + TestInvocation service = (TestInvocation) getService( testConfiguration.getServiceInterface(), + testConfiguration.getTestServiceName() ); + + return service.invokeTest( input ); + } // end method invokeTest + + protected <T> T getService( Class<T> interfaze, String serviceName ) { + T service = ((SCAClient)node).getService( interfaze, serviceName ); + return service; + } // end getService + + protected void startContribution() throws Exception { + // Tuscany specific code which starts the contribution holding the test + launcher = NodeLauncher.newInstance(); + node = launcher.createNode(testConfiguration.getComposite(), + new Contribution(testConfiguration.getTestName(), getContributionURI())); + System.out.println("SCA Node API ClassLoader: " + node.getClass().getClassLoader()); + node.start(); + } // end method startContribution + + protected void stopContribution() throws Exception { + if (node != null) { + node.stop(); + } + + } // end method stopContribution + + protected String getContributionURI() { + String location = getContributionLocation(testConfiguration.getTestClass()); + return location; + } + + public static String getContributionLocation(final Class<?> anchorClass) { + URL url = AccessController.doPrivileged(new PrivilegedAction<URL>() { + public URL run() { + return anchorClass.getProtectionDomain().getCodeSource().getLocation(); + } + }); + String uri = url.toString(); + return uri; + } + + protected TestConfiguration getTestConfiguration() { + TestConfiguration config = new TestConfiguration(); + config.testName = "ASM_0001"; + config.input = "request"; + config.output = config.testName + " " + config.input + " invoked ok"; + config.composite = "Test_ASM_0101.composite"; + config.testServiceName = "TestClient"; + config.testClass = ASM_0001_Client.class; + config.serviceInterface = TestInvocation.class; + return config; + } + +} // end class BaseTest diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/TestConfiguration.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/TestConfiguration.java new file mode 100644 index 0000000000..6a2873b459 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/client/TestConfiguration.java @@ -0,0 +1,27 @@ +package client; + +/** + * A class to hold the metadata about the test + * @author MikeEdwards + * + */ +class TestConfiguration { + + public String testName; + public String input; + public String output; + public String composite; + public String testServiceName; + public Class<?> testClass; //TODO - does the client need this?? + public Class<?> serviceInterface; + + public TestConfiguration() { } + + public String getTestName() { return testName; } + public String getInput() { return input; } + public String getExpectedOutput() { return output; } + public String getComposite() { return composite; } + public String getTestServiceName() { return testServiceName; } + public Class<?> getTestClass() { return testClass; } + public Class<?> getServiceInterface() { return serviceInterface; } +}
\ No newline at end of file diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTest.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTest.java new file mode 100644 index 0000000000..00c8e562f8 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTest.java @@ -0,0 +1,82 @@ +/* + * 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 testClient; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "arg0" +}) +@XmlRootElement(name = "invokeTest") +public class InvokeTest { + + @XmlElementRef(name = "arg0", type = JAXBElement.class) + protected JAXBElement<String> arg0; + + /** + * Gets the value of the arg0 property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement<String> getArg0() { + return arg0; + } + + /** + * Sets the value of the arg0 property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setArg0(JAXBElement<String> value) { + this.arg0 = ((JAXBElement<String> ) value); + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java new file mode 100644 index 0000000000..6b2fe7a950 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/InvokeTestResponse.java @@ -0,0 +1,82 @@ +/* + * 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 testClient; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "_return" +}) +@XmlRootElement(name = "invokeTestResponse") +public class InvokeTestResponse { + + @XmlElementRef(name = "return", type = JAXBElement.class) + protected JAXBElement<String> _return; + + /** + * Gets the value of the return property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement<String> getReturn() { + return _return; + } + + /** + * Sets the value of the return property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setReturn(JAXBElement<String> value) { + this._return = ((JAXBElement<String> ) value); + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/ObjectFactory.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/ObjectFactory.java new file mode 100644 index 0000000000..4bde638058 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/ObjectFactory.java @@ -0,0 +1,106 @@ +/* + * 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 testClient; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the testClient package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _TestException_QNAME = new QName("http://test/", "TestException"); + private final static QName _InvokeTestArg0_QNAME = new QName("", "arg0"); + private final static QName _InvokeTestResponseReturn_QNAME = new QName("", "return"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: testClient + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link InvokeTest } + * + */ + public InvokeTest createInvokeTest() { + return new InvokeTest(); + } + + /** + * Create an instance of {@link InvokeTestResponse } + * + */ + public InvokeTestResponse createInvokeTestResponse() { + return new InvokeTestResponse(); + } + + /** + * Create an instance of {@link TestException } + * + */ + public TestException createTestException() { + return new TestException(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link TestException }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://test/", name = "TestException") + public JAXBElement<TestException> createTestException(TestException value) { + return new JAXBElement<TestException>(_TestException_QNAME, TestException.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "arg0", scope = InvokeTest.class) + public JAXBElement<String> createInvokeTestArg0(String value) { + return new JAXBElement<String>(_InvokeTestArg0_QNAME, String.class, InvokeTest.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "", name = "return", scope = InvokeTestResponse.class) + public JAXBElement<String> createInvokeTestResponseReturn(String value) { + return new JAXBElement<String>(_InvokeTestResponseReturn_QNAME, String.class, InvokeTestResponse.class, value); + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/README.txt b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/README.txt new file mode 100644 index 0000000000..bdb326df2a --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/README.txt @@ -0,0 +1,19 @@ +This README describes the JAX-WS client files for the SCA Assembly test invocation interface. + +The test invocation interface is in the TestInvocation.java interface file. +This is presented as a Web service by the SCA runtime, for invocation by a general Web service client. +The WSDL is captured in the file TestClient.wsdl in the resources directory for the testcases. + +The JAX-WS client files for invoking the Web service contained in TestClient.wsdl are contained in this +package. They are generated from the WSDL using the wsimport tool (a standard part of JDK 1.6.x): + +wsimport TestClient.wsdl -keep -p testClient + +"-keep" is used to ensure that the generated .java files are retained (otherwise all that is created are +the binary .class files). + +"-p testClient" is used to force the generated Java files to belong to the package "testClient" - this package +name is used to keep a clean separation between the client files and the test service files + + +Mike Edwards, 6th January 2009.
\ No newline at end of file diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException.java new file mode 100644 index 0000000000..10272ec66d --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException.java @@ -0,0 +1,77 @@ +/* + * 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 testClient; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java class for TestException complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType name="TestException"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TestException", propOrder = { + "message" +}) +public class TestException { + + protected String message; + + /** + * Gets the value of the message property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getMessage() { + return message; + } + + /** + * Sets the value of the message property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setMessage(String value) { + this.message = value; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException_Exception.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException_Exception.java new file mode 100644 index 0000000000..949d1ec7c7 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestException_Exception.java @@ -0,0 +1,71 @@ +/* + * 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 testClient; + +import javax.xml.ws.WebFault; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1 in JDK 6 + * Generated source version: 2.1 + * + */ +@WebFault(name = "TestException", targetNamespace = "http://test/") +public class TestException_Exception + extends Exception +{ + + /** + * Java type that goes as soapenv:Fault detail element. + * + */ + private TestException faultInfo; + + /** + * + * @param message + * @param faultInfo + */ + public TestException_Exception(String message, TestException faultInfo) { + super(message); + this.faultInfo = faultInfo; + } + + /** + * + * @param message + * @param faultInfo + * @param cause + */ + public TestException_Exception(String message, TestException faultInfo, Throwable cause) { + super(message, cause); + this.faultInfo = faultInfo; + } + + /** + * + * @return + * returns fault bean: testClient.TestException + */ + public TestException getFaultInfo() { + return faultInfo; + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocation.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocation.java new file mode 100644 index 0000000000..783924d493 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocation.java @@ -0,0 +1,60 @@ +/* + * 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 testClient; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1 in JDK 6 + * Generated source version: 2.1 + * + */ +@WebService(name = "TestInvocation", targetNamespace = "http://test/") +@XmlSeeAlso({ + ObjectFactory.class +}) +public interface TestInvocation { + + + /** + * + * @param arg0 + * @return + * returns java.lang.String + * @throws TestException_Exception + */ + @WebMethod + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "invokeTest", targetNamespace = "http://test/", className = "testClient.InvokeTest") + @ResponseWrapper(localName = "invokeTestResponse", targetNamespace = "http://test/", className = "testClient.InvokeTestResponse") + public String invokeTest( + @WebParam(name = "arg0", targetNamespace = "") + String arg0) + throws TestException_Exception + ; + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocationService.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocationService.java new file mode 100644 index 0000000000..6c7271e017 --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/TestInvocationService.java @@ -0,0 +1,83 @@ +/* + * 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 testClient; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceFeature; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.1.1 in JDK 6 + * Generated source version: 2.1 + * + */ +@WebServiceClient(name = "TestInvocationService", targetNamespace = "http://test/", wsdlLocation = "file:/C:/temp/Tuscany_2_0_Work/TestClient.wsdl") +public class TestInvocationService + extends Service +{ + + private final static URL TESTINVOCATIONSERVICE_WSDL_LOCATION; + + static { + URL url = null; + try { + url = new URL("file:/C:/temp/Tuscany_2_0_Work/TestClient.wsdl"); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + TESTINVOCATIONSERVICE_WSDL_LOCATION = url; + } + + public TestInvocationService(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public TestInvocationService() { + super(TESTINVOCATIONSERVICE_WSDL_LOCATION, new QName("http://test/", "TestInvocationService")); + } + + /** + * + * @return + * returns TestInvocation + */ + @WebEndpoint(name = "TestInvocationPort") + public TestInvocation getTestInvocationPort() { + return (TestInvocation)super.getPort(new QName("http://test/", "TestInvocationPort"), TestInvocation.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. + * @return + * returns TestInvocation + */ + @WebEndpoint(name = "TestInvocationPort") + public TestInvocation getTestInvocationPort(WebServiceFeature... features) { + return (TestInvocation)super.getPort(new QName("http://test/", "TestInvocationPort"), TestInvocation.class, features); + } + +} diff --git a/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/package-info.java b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/package-info.java new file mode 100644 index 0000000000..2dde15bdeb --- /dev/null +++ b/branches/sca-java-1.x/stest/sampleTest/src/test/java/testClient/package-info.java @@ -0,0 +1,20 @@ +/* + * 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. + */ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://test/") +package testClient; |