Author: edwardsmj
Date: Wed Jan 14 04:12:37 2009
New Revision: 734362

URL: http://svn.apache.org/viewvc?rev=734362&view=rev
Log:
ASM_0013_TestCase added

Added:
    tuscany/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java
    
tuscany/java/sca/stest/sampleTest/src/main/resources/TestComposite7.composite
    tuscany/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0012.composite
    
tuscany/java/sca/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java

Added: tuscany/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java?rev=734362&view=auto
==============================================================================
--- tuscany/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java 
(added)
+++ tuscany/java/sca/stest/sampleTest/src/main/java/test/service1Impl4.java Wed 
Jan 14 04:12:37 2009
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package test;
+
+import org.osoa.sca.annotations.*;
+
+/**
+ * Enhanced Java component implementation for business interface Service1,
+ * where the implementation also has a single reference using the Service1
+ * interface with multiplicity 0..n all of which and which get called when 
+ * operation1 is invoked
+ * @author MikeEdwards
+ *
+ */
+...@service(Service1.class)
+public class service1Impl4 implements Service1 {
+       
+       @Property
+       public String serviceName = "service1";
+       // Required = false + an array -> multiplicity 0..n
+       @Reference(required=false)
+       public Service1[] reference1 = null;
+
+       public String operation1(String input) {
+               String result = "";
+               // Call each of the references in the array, concatenating the 
results
+               for( int i=0 ; i < reference1.length; i++ ) {
+                       result = result.concat( reference1[i].operation1(input) 
);
+               } // end for
+               return serviceName + " operation1 invoked" + " " + result;
+       }
+
+}

Added: 
tuscany/java/sca/stest/sampleTest/src/main/resources/TestComposite7.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/stest/sampleTest/src/main/resources/TestComposite7.composite?rev=734362&view=auto
==============================================================================
--- 
tuscany/java/sca/stest/sampleTest/src/main/resources/TestComposite7.composite 
(added)
+++ 
tuscany/java/sca/stest/sampleTest/src/main/resources/TestComposite7.composite 
Wed Jan 14 04:12:37 2009
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<!-- An example of a composite which has a single service and
+     a single reference with multiplicity 0..n   -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
+           targetNamespace="http://oasis/tests";
+           xmlns:sample="http://oasis/tests";
+           name="TestComposite7">
+           
+       <service name="Service1" promote="TestComponent1/Service1">
+               <interface.java interface="test.Service1"/>
+       </service>
+
+    <property name="serviceName" type="string"/>
+ 
+    <component name="TestComponent1">
+               <implementation.java class="test.service1Impl4"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"/>
+        </service>
+        <property name="serviceName" source="$serviceName"/>
+        <reference name="reference1" multiplicity="0..n">
+               <interface.java interface="test.Service1"/>
+        </reference>
+    </component>
+    
+    <reference name="Reference1" promote="TestComponent1/reference1" 
multiplicity="0..n">
+        <interface.java interface="test.Service1"/>
+    </reference>
+    
+</composite>

Added: 
tuscany/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0012.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0012.composite?rev=734362&view=auto
==============================================================================
--- 
tuscany/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0012.composite 
(added)
+++ 
tuscany/java/sca/stest/sampleTest/src/main/resources/Test_ASM_0012.composite 
Wed Jan 14 04:12:37 2009
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<!-- Tests that the the multiplicity 
+     of a <reference/> element of a <component/> can be any one of 0..1, 
+     1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/> 
+     element in the <componentType/> of the <implementation/> of the 
+     <component/> is 0..n -->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
+           targetNamespace="http://oasis/tests";
+           xmlns:tns="http://oasis/tests";
+           xmlns:sample="http://oasis/tests";
+           name="TEST_ASM_0012">
+           
+    <component name="TestClient">
+               <implementation.composite name="tns:TestClient_0002"/>
+               <service name="TestInvocation">
+                       <interface.java interface="test.TestInvocation"/>
+            <binding.ws/>
+               </service>
+        <reference name="reference1" target="TestComponent1/Service1" />
+        <property name="testName">ASM_0012</property>
+    </component>
+    
+    <component name="TestComponent1">
+               <implementation.composite name="tns:TestComposite7"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"/>
+        </service>
+        <property name="serviceName">service1</property>
+        <!-- The multiplicity declared for this reference is 0..1 while the 
multiplicity of
+             the corresponding reference on the componentType of the 
implementation is 0..n -->
+        <reference name="Reference1" target="TestComponent2/Service1" 
multiplicity="0..1">
+               <interface.java interface="test.Service1"/>
+        </reference>
+    </component>
+    
+    <component name="TestComponent2">
+               <implementation.composite name="tns:TestComposite7"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"/>
+        </service>
+        <property name="serviceName">service2</property>
+        <!-- The multiplicity declared for this reference is 1..1 while the 
multiplicity of
+             the corresponding reference on the componentType of the 
implementation is 0..n -->
+        <reference name="Reference1" target="TestComponent3/Service1" 
multiplicity="1..1">
+               <interface.java interface="test.Service1"/>
+        </reference>
+    </component>
+    
+    <component name="TestComponent3">
+               <implementation.composite name="tns:TestComposite7"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"/>
+        </service>
+        <property name="serviceName">service3</property>
+        <!-- The multiplicity declared for this reference is 0..n while the 
multiplicity of
+             the corresponding reference on the componentType of the 
implementation is 0..n -->
+        <reference name="Reference1" target="TestComponent4/Service1" 
multiplicity="0..n">
+               <interface.java interface="test.Service1"/>
+        </reference>
+    </component>
+    
+    <component name="TestComponent4">
+               <implementation.composite name="tns:TestComposite7"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"/>
+        </service>
+        <property name="serviceName">service4</property>
+        <!-- The multiplicity declared for this reference is 1..n while the 
multiplicity of
+             the corresponding reference on the componentType of the 
implementation is 0..n -->
+        <reference name="Reference1" target="TestComponent5/Service1" 
multiplicity="1..n">
+               <interface.java interface="test.Service1"/>
+        </reference>
+    </component>
+    
+    <component name="TestComponent5">
+               <implementation.composite name="tns:TestComposite1"/>
+        <service name="Service1">
+               <interface.java interface="test.Service1"></interface.java>
+        </service>
+        <property name="serviceName">service5</property>
+    </component>    
+    
+</composite>

Added: 
tuscany/java/sca/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java?rev=734362&view=auto
==============================================================================
--- 
tuscany/java/sca/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java 
(added)
+++ 
tuscany/java/sca/stest/sampleTest/src/test/java/client/ASM_0012_TestCase.java 
Wed Jan 14 04:12:37 2009
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package client;
+
+
+import test.ASM_0002_Client;
+import testClient.TestInvocation;
+
+/**
+ * Client for ASM_0012_TestCase, which tests that the the multiplicity 
+ * of a <reference/> element of a <component/> can be any one of 0..1, 
+ * 1..1, 0..n, 1..n where the multiplicity of the equivalent <reference/> 
+ * element in the <componentType/> of the <implementation/> of the 
+ * <component/> is 0..n
+ */
+public class ASM_0012_TestCase extends BaseJAXWSTestCase {
+
+ 
+    protected TestConfiguration getTestConfiguration() {
+       TestConfiguration config = new TestConfiguration();
+       config.testName                 = "ASM_0012";
+       config.input                    = "request";
+       config.output                   = "ASM_0012 request service1 operation1 
invoked service2 operation1 invoked" +
+                                 " service3 operation1 invoked service4 
operation1 invoked service5 operation1 invoked";
+       config.composite                = "Test_ASM_0012.composite";
+       config.testServiceName  = "TestClient";
+       config.testClass                = ASM_0002_Client.class;
+       config.serviceInterface = TestInvocation.class;
+       return config;
+    }
+    
+} // end class Test_ASM_0003


Reply via email to