diff options
Diffstat (limited to 'branches/2.0-M2/stest/sampleTest/src/main/resources')
81 files changed, 4363 insertions, 0 deletions
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestClient.wsdl b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestClient.wsdl new file mode 100644 index 0000000000..f9475a016a --- /dev/null +++ b/branches/2.0-M2/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/2.0-M2/stest/sampleTest/src/main/resources/TestClient_0002.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestClient_0002.composite new file mode 100644 index 0000000000..cf29e199d1 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestClient_0003.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestClient_0003.composite new file mode 100644 index 0000000000..810a4e761a --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite1.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite1.composite new file mode 100644 index 0000000000..9221a57ba5 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite1.composite @@ -0,0 +1,40 @@ +<?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 --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite10.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite10.composite new file mode 100644 index 0000000000..51f5de625b --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite11.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite11.composite new file mode 100644 index 0000000000..3cc3a4542b --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite12.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite12.composite new file mode 100644 index 0000000000..81552d9802 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite12.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 complex type --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:test="http://oasis/tests" + name="TestComposite12">
+ + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"></interface.java> + </service>
+ + <property name="serviceName" type="string"/> + + <property name="complexType" type="test:ComplexType1"/>
+ + <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="$complexType/firstData"/> + <property name="serviceData2" source="$complexType/secondData"/> + </component> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite13.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite13.composite new file mode 100644 index 0000000000..6790a83bc8 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite13.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 simple composite which provides a single service and no references + plus a property with a complex type with a type which is an XSD global + element --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:test="http://oasis/tests" + name="TestComposite13">
+ + <service name="Service1" promote="TestComponent1/Service1"> + <interface.java interface="test.Service1"></interface.java> + </service>
+ + <property name="serviceName" type="string"/> + + <property name="complexType" element="test:globalElement1"/>
+ + <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="$complexType/firstData"/> + <property name="serviceData2" source="$complexType/secondData"/> + </component> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite14.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite14.composite new file mode 100644 index 0000000000..82a5f98280 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite15.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite15.composite new file mode 100644 index 0000000000..7444094622 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite16.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite16.composite new file mode 100644 index 0000000000..35301ce4cb --- /dev/null +++ b/branches/2.0-M2/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 has multiple <service/> subelements with the same @name and no references --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite17.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite17.composite new file mode 100644 index 0000000000..aff1c2c0e4 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite18.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite18.composite new file mode 100644 index 0000000000..2ae3589b48 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite19.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite19.composite new file mode 100644 index 0000000000..17a1d99b0a --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite19.composite @@ -0,0 +1,52 @@ +<?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/> subelement and multiple <reference/> + subelements with the same @name value --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite19">
+ + <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.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> + + <reference name="Reference1" promote="TestComponent1/reference1" multiplicity="0..n"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite2.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite2.composite new file mode 100644 index 0000000000..c0770c6d81 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite20.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite20.composite new file mode 100644 index 0000000000..73f1376947 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite20.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. +--> +<!-- A composite which has a <composite/> <reference/> that is in error + since its @promote attribute is not the URI of a <component/> <reference/> + within the <composite/> --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite20">
+ + <service name="Service1" promote="Composite20Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/>
+ + <component name="Composite20Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service> + <property name="serviceName" source="$serviceName"/> + <reference name="reference1"/> + </component> + + <component name="Composite20Component2"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">Composite11-C2</property> + <reference name="reference1"/> + </component> + + <!-- @promote deliberately incorrect - component names are non-existent --> + <reference name="Reference1" + promote="Composite20Componentz/reference1 Composite20Componenty/reference1"> + <interface.java interface="test.Service1"/> + </reference> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite21.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite21.composite new file mode 100644 index 0000000000..6cd7451a02 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite21.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 has a <composite/> <reference/> that declares an interface + which is a superset of the interface declared by the <component/> <reference/> + promoted by the composite reference --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite21">
+ + <service name="Service1" promote="Composite21Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/>
+ + <component name="Composite21Component1"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service> + <property name="serviceName" source="$serviceName"/> + <reference name="reference1"/> + </component> + + <!-- reference declares a superset interface --> + <reference name="Reference1" promote="Composite21Component1/reference1"> + <interface.java interface="test.Service1Superset"/> + </reference> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite22.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite22.composite new file mode 100644 index 0000000000..0e645f0425 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite22.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. +--> +<!-- A composite which has a <composite/> <reference/> that has no interface + declared that promotes 2 <component/> <reference/>s that have different + interfaces declared on them --> +<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" + targetNamespace="http://oasis/tests" + xmlns:sample="http://oasis/tests" + name="TestComposite22">
+ + <service name="Service1" promote="Composite22Component1/Service1"> + <interface.java interface="test.Service1"/> + </service> + + <property name="serviceName" type="string"/>
+ + <component name="Composite22Component1"> + <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> + + <component name="Composite22Component2"> + <implementation.java class="test.service1Impl2"/> + <service name="Service1"> + <interface.java interface="test.Service1"/> + </service> + <property name="serviceName">Composite11-C2</property> + <reference name="reference1"> + <interface.java interface="test.Service1Superset"/> + </reference> + </component> + + <!-- @promote deliberately incorrect - component names are non-existent --> + <reference name="Reference1" + promote="Composite22Component1/reference1 Composite22Component2/reference1"> + </reference> + +</composite> diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite23.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite23.composite new file mode 100644 index 0000000000..5f2a5c7193 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite24.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite24.composite new file mode 100644 index 0000000000..758a593235 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite25.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite25.composite new file mode 100644 index 0000000000..6e6caed073 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite26.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite26.composite new file mode 100644 index 0000000000..bd777dc376 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite27.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite27.composite new file mode 100644 index 0000000000..edc5bdddad --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite3.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite3.composite new file mode 100644 index 0000000000..a465f45510 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite4.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite4.composite new file mode 100644 index 0000000000..f89546b8da --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite5.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite5.composite new file mode 100644 index 0000000000..d5f7e21dc6 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite6.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite6.composite new file mode 100644 index 0000000000..7f5a588e31 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite7.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite7.composite new file mode 100644 index 0000000000..ea432f9145 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite8.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite8.composite new file mode 100644 index 0000000000..ef5d75af39 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestComposite9.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestComposite9.composite new file mode 100644 index 0000000000..a71d0d4e0b --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/TestDuplicate1.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestDuplicate1.composite new file mode 100644 index 0000000000..193ab924bc --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/TestDuplicate2.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/TestDuplicate2.composite new file mode 100644 index 0000000000..3445d07a85 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0001.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0001.composite new file mode 100644 index 0000000000..ae5885596e --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0002.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0002.composite new file mode 100644 index 0000000000..0d50dc4f4c --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0003.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0003.composite new file mode 100644 index 0000000000..cfce6d0d48 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0004.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0004.composite new file mode 100644 index 0000000000..ca75c33a71 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0005.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0005.composite new file mode 100644 index 0000000000..aa9b8af911 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0006.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0006.composite new file mode 100644 index 0000000000..3212c595b3 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0007.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0007.composite new file mode 100644 index 0000000000..1f63746464 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0008.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0008.composite new file mode 100644 index 0000000000..4b078ca7a3 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0009.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0009.composite new file mode 100644 index 0000000000..62ba494dcd --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0010.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0010.composite new file mode 100644 index 0000000000..4454a75278 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0011.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0011.composite new file mode 100644 index 0000000000..447cbcc83d --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0012.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0012.composite new file mode 100644 index 0000000000..c48b5ca601 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0013.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0013.composite new file mode 100644 index 0000000000..91cca790ad --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0014.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0014.composite new file mode 100644 index 0000000000..698f7896a3 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0015.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0015.composite new file mode 100644 index 0000000000..01c1d1d450 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0016.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0016.composite new file mode 100644 index 0000000000..98e2ffa41a --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0017.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0017.composite new file mode 100644 index 0000000000..d2c065ffd1 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0018.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0018.composite new file mode 100644 index 0000000000..4684bd5afe --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0019.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0019.composite new file mode 100644 index 0000000000..106ed5e5bd --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0020.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0020.composite new file mode 100644 index 0000000000..70b5a7b3c1 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0021.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0021.composite new file mode 100644 index 0000000000..e40949b012 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0022.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0022.composite new file mode 100644 index 0000000000..1bd3b43b2c --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0023.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0023.composite new file mode 100644 index 0000000000..a3a6465c09 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0024.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0024.composite new file mode 100644 index 0000000000..a140e3bfd5 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0024.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/> has @target set to
+ some service, that the reference can have no child <binding/> elements -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0024">
+
+ <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_0024</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">
+ <interface.java interface="test.Service1"/>
+ <!-- A binding which contradicts the @target attribute -->
+ <binding.ws/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ <binding.ws/>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0025.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0025.composite new file mode 100644 index 0000000000..3209916612 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0025.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 where a <component/> <property/> has its value set by means
+ of a child <value/> element, that the type of the <value/> element matches
+ the type declared for the <property/> element -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0025">
+
+ <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_0025</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 a value declared using a <value/> subelement -->
+ <property name="complexType" type="test:ComplexType1">
+ <value>
+ <firstData>complex1</firstData>
+ <secondData>complex2</secondData>
+ </value>
+ </property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0026.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0026.composite new file mode 100644 index 0000000000..45e7420646 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0026.composite @@ -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.
+-->
+<!-- Tests that where a <component/> <property/> has its value set by means
+ of a child element that is NOT a <value/> element, that a) the type of
+ the <property/> element is declared as an XML Schema global element by
+ its @element attribute and that the child element is an instance of that
+ global element -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0026">
+
+ <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_0026</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite13"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with complex type with a value declared using a subelement
+ with the correct XSD global element type -->
+ <property name="complexType" element="test:globalElement1">
+ <test:globalElement1>
+ <firstData>complex1</firstData>
+ <secondData>complex2</secondData>
+ </test:globalElement1>
+ </property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0027.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0027.composite new file mode 100644 index 0000000000..aa411a1955 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0027.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/> has 2 or more <property/> child elements
+ that each <property/> element has a unique @name attribute value -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0027">
+
+ <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_0027</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Multiple properties with the same @name attribute value - an error -->
+ <property name="serviceName">service2</property>
+ <property name="serviceName">service3</property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0028.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0028.composite new file mode 100644 index 0000000000..07d36a29fd --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0028.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/> @name attribute matches the
+ @name attribute of one of the <property/> elements of the
+ <componentType/> of the <implementation/> of the <component/> -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_0028">
+
+ <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_0028</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- Property with @name attribute that does not match the @name
+ attribute of any of the <property/> elements in the
+ <componentType/> of the <implementation/> -->
+ <property name="randomName">randomValue</property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0029.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0029.composite new file mode 100644 index 0000000000..c35c2a4dca --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0030.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0030.composite new file mode 100644 index 0000000000..27a652958d --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0031.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0031.composite new file mode 100644 index 0000000000..d68fcac87d --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0032.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0032.composite new file mode 100644 index 0000000000..06cce10ffe --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0033.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0033.composite new file mode 100644 index 0000000000..070b23d1ec --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0034.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0034.composite new file mode 100644 index 0000000000..37e282b5d5 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0101.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_0101.composite new file mode 100644 index 0000000000..9a5e53e75c --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903" + 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/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6001.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6001.composite new file mode 100644 index 0000000000..cd4701ff57 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6002.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6002.composite new file mode 100644 index 0000000000..e5d59e186a --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6003.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6003.composite new file mode 100644 index 0000000000..c65c8634f8 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6004.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6004.composite new file mode 100644 index 0000000000..779358b5d3 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6005.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6005.composite new file mode 100644 index 0000000000..ea27808b17 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6005.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.
+-->
+<!-- Tests that the @name attribute of a <composite/> <reference/> element
+is unique amongst the @name attributes of all the <reference/> elements of
+that <composite/> -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6005">
+
+ <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_6005</property>
+ </component>
+
+ <!-- Component which uses a composite which has a single <service/> subelement
+ and which has 2 <reference/> subelements with the same name - references
+ are 0..n multiplicity and so do not require wiring -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite19"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6006.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6006.composite new file mode 100644 index 0000000000..04647af815 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6006.composite @@ -0,0 +1,55 @@ +<?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 @promote attribute of a <composite/> <reference/> contains
+ one or more URIs that each point to a <reference/> of a <component/> in the
+ <composite/> -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6006">
+
+ <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_6006</property>
+ </component>
+
+ <!-- Component which uses a composite which has a single <service/> subelement
+ and which has 2 <reference/> subelements with the same name - references
+ are 0..n multiplicity and so do not require wiring -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite20"/>
+ <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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6007.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6007.composite new file mode 100644 index 0000000000..ed7f358e8d --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6007.composite @@ -0,0 +1,55 @@ +<?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 <composite/> <reference/> can declare an <interface/>
+ that is a compatible superset of the <interface/> declared by each
+ <component/> <reference/> promoted by the composite reference -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6007">
+
+ <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_6007</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <reference/> element which
+ declares a superset interface -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite21"/>
+ <service name="Service1"/>
+ <property name="serviceName">service1</property>
+ <reference name="Reference1" target="TestComponent2/Service1"/>
+ </component>
+
+ <!-- Implementation of the superset service -->
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite9"/>
+ <service name="Service1"/>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6008.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6008.composite new file mode 100644 index 0000000000..6f69735871 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6008.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 where a <composite/> <reference/> has no <interface/> subelement,
+ and that <reference/> promotes 2 or more <component/> <reference/>s, that the
+ <interface/> declared on each of the <component/> <reference/>s are the same -->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ name="TEST_ASM_6008">
+
+ <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_6008</property>
+ </component>
+
+ <!-- Component which uses a composite which has a <reference/> element which
+ promotes multiple component references which use different interfaces -->
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite22"/>
+ <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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6009.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6009.composite new file mode 100644 index 0000000000..fd1cadd870 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6010.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6010.composite new file mode 100644 index 0000000000..f9525f171e --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6011.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6011.composite new file mode 100644 index 0000000000..a702d7b342 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6012.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6012.composite new file mode 100644 index 0000000000..f032838b50 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6013.composite b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_ASM_6013.composite new file mode 100644 index 0000000000..1e3dd250d5 --- /dev/null +++ b/branches/2.0-M2/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://docs.oasis-open.org/ns/opencsa/sca/200903"
+ 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/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_Types.xsd b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_Types.xsd new file mode 100644 index 0000000000..98c57b1a55 --- /dev/null +++ b/branches/2.0-M2/stest/sampleTest/src/main/resources/Test_Types.xsd @@ -0,0 +1,38 @@ +<?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.
+-->
+<!-- Schema for Schema types used by the SCA TestCases -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://oasis/tests"
+ xmlns:test="http://oasis/tests"
+ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
+ elementFormDefault="qualified">
+
+ <!-- A complex type -->
+ <complexType name="ComplexType1">
+ <sequence>
+ <element name="firstData" type="string" />
+ <element name="secondData" type="string" />
+ </sequence>
+ </complexType>
+
+ <!-- A global element with a complex type -->
+ <element name="globalElement1" type="test:ComplexType1"/>
+
+</schema>
\ No newline at end of file |