summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authoredwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68>2009-02-26 23:05:25 +0000
committeredwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68>2009-02-26 23:05:25 +0000
commitfc60004dc4fba8b979f4cc959ceedb4260457de8 (patch)
tree48788ee8a34888f2bbcadf1e042cdb5ba003e768 /java
parent0db9cdf59931efbc109155c3a0ee28fb96ee5b9a (diff)
Created ASM_6009_TestCase, ASM_6010_TestCase, ASM_6011_TestCase, ASM_6012_TestCase, ASM_6013_TestCase
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@748343 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/sca/stest/sampleTest/src/main/java/test/service1Impl6.java47
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite23.composite49
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite24.composite49
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite25.composite49
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite26.composite53
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite27.composite53
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6009.composite54
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6010.composite54
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6011.composite54
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6012.composite54
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6013.composite47
-rw-r--r--java/sca/stest/sampleTest/src/test/java/client/ASM_6009_TestCase.java45
-rw-r--r--java/sca/stest/sampleTest/src/test/java/client/ASM_6010_TestCase.java45
-rw-r--r--java/sca/stest/sampleTest/src/test/java/client/ASM_6011_TestCase.java45
-rw-r--r--java/sca/stest/sampleTest/src/test/java/client/ASM_6012_TestCase.java45
-rw-r--r--java/sca/stest/sampleTest/src/test/java/client/ASM_6013_TestCase.java45
16 files changed, 788 insertions, 0 deletions
diff --git a/java/sca/stest/sampleTest/src/main/java/test/service1Impl6.java b/java/sca/stest/sampleTest/src/main/java/test/service1Impl6.java
new file mode 100644
index 0000000000..66fe13b279
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/java/test/service1Impl6.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 test;
+
+import org.oasisopen.sca.annotation.*;
+
+/**
+ * Enhanced Java component implementation for business interface Service1,
+ * where the implementation also has a single reference using the Service1
+ * interface with multiplicity 0..1 which gets called when
+ * operation1 is invoked, if present
+ * @author MikeEdwards
+ *
+ */
+@Service(Service1.class)
+public class service1Impl6 implements Service1 {
+
+ @Property
+ public String serviceName = "service1";
+ // Required = false -> multiplicity 0..1
+ @Reference(required=false)
+ public Service1 reference1 = null;
+
+ public String operation1(String input) {
+ String result = serviceName + " operation1 invoked";
+ // Call the reference if present
+ if( reference1 != null ) result = result.concat(reference1.operation1( input ));
+ return result;
+ }
+
+}
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite23.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite23.composite
new file mode 100644
index 0000000000..958c55a165
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite23.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 has a single service and
+ a single reference with multiplicity 1..1 which promotes a
+ component reference of multiplcity 0..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite23">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl6"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1" multiplicity="0..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite24.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite24.composite
new file mode 100644
index 0000000000..2186a227da
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite24.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 has a single service and
+ a single reference with multiplicity 0..1 which promotes a
+ component reference of multiplicity 0..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite24">
+
+ <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/java/sca/stest/sampleTest/src/main/resources/TestComposite25.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite25.composite
new file mode 100644
index 0000000000..2db13086b0
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite25.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 has a single service and
+ a single reference with multiplicity 1..1 which promotes a
+ component reference of multiplicity 1..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite25">
+
+ <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..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite26.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite26.composite
new file mode 100644
index 0000000000..c8236b9381
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite26.composite
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- An example of a composite which has a single service and
+ a single reference and multiple <property/> elements all of
+ which have the same @name value -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite26">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <property name="propertyName" type="string"/>
+ <property name="propertyName" type="string"/>
+ <property name="propertyName" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl2"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <reference name="reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <reference name="Reference1" promote="TestComponent1/reference1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite27.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite27.composite
new file mode 100644
index 0000000000..5b955c1f9d
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite27.composite
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- An example of a composite which which has a <component/> with a <reference/>
+ element which has @autowire=true and where there is a compatible <component/>
+ <service/> in the same composite -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite27">
+
+ <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"/>
+ <reference name="reference1" autowire="true">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.java class="test.service1Impl"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">third</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6009.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6009.composite
new file mode 100644
index 0000000000..0189d54fc7
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6009.composite
@@ -0,0 +1,54 @@
+<?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 a <component/> <reference/> with @multiplicity=0..1 can be
+ promoted by a <composite/> <reference/> with @multiplicity=1..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6009">
+
+ <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_6009</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <reference/> element which
+ has @multiplicity=1..1 and which promotes a component reference which has
+ @multiplicity=0..1 -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite23"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1"/>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6010.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6010.composite
new file mode 100644
index 0000000000..0f81517bf0
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6010.composite
@@ -0,0 +1,54 @@
+<?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 a <component/> <reference/> with @multiplicity=0..n can be
+ promoted by a <composite/> <reference/> with @multiplicity=0..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6010">
+
+ <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_6010</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <reference/> element which
+ has @multiplicity=0..1 and which promotes a component reference which has
+ @multiplicity=0..n -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite24"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1"/>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6011.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6011.composite
new file mode 100644
index 0000000000..829cfa0740
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6011.composite
@@ -0,0 +1,54 @@
+<?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 a <component/> <reference/> with @multiplicity=1..n can be
+ promoted by a <composite/> <reference/> with @multiplicity=1..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6011">
+
+ <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_6011</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <reference/> element which
+ has @multiplicity=1..1 and which promotes a component reference which has
+ @multiplicity=1..n -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite25"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1"/>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6012.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6012.composite
new file mode 100644
index 0000000000..578f5000b2
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6012.composite
@@ -0,0 +1,54 @@
+<?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 <property/> element of a <composite/> is
+ unique amongst the @name attribute values of all the <property/> elements of
+ that <composite/> -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6012">
+
+ <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_6012</property>
+ </component>
+
+ <!-- Component which uses a composite which has multiple <property/>
+ elements and where they all have the same @name value -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite26"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1"/>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6013.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6013.composite
new file mode 100644
index 0000000000..d6f6739015
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6013.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.
+-->
+<!-- Tests that a <component/> <reference/> with @autowire=true is wired
+ to a compatible <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:test="http://oasis/tests"
+ name="TEST_ASM_6013">
+
+ <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_6013</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <component/> with a <reference/>
+ element which has @autowire=true and where there is a compatible <component/>
+ <service/> in the same composite -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite27"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_6009_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_6009_TestCase.java
new file mode 100644
index 0000000000..7aacaea8a0
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_6009_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_6009_TestCase, which tests that a <component/> <reference/>
+ * with @multiplicity=0..1 can be promoted by a <composite/> <reference/> with
+ * @multiplicity=1..1
+ */
+public class ASM_6009_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6009";
+ config.input = "request";
+ config.output = "ASM_6009 request service1 operation1 invokedservice2 operation1 invoked";
+ config.composite = "Test_ASM_6009.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_6009
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_6010_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_6010_TestCase.java
new file mode 100644
index 0000000000..2197cc3c29
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_6010_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_6010_TestCase, which tests a <component/> <reference/>
+ * with @multiplicity=0..n can be promoted by a <composite/> <reference/>
+ * with @multiplicity=0..1
+ */
+public class ASM_6010_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6010";
+ config.input = "request";
+ config.output = "ASM_6010 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_6010.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_6010
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_6011_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_6011_TestCase.java
new file mode 100644
index 0000000000..2678c93ef2
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_6011_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_6011_TestCase, which tests that a <component/> <reference/>
+ * with @multiplicity=1..n can be promoted by a <composite/> <reference/> with
+ * @multiplicity=1..1
+ */
+public class ASM_6011_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6011";
+ config.input = "request";
+ config.output = "ASM_6011 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_6011.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_6009
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_6012_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_6012_TestCase.java
new file mode 100644
index 0000000000..73d3c41e55
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_6012_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_6009_TestCase, which tests that a <component/> <reference/>
+ * with @multiplicity=0..1 can be promoted by a <composite/> <reference/> with
+ * @multiplicity=1..1
+ */
+public class ASM_6012_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6012";
+ config.input = "request";
+ config.output = "exception";
+ config.composite = "Test_ASM_6012.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_6012
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_6013_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_6013_TestCase.java
new file mode 100644
index 0000000000..5047f2b1b4
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_6013_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_6009_TestCase, which tests that a <component/> <reference/>
+ * with @autowire=true is wired to a compatible <component/> <service/> in
+ * the same <composite/>
+ */
+public class ASM_6013_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_6013";
+ config.input = "request";
+ config.output = "ASM_6013 request service1 operation1 invoked third operation1 invoked";
+ config.composite = "Test_ASM_6013.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_6013