diff options
Diffstat (limited to 'branches/sca-java-1.3/itest')
17 files changed, 791 insertions, 0 deletions
diff --git a/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDImpl.java b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDImpl.java index 41f66c3f2c..932ae3987a 100644 --- a/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDImpl.java +++ b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDImpl.java @@ -18,6 +18,8 @@ */
package org.apache.tuscany.sca.itest.builder;
+import java.util.List;
+
import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Service;
diff --git a/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDReferenceMultiplicityImpl.java b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDReferenceMultiplicityImpl.java new file mode 100644 index 0000000000..fbb10a9ff7 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentDReferenceMultiplicityImpl.java @@ -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 org.apache.tuscany.sca.itest.builder; + +import java.util.List; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * Implementation class for ComponentD. + * + * @version $Rev$ $Date$ + */ +@Service(interfaces={Service3.class, Service3a.class}) +public class ComponentDReferenceMultiplicityImpl implements Service3, Service3a { + + @Reference + protected Service3a reference3; + + @Reference + protected List<Service3> reference3a; + + public String getGreetings(String name) { + return "Hello, " + name + "!"; + } + + public String getGreetings2(String name) { + return "Goodbye, " + name + "!"; + } + +} diff --git a/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentEImpl.java b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentEImpl.java new file mode 100644 index 0000000000..d1db4a5620 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentEImpl.java @@ -0,0 +1,36 @@ +/* + * 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.itest.builder; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * Implementation class for ComponentD. + * + * @version $Rev$ $Date$ + */ +@Service(interfaces={Service3.class}) +public class ComponentEImpl implements Service3 { + + + public String getGreetings(String name) { + return "Hello, " + name + " from ComponentE"; + } +} diff --git a/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentFImpl.java b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentFImpl.java new file mode 100644 index 0000000000..c6d1240a95 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/java/org/apache/tuscany/sca/itest/builder/ComponentFImpl.java @@ -0,0 +1,36 @@ +/* + * 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.itest.builder; + +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +/** + * Implementation class for ComponentD. + * + * @version $Rev$ $Date$ + */ +@Service(interfaces={Service3.class}) +public class ComponentFImpl implements Service3 { + + + public String getGreetings(String name) { + return "Hello, " + name + " from ComponentF"; + } +} diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/META-INF/sca-contribution.xml b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..ac01b3c687 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ +<?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. +--> +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario10" + xmlns:ns10="http://scenario10"> + <deployable composite="ns10:CompositeA" /> +</contribution> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10.composite new file mode 100644 index 0000000000..ad1c6aa4c1 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario10" + xmlns:tns="http://scenario10" + name="CompositeA"> + + <service name="Service1" promote="ComponentB/Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference1" promote="ComponentB/reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference1a" promote="ComponentB/reference2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentB"> + <implementation.composite name="tns:CompositeC" /> + <service name="Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" target="ComponentF"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentF"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10a.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10a.composite new file mode 100644 index 0000000000..0cfff9fdae --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario10/scenario10a.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario10" + xmlns:tns="http://scenario10" + name="CompositeC"> + + <service name="Service2" promote="ComponentD/Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a" promote="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2" promote="ComponentD/reference3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" promote="ComponentD/reference3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws /> + </reference> + + <component name="ComponentD"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentDReferenceMultiplicityImpl"/> + <service name="Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws uri="http://foo.com/bar" /> + </service> + <reference name="reference3" target="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws/> + </reference> + <reference name="reference3a" target="ComponentE"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentE"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/META-INF/sca-contribution.xml b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..8b82b43c68 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ +<?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. +--> +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario11" + xmlns:ns11="http://scenario11"> + <deployable composite="ns11:CompositeA" /> +</contribution> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11.composite new file mode 100644 index 0000000000..44751a7eed --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario11" + xmlns:tns="http://scenario11" + name="CompositeA"> + + <service name="Service1" promote="ComponentB/Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference1" promote="ComponentB/reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference1a" promote="ComponentB/reference2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentB"> + <implementation.composite name="tns:CompositeC" /> + <service name="Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" target="ComponentF"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws /> + </reference> + </component> + + <component name="ComponentF"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11a.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11a.composite new file mode 100644 index 0000000000..5811e80735 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario11/scenario11a.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario11" + xmlns:tns="http://scenario11" + name="CompositeC"> + + <service name="Service2" promote="ComponentD/Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a" promote="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2" promote="ComponentD/reference3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" promote="ComponentD/reference3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentD"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentDReferenceMultiplicityImpl"/> + <service name="Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws uri="http://foo.com/bar" /> + </service> + <reference name="reference3" target="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws/> + </reference> + <reference name="reference3a" target="ComponentE"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentE"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/META-INF/sca-contribution.xml b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..4028098023 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ +<?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. +--> +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario12" + xmlns:ns12="http://scenario12"> + <deployable composite="ns12:CompositeA" /> +</contribution> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.composite new file mode 100644 index 0000000000..23799f8487 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario12" + xmlns:tns="http://scenario12" + name="CompositeA"> + + <service name="Service1" promote="ComponentB/Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference1" promote="ComponentB/reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference1a" promote="ComponentB/reference2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentB"> + <implementation.composite name="tns:CompositeC" /> + <service name="Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" target="ComponentF"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentF"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.composite new file mode 100644 index 0000000000..59ed4d02f4 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario12/scenario12a.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario12" + xmlns:tns="http://scenario12" + name="CompositeC"> + + <service name="Service2" promote="ComponentD/Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a" promote="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2" promote="ComponentD/reference3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" promote="ComponentD/reference3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentD"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentDReferenceMultiplicityImpl"/> + <service name="Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws uri="http://foo.com/bar" /> + </service> + <reference name="reference3" target="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws/> + </reference> + <reference name="reference3a" target="ComponentE"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentE"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/META-INF/sca-contribution.xml b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b6ec160506 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/META-INF/sca-contribution.xml @@ -0,0 +1,24 @@ +<?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. +--> +<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario9" + xmlns:ns9="http://scenario9"> + <deployable composite="ns9:CompositeA" /> +</contribution> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9.composite new file mode 100644 index 0000000000..dae3b3deb6 --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario9" + xmlns:tns="http://scenario9" + name="CompositeA"> + + <service name="Service1" promote="ComponentB/Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference1" promote="ComponentB/reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference1a" promote="ComponentB/reference2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentB"> + <implementation.composite name="tns:CompositeC" /> + <service name="Service2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" target="ComponentF"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + </component> + + <component name="ComponentF"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9a.composite b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9a.composite new file mode 100644 index 0000000000..b521bbe01d --- /dev/null +++ b/branches/sca-java-1.3/itest/builder/src/main/resources/scenario9/scenario9a.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. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://scenario9" + xmlns:tns="http://scenario9" + name="CompositeC"> + + <service name="Service2" promote="ComponentD/Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service2a" promote="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <reference name="reference2" promote="ComponentD/reference3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + <reference name="reference2a" promote="ComponentD/reference3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </reference> + + <component name="ComponentD"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentDReferenceMultiplicityImpl"/> + <service name="Service3"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + </service> + <service name="Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws uri="http://foo.com/bar" /> + </service> + <reference name="reference3" target="ComponentD/Service3a"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws/> + </reference> + <reference name="reference3a" target="ComponentE"> + <!-- bindings and/or interfaces may or may not be specified explicitly here --> + <binding.ws /> + </reference> + </component> + + <component name="ComponentE"> + <implementation.java class="org.apache.tuscany.sca.itest.builder.ComponentEImpl"/> + <service name="Service3"> + <binding.sca /> + <binding.ws /> + </service> + </component> +</composite> diff --git a/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java b/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java index b7663fc7c4..3f36bd9236 100644 --- a/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java +++ b/branches/sca-java-1.3/itest/builder/src/test/java/org/apache/tuscany/sca/itest/builder/BuilderTestCase.java @@ -28,6 +28,7 @@ import org.apache.tuscany.sca.assembly.ComponentReference; import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.assembly.Composite;
import org.apache.tuscany.sca.assembly.Reference;
+import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.binding.ws.WebServiceBinding;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
@@ -49,6 +50,7 @@ public class BuilderTestCase extends TestCase { protected void tearDown() throws Exception {
}
+
// Scenario 1: <binding.ws> on outer composite service CompositeA/Service1
public void testScenario1() throws Exception {
System.out.println("====>Running testScenario1");
@@ -690,4 +692,88 @@ public class BuilderTestCase extends TestCase { assert wsBinding.getWSDLDocument() == null;
}
+ // Scenario 9: targets in references CDR1A and CBR2A and binding.ws at CDR3A
+ public void testScenario9() throws Exception {
+ System.out.println("====>Running testScenario9");
+ customBuilder = new CustomCompositeBuilder(false);
+ customBuilder.loadContribution("scenario9.composite", "TestContribution", "src/main/resources/scenario9/");
+ //TestUtils.printResults(customBuilder);
+ TestUtils.checkProblems(customBuilder);
+ checkScenario9Results();
+ }
+
+ private void checkScenario9Results() {
+ Composite domainComposite = customBuilder.getDomainComposite();
+
+ Component componentD = TestUtils.getComponent(domainComposite, "ComponentD");
+ WebServiceBinding wsBinding = null;
+ for (ComponentReference reference : componentD.getReferences()) {
+ if ("reference3a".equals(reference.getName())) {
+ assertTrue(reference.getBindings().size() == 2);
+ assertTrue(reference.getBindings().get(0) instanceof WebServiceBinding);
+ assertTrue(reference.getBindings().get(1) instanceof WebServiceBinding);
+ }
+ }
+
+ }
+
+ // Scenario 10: targets in references CDR1A and CBR2A and binding.ws at CCR2A
+ public void testScenario10() throws Exception {
+ System.out.println("====>Running testScenario10");
+ customBuilder = new CustomCompositeBuilder(false);
+ customBuilder.loadContribution("scenario10.composite", "TestContribution", "src/main/resources/scenario10/");
+ //TestUtils.printResults(customBuilder);
+ TestUtils.checkProblems(customBuilder);
+ checkScenario10And11Results();
+ }
+
+ // Scenario 11: targets in references CDR1A and CBR2A and binding.ws at CBR2A
+ public void testScenario11() throws Exception {
+ System.out.println("====>Running testScenario11");
+ customBuilder = new CustomCompositeBuilder(false);
+ customBuilder.loadContribution("scenario11.composite", "TestContribution", "src/main/resources/scenario11/");
+ //TestUtils.printResults(customBuilder);
+ TestUtils.checkProblems(customBuilder);
+ checkScenario10And11Results();
+ }
+
+ private void checkScenario10And11Results() {
+ Composite domainComposite = customBuilder.getDomainComposite();
+
+ Component componentD = TestUtils.getComponent(domainComposite, "ComponentD");
+ WebServiceBinding wsBinding = null;
+ for (ComponentReference reference : componentD.getReferences()) {
+ if ("reference3a".equals(reference.getName())) {
+ assertTrue(reference.getBindings().size() == 2);
+ assertTrue(reference.getBindings().get(0) instanceof SCABinding);
+ assertTrue(reference.getBindings().get(1) instanceof WebServiceBinding);
+ }
+ }
+
+ }
+
+ // Scenario 12: targets in references CDR1A and CBR2A and binding.ws at CAR1A
+ public void testScenario12() throws Exception {
+ System.out.println("====>Running testScenario12");
+ customBuilder = new CustomCompositeBuilder(false);
+ customBuilder.loadContribution("scenario12.composite", "TestContribution", "src/main/resources/scenario12/");
+ //TestUtils.printResults(customBuilder);
+ TestUtils.checkProblems(customBuilder);
+ checkScenario12Results();
+ }
+
+ private void checkScenario12Results() {
+ Composite domainComposite = customBuilder.getDomainComposite();
+
+ Component componentD = TestUtils.getComponent(domainComposite, "ComponentD");
+ WebServiceBinding wsBinding = null;
+ for (ComponentReference reference : componentD.getReferences()) {
+ if ("reference3a".equals(reference.getName())) {
+ assertTrue(reference.getBindings().size() == 2);
+ assertTrue(reference.getBindings().get(0) instanceof SCABinding);
+ assertTrue(reference.getBindings().get(1) instanceof SCABinding);
+ }
+ }
+
+ }
}
|