diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-26 11:30:18 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-26 11:30:18 +0000 |
commit | 88b043b538e64e6476435163e5e59be68c77751e (patch) | |
tree | 88663fbe4c5131c20d565a6f685bae790652b1e1 /branches/sca-java-1.x | |
parent | 9da33c32c68179267acc2f09bdc3ecd72337d1c1 (diff) |
TUSCANY-2868 - Add more assembly/component test cases. Thanks for the patch Jun Guo
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@748094 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
23 files changed, 728 insertions, 34 deletions
diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceA.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceA.java new file mode 100644 index 0000000000..d29eb41dfb --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceA.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +/** + * + * + */ +public interface ServiceA { + + String getServiceName() ; + + String getStrProperty() ; + + Object getObjProperty() ; +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceAImpl.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceAImpl.java new file mode 100644 index 0000000000..dfd613d798 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceAImpl.java @@ -0,0 +1,51 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +/** + * + * + */ +@Service(ServiceA.class) +public class ServiceAImpl implements ServiceA{ + + @Property + protected String strProperty ; + + @Property + protected Object objProperty ; + + + public String getServiceName() { + return "AService" ; + } + + public String getStrProperty() { + + return strProperty ; + } + + public Object getObjProperty() { + + return objProperty ; + } +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceB.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceB.java new file mode 100644 index 0000000000..d57894527d --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceB.java @@ -0,0 +1,32 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +import org.osoa.sca.annotations.Property; + +/** + * + * + */ +public interface ServiceB { + + Object getObjProperty() ; + String getStrProperty() ; + int getIntProperty() ; +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceBImpl.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceBImpl.java new file mode 100644 index 0000000000..f202906d7c --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceBImpl.java @@ -0,0 +1,56 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +/** + * + * + */ +@Service(ServiceB.class) +public class ServiceBImpl implements ServiceB{ + + @Property + protected Object objProperty ; + + @Property + protected String strProperty ; + +// @Property +// protected int intProperty ; + + public Object getObjProperty() { + return objProperty ; + } + + public String getStrProperty() { + + return strProperty ; + } + + public int getIntProperty() { + + return 100 ; +// return intProperty ; + } + +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceC.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceC.java new file mode 100644 index 0000000000..1eefede818 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceC.java @@ -0,0 +1,29 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +/** + * + * + */ +public interface ServiceC { + + String getStrProperty() ; + Object getObjProperty() ; +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceCImpl.java b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceCImpl.java new file mode 100644 index 0000000000..bfbc1848c2 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/property/ServiceCImpl.java @@ -0,0 +1,44 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component.property; + +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +/** + * + * + */ +@Service(ServiceC.class) +public class ServiceCImpl implements ServiceC{ + + @Property + protected String strProperty ; + + @Property(name="objProperty") + protected String objProperty ; + + public String getStrProperty() { + return strProperty ; + } + + public Object getObjProperty() { + return objProperty ; + } +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_duplicate_property.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_duplicate_property.composite new file mode 100644 index 0000000000..0886c94a90 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_duplicate_property.composite @@ -0,0 +1,35 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component-Composite"> + + <component name="AComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.property.ServiceAImpl"/> + + <property name="strProperty">value1</property> + <property name="strProperty">value2</property> + + + </component> + + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_1.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_1.composite new file mode 100644 index 0000000000..5e975e5105 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_1.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component--Composite"> + + <component name="AComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.property.ServiceAImpl"/> + + <property name="strProperty">I am a string</property> + <property name="objProperty">I am a object</property> + + </component> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.property.ServiceBImpl"/> + <property name="strProperty" type="xsd:string"> + <value>I am a string</value> + </property> + <!-- + <property name="intProperty" value="100" type="xsd:int"/> + --> + + <property name="objProperty" value="I am a object"/> + + </component> + + + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_2.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_2.composite new file mode 100644 index 0000000000..42d7234a1c --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_2.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component--Composite"> + + <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.example.com/Customer" targetNamespace="http://www.example.com/Customer"> + + <xsd:element name="customer" type="Customer"/> + <xsd:complexType name="Customer"> + <xsd:sequence> + <xsd:element name="firstName" type="xsd:string"/> + <xsd:element name="middleName" type="xsd:string"/> + <xsd:element name="lastName" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:schema> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.property.ServiceCImpl"/> + <!-- + <property name="customerInfo" xsi:type="Customer"> + + <firstName>Ku</firstName> + <middleName>Jun</middleName> + <lastName>Guo</lastName> + + </property> + --> + + </component> + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_3.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_3.composite new file mode 100644 index 0000000000..c6b0d2f245 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/component_property_3.composite @@ -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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component--Composite"> + + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.property.ServiceCImpl"/> + + <property name="strProperty"> + I am a string + </property> + <property name="objectProperty"> + I am an object + </property> + + </component> + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_moretargets.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_moretargets.composite index 902f6b9850..396aa0557c 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_moretargets.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_moretargets.composite @@ -20,7 +20,7 @@ --> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://assembly-tests.component.reference" + targetNamespace="http://assembly-tests" name="Assemby-component"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_multitargets.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_multitargets.composite index b0aaf271cf..7cf1d0b2e8 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_multitargets.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_multitargets.composite @@ -20,7 +20,7 @@ --> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://assembly-tests.component.reference" + targetNamespace="http://assembly-tests" name="Assemby-component"> <component name="ClientComponent"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_ntargets.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_ntargets.composite index baef55fccc..eb4c820ca0 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_ntargets.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_ntargets.composite @@ -20,7 +20,7 @@ --> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://assembly-tests.component.reference" + targetNamespace="http://assembly-tests" name="Assemby-component"> <component name="ClientComponent"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_zerotarget.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_zerotarget.composite index d3e8396242..0895f2b7ce 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_zerotarget.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_multiplicity_zerotarget.composite @@ -20,7 +20,7 @@ --> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://assembly-tests.component.reference" + targetNamespace="http://assembly-tests" name="Assemby-component"> <component name="ClientComponent"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_wiredbyimpl.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_wiredbyimpl.composite index 665c17a639..e5e492f34b 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_wiredbyimpl.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/reference_wiredbyimpl.composite @@ -20,7 +20,7 @@ --> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://mynsss.com" + targetNamespace="http://assembly-tests" name="Assemby-component"> <component name="ClientComponent"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_1.composite index de3eefab95..e7445c4a2a 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencenamemissmatch.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_1.composite @@ -21,7 +21,7 @@ <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://assembly-tests" - name="Assemby-component"> + name="Assemby-component-reference"> <component name="ClientComponent1"> <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/> @@ -33,10 +33,11 @@ <reference name="b" target="ServiceComponent/MyService"> </reference> - <reference name="bServiceX" target="ServiceComponent/MyService"> + <reference name="bService" target="ServiceComponent/MyService"> </reference> - </component> + </component> + <component name="ServiceComponent"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_2.composite index 05227124e1..bf39310764 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referenceduplicatename.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_2.composite @@ -21,22 +21,8 @@ <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://assembly-tests" - name="Assemby-component"> + name="Assemby-component-reference"> - <component name="ClientComponent1"> - <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/> - - <service name="MyClientA"> - <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/> - </service> - - <reference name="b" target="ServiceComponent/MyService"> - </reference> - - <reference name="bService" target="ServiceComponent/MyService"> - </reference> - - </component> <component name="ClientComponent2"> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_3.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_3.composite new file mode 100644 index 0000000000..e2ef1947e8 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_3.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. +--> +<!--to test the reference name matched with implementation--> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component-reference"> + + + <component name="ClientComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/> + + <service name="MyClientA"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/> + </service> + + <reference name="b" target="ServiceComponent/MyService"> + </reference> + + <reference name="bService" target="ServiceComponent/MyService"> + </reference> + + </component> + + + <component name="ServiceComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyServiceImpl"/> + <service name="MyService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_4.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_4.composite new file mode 100644 index 0000000000..5ef8367193 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/referencename_4.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. +--> +<!--to test the reference name not matched with implementation--> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assemby-component-reference"> + + + <component name="ClientComponent1"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientAImpl"/> + + <service name="MyClientA"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyClientA"/> + </service> + + <reference name="bb" target="ServiceComponent/MyService"> + </reference> + + <reference name="bService" target="ServiceComponent/MyService"> + </reference> + + </component> + + + + <component name="ServiceComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.reference.MyServiceImpl"/> + <service name="MyService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.reference.MyService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/zerocomponents.composite b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/zerocomponents.composite index 6f02d7e941..9465cedaf9 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/zerocomponents.composite +++ b/branches/sca-java-1.x/vtest/assembly/component/src/main/resources/zerocomponents.composite @@ -21,6 +21,5 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://assembly-tests" name="Assemby-zero-components-Composite"> - </composite> diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java index 1d8d31c433..f3ce219f92 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java +++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentBasicTestCase.java @@ -356,5 +356,6 @@ public class ComponentBasicTestCase { + } diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java new file mode 100644 index 0000000000..6cf8b49e4f --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentPropertyTestCase.java @@ -0,0 +1,166 @@ +/* + * 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 org.apache.tuscany.sca.vtest.assembly.component; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceA; +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceB; +import org.apache.tuscany.sca.vtest.assembly.component.property.ServiceC; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.Ignore; +import org.junit.Test; + +/** + * This test case covers the main functionalities of component property. + * + */ +public class ComponentPropertyTestCase { + + private void initDomain(String compositePath) { + System.out.println("Setting up"); + ServiceFinder.init(compositePath); + } + + private void cleanupDomain() { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * + * <p> + * OSOA + * The property has no @value attribute now. + * <p> + * ASM50027 + * <p> + * OASIS: + * If the @value attribute of a component property element is declared, the type of the + * property MUST be an XML Schema simple type and the @value attribute MUST + * contain a single value of that type + */ + @Test + @Ignore("It will be implemented in SCA 2.x codebase") + public void testValueAttibuteValid_1() { + + initDomain("component_property_1.composite"); + ServiceA service = ServiceFinder.getService(ServiceA.class , "AComponent/ServiceA") ; + Assert.assertEquals("I am a string" ,service.getStrProperty()) ; + Assert.assertEquals("I am a object" ,service.getObjProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * The property has no @value attribute now. + * <p> + * ASM50027 + * <p> + * OASIS: + * If the @value attribute of a component property element is declared, the type of the + * property MUST be an XML Schema simple type and the @value attribute MUST + * contain a single value of that type + */ + @Test + @Ignore("It will be implemented in SCA 2.x codebase") + public void testValueAttibuteValid_2() { + + initDomain("component_property_1.composite"); + ServiceB service = ServiceFinder.getService(ServiceB.class , "BComponent/ServiceB") ; +// Assert.assertEquals("I am a object" ,service.getObjProperty()) ; + //It will fail to get the value from composite file, so it will be an empty string + System.out.println("::::" + service.getStrProperty()); +// System.out.println("::::" + service.getIntProperty()); +// Assert.assertEquals("I am a string" ,service.getStrProperty()) ; + + Assert.assertEquals("" ,service.getObjProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * Not mentioned in OSOA + * <p> + * ASM50030 + * <p> + * OASIS: + * A <component/> element MUST NOT contain two <property/> subelements with the + * same value of the @name attribute + */ + @Test + @Ignore("TUSCANY-2863") + public void testDuplicateProperty() { + + initDomain("component_duplicate_property.composite"); + ServiceA service = ServiceFinder.getService(ServiceA.class , "AComponent/ServiceA") ; +// System.out.println(service.getStrProperty()) ; + Assert.assertEquals("value1", service.getStrProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * No corresponding statements in OSOA. + * <p> + * ASM50031 + * <p> + * OASIS: + * The name attribute of a component property MUST match the name of a property + * element in the component type of the component implementation. + */ + @Test + public void testPropertyNameMatched() { + + initDomain("component_property_3.composite"); + ServiceC service = ServiceFinder.getService(ServiceC.class , "CComponent/ServiceC") ; + Assert.assertEquals("I am a string" , service.getStrProperty()) ; + cleanupDomain(); + + } + + /** + * <p> + * OSOA + * No corresponding statements in OSOA. + * <p> + * ASM50031 + * <p> + * OASIS: + * The name attribute of a component property MUST match the name of a property + * element in the component type of the component implementation. + */ + @Test + public void testPropertyNameNotMatched() { + + initDomain("component_property_3.composite"); + ServiceC service = ServiceFinder.getService(ServiceC.class , "CComponent/ServiceC") ; + Assert.assertNull(service.getObjProperty()) ; + cleanupDomain(); + + } + + +} diff --git a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java index b3d77561ce..d62d10965a 100644 --- a/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java +++ b/branches/sca-java-1.x/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentReferenceTestCase.java @@ -61,17 +61,14 @@ public class ComponentReferenceTestCase { * reference elements of that <component/> */ @Test - public void testComponentReferenceName() { + public void testReferenceNameUnique() { - initDomain("referencename.composite"); + initDomain("referencename_1.composite"); MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent1/MyClientA"); -// System.out.println(service.callOtherServices()); Assert.assertEquals("MyService:::MyService" , service.callOtherServices()) ; cleanupDomain(); - - } /** @@ -89,10 +86,10 @@ public class ComponentReferenceTestCase { * reference elements of that <component/> */ @Test - public void testDuplicateComponentReferenceName() { + public void testReferenceNameDuplicated() { //for this case, the reference of "b" in MyClientImpl is null. try { - initDomain("referenceduplicatename.composite"); + initDomain("referencename_2.composite"); } catch (ServiceRuntimeException ex){ Assert.assertEquals("Duplicate component reference name: Component = ClientComponent2 Reference = b", ex.getMessage()); return; @@ -114,13 +111,34 @@ public class ComponentReferenceTestCase { * the name of the reference. Has to match a name of a reference defined by the implementation. * */ + @Test + public void testComponentReferenceNameMatched() { + initDomain("referencename_3.composite"); + MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent1/MyClientA"); + Assert.assertEquals("MyService:::MyService" , service.callOtherServices()) ; + cleanupDomain(); + } + + /** + * Line 192-193: + * <p> + * OSOA: + * the name of the reference. Has to match a name of a reference + * defined by the implementation. + * <p> + * ASM50008 + * <p> + * OASIS: + * the name of the reference. Has to match a name of a reference defined by the implementation. + * + */ @Test public void testComponentReferenceNameValid() { try { - initDomain("referencenamemissmatch.composite"); + initDomain("referencename_4.composite"); } catch (ServiceRuntimeException ex){ - Assert.assertEquals("Reference not found for component reference: Component = ClientComponent1 Reference = bServiceX", ex.getMessage()); + Assert.assertEquals("Reference not found for component reference: Component = ClientComponent1 Reference = bb", ex.getMessage()); return; } @@ -139,7 +157,7 @@ public class ComponentReferenceTestCase { * wired statically within a composite, but left unwired */ @Test - @Ignore("Not implemented now.") + @Ignore("Not implemented in SCA 1.x codebase.") public void testWiredByImpl() { initDomain("reference_wiredbyimpl.composite"); MyClientA service = ServiceFinder.getService(MyClientA.class, "ClientComponent/MyClientA"); @@ -147,6 +165,7 @@ public class ComponentReferenceTestCase { cleanupDomain(); } + /** * Line 208: * <p> |