summaryrefslogtreecommitdiffstats
path: root/java/sca/stest/sampleTest/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/stest/sampleTest/src/main')
-rw-r--r--java/sca/stest/sampleTest/src/main/java/test/ASM_0001_Client.java2
-rw-r--r--java/sca/stest/sampleTest/src/main/java/test/Service1Superset.java3
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite14.composite45
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite15.composite43
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite16.composite48
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite17.composite46
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestComposite18.composite42
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestDuplicate1.composite41
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/TestDuplicate2.composite41
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0029.composite58
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0030.composite51
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0031.composite68
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0032.composite66
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0033.composite65
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_0034.composite65
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6001.composite49
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6002.composite45
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6003.composite50
-rw-r--r--java/sca/stest/sampleTest/src/main/resources/Test_ASM_6004.composite47
19 files changed, 874 insertions, 1 deletions
diff --git a/java/sca/stest/sampleTest/src/main/java/test/ASM_0001_Client.java b/java/sca/stest/sampleTest/src/main/java/test/ASM_0001_Client.java
index bbe76aef62..55d9e48d5e 100644
--- a/java/sca/stest/sampleTest/src/main/java/test/ASM_0001_Client.java
+++ b/java/sca/stest/sampleTest/src/main/java/test/ASM_0001_Client.java
@@ -18,7 +18,7 @@
*/
package test;
-import org.oasisopen.sca.annotation.Service;
+import org.oasisopen.sca.annotations.Service;
import test.TestInvocation;
diff --git a/java/sca/stest/sampleTest/src/main/java/test/Service1Superset.java b/java/sca/stest/sampleTest/src/main/java/test/Service1Superset.java
index af9dba4ccf..54a283a1a7 100644
--- a/java/sca/stest/sampleTest/src/main/java/test/Service1Superset.java
+++ b/java/sca/stest/sampleTest/src/main/java/test/Service1Superset.java
@@ -23,6 +23,9 @@ package test;
* @author MikeEdwards
*
*/
+import org.oasisopen.sca.annotation.Remotable;
+
+@Remotable
public interface Service1Superset {
/**
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite14.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite14.composite
new file mode 100644
index 0000000000..d995fe0461
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite14.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.
+-->
+<!-- A simple composite which provides a single service and no references
+ plus a property with a simple type -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TestComposite14">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <property name="simpleType" type="string"/>
+
+ <component name="TestComponent1">
+ <implementation.java class="test.service1Impl5"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName" source="$serviceName"/>
+ <property name="serviceData1" source="$simpleType"/>
+ <property name="serviceData2" source="$simpleType"/>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite15.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite15.composite
new file mode 100644
index 0000000000..49b167531c
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite15.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.
+-->
+<!-- A simple composite which provides a single service and no references,
+ where the service is configured with multiple explicit bindings -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite15">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ <binding.sca/>
+ <binding.ws/>
+ </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/java/sca/stest/sampleTest/src/main/resources/TestComposite16.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite16.composite
new file mode 100644
index 0000000000..a7296c76e2
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite16.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.
+-->
+<!-- A composite which multiple <service/> subelements with the same name and no references -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite16">
+
+ <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>
+
+ <service name="Service2" 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/java/sca/stest/sampleTest/src/main/resources/TestComposite17.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite17.composite
new file mode 100644
index 0000000000..fcec5d8b34
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite17.composite
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- A composite which has a single service with a @promote attribute
+ that does not reference the <service/> of a <component/> within the
+ <composite/> and no references -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite17">
+
+ <service name="Service1" promote="TestComponent1/Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <service name="Service2" promote="SpuriousComponent/SpuriousService">
+ <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/java/sca/stest/sampleTest/src/main/resources/TestComposite18.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite18.composite
new file mode 100644
index 0000000000..7d26ea850a
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite18.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.
+-->
+<!-- A composite which has a single service with a declared <interface/>
+ that is a compatible subset of the interface of the component service
+ declared in the @promote attribute -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TestComposite18">
+
+ <service name="Service1" promote="TestComponent1/Service1Superset">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+
+ <property name="serviceName" type="string"/>
+
+ <component name="TestComponent1">
+ <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/java/sca/stest/sampleTest/src/main/resources/TestDuplicate1.composite b/java/sca/stest/sampleTest/src/main/resources/TestDuplicate1.composite
new file mode 100644
index 0000000000..068e27bf30
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestDuplicate1.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.
+-->
+<!-- 1st of a pair of composite files where the composites have duplicated
+ names and targetNamespaces -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="DuplicateComposite">
+
+ <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">duplicate1</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestDuplicate2.composite b/java/sca/stest/sampleTest/src/main/resources/TestDuplicate2.composite
new file mode 100644
index 0000000000..5d98da7195
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/TestDuplicate2.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.
+-->
+<!-- 2nd of a pair of composite files where the composites have duplicated
+ names and targetNamespaces -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="DuplicateComposite">
+
+ <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">duplicate2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0029.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0029.composite
new file mode 100644
index 0000000000..aeed8552c8
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0029.composite
@@ -0,0 +1,58 @@
+<?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 that where a <component/> <property/> has @many=false that
+ there is only one <value/> child element of the <property/> -->
+<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_0029">
+
+ <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_0029</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite12"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with complex type with many=false but 2 <value/>
+ subelements - which is an error -->
+ <property name="complexType" type="test:ComplexType1">
+ <value>
+ <test:firstData>SomeData</test:firstData>
+ <test:secondData>MoreData</test:secondData>
+ </value>
+ <value>
+ <test:firstData>SomeData2</test:firstData>
+ <test:secondData>MoreData2</test:secondData>
+ </value>
+ </property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0030.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0030.composite
new file mode 100644
index 0000000000..0ce29cdab2
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0030.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 that a <component/> <property/> with a @value attribute set
+does not have any <value/> child elements -->
+<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_0030">
+
+ <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_0030</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite14"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with value set via a @value attribute and also having
+ <value/> child elements, which is an error -->
+ <property name="simpleType" value="someValue">
+ <value>someOtherValue</value>
+ </property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0031.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0031.composite
new file mode 100644
index 0000000000..50cd134a6e
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0031.composite
@@ -0,0 +1,68 @@
+<?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/> has its @target attribute set
+ to a valid service and the <composite/> also contains a <wire/> element with
+ @source set to the <component/> <reference/> and @target set to a second valid
+ service and has @replace=true, the <reference/> is wired to the second service
+ only -->
+<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_0031">
+
+ <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_0031</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>
+
+ <!-- Here is a wire that overrides the reference target of TestComponent1/Reference1 -->
+ <wire source="TestComponent1/Reference1" target="TestComponent3/Service1" replace="true"/>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+ <component name="TestComponent3">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service3</property>
+ </component>
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0032.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0032.composite
new file mode 100644
index 0000000000..fbd629f07f
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0032.composite
@@ -0,0 +1,66 @@
+<?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/> <service/> has no <binding/> subelements
+ and the corresponding <service/> element of the <componentType/> of the
+ <component/> <implementation/> has one or more <binding/> subelements,
+ the <component/> <service/> is made available with all the bindings
+ declared on the <service/> element of the <componentType/> -->
+<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_0032">
+
+ <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_0032</property>
+ </component>
+
+ <!-- Implementation with a single reference with multiplicity 1..n which
+ has multiple concrete bindings applied to it -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite6"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ <binding.ws uri="http://localhost:8080/TestComponent2"/>
+ </reference>
+ </component>
+
+ <!-- A component with a service that has no bindings but where the service in the
+ componentType has multiple bindings explicitly set on it -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite15"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0033.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0033.composite
new file mode 100644
index 0000000000..750f297af8
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0033.composite
@@ -0,0 +1,65 @@
+<?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/> <service/> has no <binding/> subelements
+ and the corresponding <service/> element of the <componentType/> of the
+ <component/> <implementation/> has no <binding/> subelements, the
+ <component/> <service/> is made available with binding.sca -->
+<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_0033">
+
+ <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_0033</property>
+ </component>
+
+ <!-- Implementation with a single reference with multiplicity 1..n which
+ has multiple concrete bindings applied to it -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite6"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ </reference>
+ </component>
+
+ <!-- A component with a service that has no bindings set and where the service
+ in the componentType has no bindings explicitly set on it -->
+ <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/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0034.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0034.composite
new file mode 100644
index 0000000000..41edb731ef
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0034.composite
@@ -0,0 +1,65 @@
+<?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/> <service/> has 1 or more <binding/>
+ subelements the <component/> <service/> is made available with
+ all the bindings declared on the <service/> element -->
+<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_0034">
+
+ <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_0034</property>
+ </component>
+
+ <!-- Implementation with a single reference with multiplicity 1..n which
+ has multiple concrete bindings applied to it -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite6"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca uri="TestComponent2/Service1"/>
+ <binding.ws uri="http://localhost:8080/TestComponent2"/>
+ </reference>
+ </component>
+
+ <!-- A component with a service that has multiple bindings explicitly set on it -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.sca/>
+ <binding.ws/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6001.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6001.composite
new file mode 100644
index 0000000000..816ffb7521
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6001.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.
+-->
+<!-- Tests that where a <component/> <service/> has 1 or more <binding/>
+ subelements the <component/> <service/> is made available with
+ all the bindings declared on the <service/> element -->
+<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_6001">
+
+ <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_6001</property>
+ </component>
+
+ <!-- Component which uses a composite as its implementation where the contribution
+ contains 2 <composite/> artifacts which have identical names and targetNamspaces -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:DuplicateComposite"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6002.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6002.composite
new file mode 100644
index 0000000000..9ec38e5c78
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6002.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.
+-->
+<!-- Tests that where a <composite/> has multiple <service/> subelements
+ that the @name attributes are unique across those subelements -->
+<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_6002">
+
+ <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_6002</property>
+ </component>
+
+ <!-- Component which uses a composite which has 2 <service/> subelements with
+ the same @name attribute -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite16"/>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6003.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6003.composite
new file mode 100644
index 0000000000..a15b0785c0
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6003.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 <composite/> has a <service/> subelement that the
+ @promote attribute identifies a <service/> of a <component/> in the
+ <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_6003">
+
+ <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_6003</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <service/> subelements with
+ a @promote attribute which does not contain the name of a <service/> of
+ one of the <component/> within the <composite/> -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite17"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6004.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6004.composite
new file mode 100644
index 0000000000..31aaf45e4d
--- /dev/null
+++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_6004.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 the <interface/> declared on a <service/> subelement of a
+ <composite/> is a compatible subset of the <interface/> declared on
+ the <component/> <service/> reference by the @promote attribute -->
+<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_6004">
+
+ <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_6004</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <service/> subelement which
+ has an <interface/> declared which is a compatible subset of the interface
+ of the promoted component service -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite18"/>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>