diff options
4 files changed, 110 insertions, 1 deletions
diff --git a/java/sca/stest/sampleTest/src/main/java/test/service1Impl2.java b/java/sca/stest/sampleTest/src/main/java/test/service1Impl2.java index 18793b5034..3c09715921 100644 --- a/java/sca/stest/sampleTest/src/main/java/test/service1Impl2.java +++ b/java/sca/stest/sampleTest/src/main/java/test/service1Impl2.java @@ -32,6 +32,7 @@ public class service1Impl2 implements Service1 { @Property
public String serviceName = "service1";
+ // Reference with an implied multiplicity of (1..1) since required=true is the default
@Reference
public Service1 reference1 = null;
diff --git a/java/sca/stest/sampleTest/src/main/resources/TestComposite4.composite b/java/sca/stest/sampleTest/src/main/resources/TestComposite4.composite index 7408a4dd97..4aeceb4ec7 100644 --- a/java/sca/stest/sampleTest/src/main/resources/TestComposite4.composite +++ b/java/sca/stest/sampleTest/src/main/resources/TestComposite4.composite @@ -38,7 +38,7 @@ <property name="serviceName" source="$serviceName"/> </component> - <reference name="Reference1" promote="TestComponent1/Reference"> + <reference name="Reference1" promote="TestComponent1/reference1"> <interface.java interface="test.Service1"/> </reference> diff --git a/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0013.composite b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0013.composite new file mode 100644 index 0000000000..49ee9824bd --- /dev/null +++ b/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0013.composite @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<!-- Tests that the the multiplicity
+ of a <reference/> element of a <component/> is
+ 1..1 where the multiplicity of the equivalent <reference/>
+ element in the <componentType/> of the <implementation/> of the
+ <component/> is 1..1 -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://oasis/tests"
+ xmlns:tns="http://oasis/tests"
+ xmlns:sample="http://oasis/tests"
+ name="TEST_ASM_0013">
+
+ <component name="TestClient">
+ <implementation.composite name="tns:TestClient_0002"/>
+ <service name="TestInvocation">
+ <interface.java interface="test.TestInvocation"/>
+ <binding.ws/>
+ </service>
+ <reference name="reference1" target="TestComponent1/Service1" />
+ <property name="testName">ASM_0013</property>
+ </component>
+
+ <component name="TestComponent1">
+ <implementation.composite name="tns:TestComposite4"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"/>
+ </service>
+ <property name="serviceName">service1</property>
+ <!-- The multiplicity declared for this reference is 1..1 while the multiplicity of
+ the corresponding reference on the componentType of the implementation is 1..1 -->
+ <reference name="Reference1" target="TestComponent2/Service1" multiplicity="1..1">
+ <interface.java interface="test.Service1"/>
+ </reference>
+ </component>
+
+ <component name="TestComponent2">
+ <implementation.composite name="tns:TestComposite1"/>
+ <service name="Service1">
+ <interface.java interface="test.Service1"></interface.java>
+ </service>
+ <property name="serviceName">service2</property>
+ </component>
+
+</composite>
diff --git a/java/sca/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java b/java/sca/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java new file mode 100644 index 0000000000..96ad97cc67 --- /dev/null +++ b/java/sca/stest/sampleTest/src/test/java/client/ASM_0013_TestCase.java @@ -0,0 +1,46 @@ +/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0013_TestCase, which tests that the the multiplicity
+ * of a <reference/> element of a <component/> is 1..1 where the
+ * multiplicity of the equivalent <reference/> element in the
+ * <componentType/> of the <implementation/> of the <component/> is 1..1
+ */
+public class ASM_0013_TestCase extends BaseJAXWSTestCase {
+
+
+ protected TestConfiguration getTestConfiguration() {
+ TestConfiguration config = new TestConfiguration();
+ config.testName = "ASM_0013";
+ config.input = "request";
+ config.output = "ASM_0013 request service1 operation1 invoked service2 operation1 invoked";
+ config.composite = "Test_ASM_0013.composite";
+ config.testServiceName = "TestClient";
+ config.testClass = ASM_0002_Client.class;
+ config.serviceInterface = TestInvocation.class;
+ return config;
+ }
+
+} // end class Test_ASM_0003
|