diff options
author | ramkumar <ramkumar@13f79535-47bb-0310-9956-ffa450edef68> | 2008-12-02 11:17:24 +0000 |
---|---|---|
committer | ramkumar <ramkumar@13f79535-47bb-0310-9956-ffa450edef68> | 2008-12-02 11:17:24 +0000 |
commit | eed639ccf7fd95e0b31caf61787126e69592f207 (patch) | |
tree | 401cafc53175c67ac1aea5398986400b416bcde3 /branches/sca-java-1.4/vtest/assembly/composite/src | |
parent | e2af7d8b2dc498e63375fec8d97186dc261a428f (diff) |
Branch for 1.4
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@722428 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.4/vtest/assembly/composite/src')
28 files changed, 1169 insertions, 0 deletions
diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java new file mode 100644 index 0000000000..506e79b793 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java @@ -0,0 +1,30 @@ +/* + * 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.composite; + +/** + * Simple Remotable Service + */ +public interface AService { + + public String getState(); + public String getBProperty(); + + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java new file mode 100644 index 0000000000..61b4293940 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java @@ -0,0 +1,28 @@ +/* + * 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.composite; + +/** + * Simple Service + */ +public interface BService { + + public String getSomeProperty(); + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java new file mode 100644 index 0000000000..e8138091bb --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java @@ -0,0 +1,31 @@ +/* + * 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.composite; + +import org.osoa.sca.annotations.Remotable; + +/** + * + */ +public interface CService { + + public String getState(); + public String getName(); + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java new file mode 100644 index 0000000000..058726dbd7 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java @@ -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 org.apache.tuscany.sca.vtest.assembly.composite; + +import java.io.IOException; +import java.net.ServerSocket; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This server program shows how to create an SCA runtime, and start it which + * activates the helloworld Web service endpoint. + */ +public class DServer { + + public static void main(String[] args) { + + + SCADomain scaDomain = SCADomain.newInstance("dservicews.composite"); + + try { + System.out.println("HelloWorld server started (press enter to shutdown)"); + System.in.read(); + } catch (IOException e) { + e.printStackTrace(); + } + + scaDomain.close(); + System.out.println("HelloWorld server stopped"); + } + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java new file mode 100644 index 0000000000..097f80644b --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java @@ -0,0 +1,30 @@ +/* + * 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.composite; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable service. + */ +@Remotable +public interface DService { + + public String getGreetings(String name); +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java new file mode 100644 index 0000000000..623a8d650b --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java @@ -0,0 +1,43 @@ +/* + * 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.composite; + +import org.osoa.sca.annotations.Scope; + +/** + * This client program shows how to create an SCA runtime, start it, + * locate the HelloWorld service and invoke it. + */ +@Scope("COMPOSITE") +public class DServiceComponent implements DService { + + DService helloWorldService; + + public String getGreetings(String name) { + return helloWorldService.getGreetings(name); + } + + public DService getHelloWorldService() { + return helloWorldService; + } + + public void setHelloWorldService(DService helloWorldService) { + this.helloWorldService = helloWorldService; + } +}
\ No newline at end of file diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java new file mode 100644 index 0000000000..c39dde6c89 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java @@ -0,0 +1,30 @@ +/* + * 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.composite; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable service. + */ +@Remotable +public interface EService { + + public String getString(String a); +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java new file mode 100644 index 0000000000..d52afacf77 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java @@ -0,0 +1,30 @@ +/* + * 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.composite; + +/** + * Simple Remotable Service + */ +public interface FService { + + public String getString(String a); + public String getGreetings(String name); + + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java new file mode 100644 index 0000000000..a9d4a1c872 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java @@ -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 org.apache.tuscany.sca.vtest.assembly.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.AService; +import org.apache.tuscany.sca.vtest.assembly.composite.BService; +import org.apache.tuscany.sca.vtest.assembly.composite.CService; +import org.apache.tuscany.sca.vtest.assembly.composite.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + @Reference + protected BService b; + + @Reference + protected CService c; + + public String getState() { + return c.getState(); + } + + public String getBProperty() { + return b.getSomeProperty(); + } + + + +} + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java new file mode 100644 index 0000000000..b651f21927 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java @@ -0,0 +1,37 @@ +/* + * 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.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.BService; +import org.osoa.sca.annotations.Property; +import org.osoa.sca.annotations.Service; + +@Service(BService.class) +public class BServiceImpl implements BService { + + @Property + protected String someProperty; + + + public String getSomeProperty() { + return someProperty; + } + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java new file mode 100644 index 0000000000..ae3d8ab557 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.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.vtest.assembly.composite.impl; + +public class CServiceImpl { + + private String state = "Some State"; + private String name = "CServiceImpl"; + + public String getState() { + return state; + } + + public String getName() { + return name; + } + +} + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java new file mode 100644 index 0000000000..603ff7646c --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java @@ -0,0 +1,31 @@ +/* + * 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.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.DService; +import org.osoa.sca.annotations.Service; + +@Service(DService.class) +public class DServiceImpl implements DService { + + public String getGreetings(String name) { + return "Hello, " + name; + } + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java new file mode 100644 index 0000000000..1439bd5ca2 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java @@ -0,0 +1,31 @@ +/* + * 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.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.EService; +import org.osoa.sca.annotations.Service; + +@Service(EService.class) +public class EServiceImpl implements EService { + + public String getString(String a) { + return a; + } + +} diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java new file mode 100644 index 0000000000..f7ae2fd562 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.tuscany.sca.vtest.assembly.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.FService; +import org.apache.tuscany.sca.vtest.assembly.composite.EService; +import org.apache.tuscany.sca.vtest.assembly.composite.DService; +import org.osoa.sca.annotations.Reference; +import org.osoa.sca.annotations.Service; + +@Service(FService.class) +public class FServiceImpl implements FService { + + @Reference + protected EService e; + + @Reference + protected DService d; + + public String getString(String a) { + return e.getString(a); + } + + public String getGreetings(String name) { + return d.getGreetings(name); + } + +} + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/composite.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/composite.composite new file mode 100644 index 0000000000..88b8212c5e --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/composite.composite @@ -0,0 +1,31 @@ +<?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-composite--Composite"> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/> + <property name="someProperty">some b component value</property> + </component> + + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite new file mode 100644 index 0000000000..9956452116 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite @@ -0,0 +1,32 @@ +<?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-composite--Composite"> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/> + <service name="CServiceImpl"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite new file mode 100644 index 0000000000..e9cf2710d3 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite @@ -0,0 +1,39 @@ +<?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" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-different-interface-inner-Composite"> + + <service name="DifferentInterfaceService" promote="CComponent"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.BService"> + </interface.java> + </service> + + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/> + <service name="CServiceImpl"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite new file mode 100644 index 0000000000..ccbdcefcf1 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite @@ -0,0 +1,32 @@ +<?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" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-outer-Composite"> + + <component name="DifferentInterfaceComponent"> + + <implementation.composite name="assembly-tests:Assembly-different-interface-inner-Composite"/> + + </component> +</composite> + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/dservicews.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/dservicews.composite new file mode 100644 index 0000000000..2e05a862ff --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/dservicews.composite @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://helloworld" + xmlns:hw="http://helloworld" + name="Assembly-dservice-ws--Composite"> + + <component name="DServiceComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl" /> + <service name="DService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" /> + <binding.ws uri="http://localhost:8085/DService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite new file mode 100644 index 0000000000..b41bf6b9b9 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite @@ -0,0 +1,39 @@ +<?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="Assembly-LocalComponent--Composite" + local="false"> + + <component name="DServiceComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl"/> + <service name="DService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" /> + <binding.ws uri="http://localhost:8085/DService"/> + </service> + </component> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/> + <property name="someProperty">some b component value</property> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite new file mode 100644 index 0000000000..5436e6b22a --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-non-promote-inner-Composite"> + + <service name="BService" promote="BComponent"/> + <service name="CService" promote="CComponent"/> + <service name="NoPromoteService" promote="NoPromoteComponent"/> + + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/> + <property name="someProperty">some b component value</property> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/> + <service name="CServiceImpl"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite new file mode 100644 index 0000000000..261246dd1b --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite @@ -0,0 +1,32 @@ +<?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" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-non-promote-outer-Composite"> + + <component name="TestNonPromoteComponent"> + + <implementation.composite name="assembly-tests:Assembly-non-promote-inner-Composite"/> + + </component> +</composite> + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite new file mode 100644 index 0000000000..d6ec215eb5 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.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" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + name="Assembly-non-unique-reference--Composite"> + + <component name="FComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.FServiceImpl"/> + <reference name="e" /> + <reference name="d" /> + + </component> + + <component name="DComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl"/> + <service name="DService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService"/> + <binding.ws uri="http://localhost:8085/DService"/> + </service> + </component> + + <component name="EComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.EServiceImpl"/> + <service name="EService"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.EService"/> + <binding.ws uri="http://localhost:8085/EService"/> + </service> + </component> + + <reference name="NonUniqueReference" promote="FComponent/e"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.EService" /> + <binding.ws uri="http://localhost:8085/EService"/> + </reference> + + <reference name="NonUniqueReference" promote="FComponent/d"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" /> + <binding.ws uri="http://localhost:8085/DService"/> + </reference> + + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite new file mode 100644 index 0000000000..603061c7b0 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite @@ -0,0 +1,39 @@ +<?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" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-non-unique-reference-inner--Composite"> + + <service name="AService" promote="AComponent"/> + + <component name="AComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.assembly.composite.impl.AServiceImpl" /> + <reference name="b" /> + <reference name="c" /> + </component> + + <reference name="NonUniqueReference" promote="AComponent/b" /> + <reference name="NonUniqueReference" promote="AComponent/c" /> + + <!-- + <reference name="b" promote="AComponent/b" /> + <reference name="c" promote="AComponent/c" /> + --> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite new file mode 100644 index 0000000000..4b7a1e09fb --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://assembly-tests" + xmlns:assembly-tests="http://assembly-tests" + name="Assembly-non-unique-reference-outer--Composite"> + + <component name="TestNonUniqueReferenceComponent"> + <implementation.composite name="assembly-tests:Assembly-non-unique-reference-inner--Composite"/> + <reference name="NonUniqueReference" target="BComponent"/> + <reference name="NonUniqueReference" target="CComponent"/> + </component> + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/> + <property name="someProperty">some b component value</property> + </component> + + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/> + </component> + + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite new file mode 100644 index 0000000000..82a14e70dd --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-non-unique-service-inner-Composite"> + + <service name="BCService" promote="CComponent"/> + <service name="BCService" promote="BComponent"/> + + + <component name="BComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/> + <property name="someProperty">some b component value</property> + </component> + + <component name="CComponent"> + <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/> + <service name="CServiceImpl"> + <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/> + </service> + </component> + +</composite> diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite new file mode 100644 index 0000000000..35a1724bdb --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite @@ -0,0 +1,32 @@ +<?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" + xmlns:assembly-tests="http://assembly-tests" + targetNamespace="http://assembly-tests" + name="Assembly-non-promote-outer-Composite"> + + <component name="TestNonUniqueServiceComponent"> + + <implementation.composite name="assembly-tests:Assembly-non-unique-service-inner-Composite"/> + + </component> +</composite> + diff --git a/branches/sca-java-1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java b/branches/sca-java-1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java new file mode 100644 index 0000000000..2734c59756 --- /dev/null +++ b/branches/sca-java-1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java @@ -0,0 +1,172 @@ +/* + * 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.composite; + +import junit.framework.Assert; + +import org.apache.tuscany.sca.host.embedded.SCADomain; +import org.apache.tuscany.sca.vtest.utilities.ServiceFinder; +import org.junit.Ignore; +import org.junit.Test; +import org.osoa.sca.ServiceRuntimeException; + +/** + * + */ +public class CompositeTestCase { + + static final String LOCAL_DOMAIN_URI = "http://localhost"; + + private void initDomain(String compositePath) { + System.out.println("Setting up"); + ServiceFinder.init(compositePath); + } + + private void cleanupDomain() { + System.out.println("Cleaning up"); + ServiceFinder.cleanup(); + } + + /** + * ASM60001: + * <p> + * A composite name must be unique within the namespace of the composite. + * <p> + * OSOA specification doesn't have such requirement. + */ + @Test(expected = ServiceRuntimeException.class) + public void ASM60001() throws Exception { + SCADomain domain = + SCADomain.newInstance(LOCAL_DOMAIN_URI, "/", "composite.composite", "compositecopy.composite"); + domain.getService(BService.class, "BComponent"); + domain.getService(CService.class, "CComponent"); + domain.close(); + domain = null; + } + + /** + * Lines 1036-1037: + * <p> + * local="true" means that all the components must run in the same process. + * <p> + * ASM60002: + * <p> + * @local="true" for a composite means that all the components within the composite MUST run + * in the same operating system process. This is the only mode of Operation in Tuscany at + * the moment so we just show here that even when local is false both components are run + * + */ + @Test//(expected = ServiceRuntimeException.class) + public void ASM60002() throws Exception { + initDomain("localcomponent.composite"); + DService dservice = ServiceFinder.getService(DService.class, "DServiceComponent"); + Assert.assertEquals("Hello, tester", dservice.getGreetings("tester")); + BService bService = ServiceFinder.getService(BService.class, "BComponent"); + Assert.assertEquals("some b component value", bService.getSomeProperty()); + } + + /** + * Lines 1498-1499: + * <p> + * name (required) – the name of the service, the name MUST BE unique across + * all the composite services in the composite. + * <p> + * ASM60003: + * <p> + * The name of a composite <service/> element MUST be unique across all the + * composite services in the composite. + * <p> + * OSOA specification is the same with OASIS in this function. + */ + @Test(expected = ServiceRuntimeException.class) + public void ASM60003() throws Exception { + initDomain("nonuniqueservice_outer.composite"); + CService cService = ServiceFinder.getService(CService.class, "TestNonUniqueServiceComponent/BCService"); + cService.getName(); + BService bService = ServiceFinder.getService(BService.class, "TestNonUniqueServiceComponent/BCService"); + bService.getSomeProperty(); + cleanupDomain(); + } + + /** + * ASM60004: + * <p> + * A composite <service/> element's promote attribute MUST identify one of + * the component services within that composite. + * <p> + * OSOA specification doesn't have such requirement. + */ + @Test(expected = ServiceRuntimeException.class) + public void ASM60004() throws Exception { + initDomain("nonpromote_outer.composite"); + ServiceFinder.getService(BService.class, "TestNonPromoteComponent/NoPromoteService"); + cleanupDomain(); + } + + /** + * Lines 1512-1514: + * <p> + * If an interface is specified it must be the same or a compatible subset + * of the interface provided by the promoted component service, i.e. provide + * a subset of the operations defined by the component service. + * <p> + * ASM60005: + * <p> + * If a composite service interface is specified it must be the same or a + * compatible subset of the interface provided by the promoted component + * service, i.e. provide a subset of the operations defined by the component + * service. + * <p> + * OSOA specification is the same with OASIS in this function. + */ + @Test(expected = ServiceRuntimeException.class) + public void ASM60005() throws Exception { + initDomain("differentinterface_outer.composite"); + BService service = ServiceFinder.getService(BService.class, "DifferentInterfaceComponent/DifferentInterfaceService"); + service.getSomeProperty(); + cleanupDomain(); + } + + /** + * Lines 1325-1327: + * <p> + * name (required) – the name of the reference. The name must be unique + * across all the composite references in the composite. + * <p> + * ASM60006: + * <p> + * name : NCName (1..1) - the name of the reference. The name of a composite + * <reference/> element MUST be unique across all the composite references + * in the composite. + * <p> + * OSOA specification is the same with OASIS in this function. + */ + @Ignore("TUSCANY-????") + @Test(expected = ServiceRuntimeException.class) + public void ASM60006() throws Exception { + initDomain("nonuniquereference_outer.composite"); + AService service = ServiceFinder.getService(AService.class, "TestNonUniqueReferenceComponent/AService"); + service.getBProperty(); + service.getState(); + cleanupDomain(); + } + + +} |