From bba7d6e0871b4d33e1a65aedc1249c95806da9d3 Mon Sep 17 00:00:00 2001 From: slaws Date: Fri, 28 Nov 2008 14:01:33 +0000 Subject: TUSCANY-2689 - Some new composite vtests. Thanks for the patch Susan git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@721498 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/vtest/assembly/composite/AService.java | 1 - .../sca/vtest/assembly/composite/BService.java | 1 - .../sca/vtest/assembly/composite/CService.java | 3 + .../sca/vtest/assembly/composite/DServer.java | 49 ++++++++ .../sca/vtest/assembly/composite/DService.java | 30 +++++ .../assembly/composite/DServiceComponent.java | 43 +++++++ .../sca/vtest/assembly/composite/EService.java | 30 +++++ .../sca/vtest/assembly/composite/FService.java | 30 +++++ .../assembly/composite/impl/AServiceImpl.java | 10 +- .../assembly/composite/impl/BServiceImpl.java | 3 - .../assembly/composite/impl/CServiceImpl.java | 5 + .../assembly/composite/impl/DServiceImpl.java | 31 +++++ .../assembly/composite/impl/EServiceImpl.java | 31 +++++ .../assembly/composite/impl/FServiceImpl.java | 46 ++++++++ .../src/main/resources/composite.composite | 16 +-- .../src/main/resources/compositecopy.composite | 32 ++++++ .../resources/differentinterface_inner.composite | 39 +++++++ .../resources/differentinterface_outer.composite | 32 ++++++ .../src/main/resources/dservicews.composite | 33 ++++++ .../src/main/resources/localcomponent.composite | 39 +++++++ .../src/main/resources/nonpromote_inner.composite | 43 +++++++ .../src/main/resources/nonpromote_outer.composite | 32 ++++++ .../main/resources/nonuniquereference.composite | 59 ++++++++++ .../resources/nonuniquereference_inner.composite | 39 +++++++ .../resources/nonuniquereference_outer.composite | 43 +++++++ .../resources/nonuniqueservice_inner.composite | 42 +++++++ .../resources/nonuniqueservice_outer.composite | 32 ++++++ .../assembly/composite/CompositeTestCase.java | 128 ++++++++++++++++++++- 28 files changed, 893 insertions(+), 29 deletions(-) create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositecopy.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/dservicews.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/localcomponent.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite (limited to 'branches/sca-java-1.x/vtest/assembly/composite') diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java index a5cff3972b..506e79b793 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java @@ -25,7 +25,6 @@ public interface AService { public String getState(); public String getBProperty(); - public String getB2Property(); } diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java index 39d879e745..61b4293940 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java @@ -23,7 +23,6 @@ package org.apache.tuscany.sca.vtest.assembly.composite; */ public interface BService { - public String getState(); public String getSomeProperty(); } diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java index dd80c4dc6a..e8138091bb 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java @@ -18,11 +18,14 @@ */ 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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java index 359e8e2b78..a9d4a1c872 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java @@ -21,6 +21,8 @@ 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; @@ -31,19 +33,17 @@ public class AServiceImpl implements AService { protected BService b; @Reference - protected BService b2; + protected CService c; public String getState() { - return b.getState(); + return c.getState(); } public String getBProperty() { return b.getSomeProperty(); } - public String getB2Property() { - return b2.getSomeProperty(); - } + } diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java index 2c7123e00b..b651f21927 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java @@ -29,9 +29,6 @@ public class BServiceImpl implements BService { @Property protected String someProperty; - public String getState() { - return "SomeStateFromB"; - } public String getSomeProperty() { return someProperty; diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java index 2f091a8ef2..ae3d8ab557 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java @@ -22,10 +22,15 @@ 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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java b/branches/sca-java-1.x/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.x/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.x/vtest/assembly/composite/src/main/resources/composite.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/composite.composite index d533cb8dcf..88b8212c5e 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/composite.composite +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/composite.composite @@ -20,22 +20,12 @@ - - - - - - + name="Assemby-composite--Composite"> some b component value - - - - some b2 component value - - + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositecopy.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositecopy.composite new file mode 100644 index 0000000000..9956452116 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositecopy.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite new file mode 100644 index 0000000000..e9cf2710d3 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite new file mode 100644 index 0000000000..ccbdcefcf1 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/dservicews.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/dservicews.composite new file mode 100644 index 0000000000..2e05a862ff --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/dservicews.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/localcomponent.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/localcomponent.composite new file mode 100644 index 0000000000..b41bf6b9b9 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/localcomponent.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + some b component value + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite new file mode 100644 index 0000000000..5436e6b22a --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + some b component value + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite new file mode 100644 index 0000000000..261246dd1b --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference.composite new file mode 100644 index 0000000000..d6ec215eb5 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference.composite @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite new file mode 100644 index 0000000000..603061c7b0 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite new file mode 100644 index 0000000000..4b7a1e09fb --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + some b component value + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite new file mode 100644 index 0000000000..82a14e70dd --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + some b component value + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite new file mode 100644 index 0000000000..35a1724bdb --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java b/branches/sca-java-1.x/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java index c828ace15c..2734c59756 100644 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java @@ -21,6 +21,7 @@ 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; @@ -31,6 +32,8 @@ 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); @@ -39,18 +42,131 @@ public class CompositeTestCase { private void cleanupDomain() { System.out.println("Cleaning up"); ServiceFinder.cleanup(); - } + } + + /** + * ASM60001: + *

+ * A composite name must be unique within the namespace of the composite. + *

+ * 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: + *

+ * local="true" means that all the components must run in the same process. + *

+ * ASM60002: + *

+ * @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: + *

+ * name (required) – the name of the service, the name MUST BE unique across + * all the composite services in the composite. + *

+ * ASM60003: + *

+ * The name of a composite element MUST be unique across all the + * composite services in the composite. + *

+ * 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: + *

+ * A composite element's promote attribute MUST identify one of + * the component services within that composite. + *

+ * 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 nn-n: + * Lines 1512-1514: + *

+ * 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. + *

+ * ASM60005: + *

+ * 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. *

- * spec + * OSOA specification is the same with OASIS in this function. */ - @Test - public void composite1() throws Exception { - initDomain("composite.composite"); + @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: + *

+ * name (required) – the name of the reference. The name must be unique + * across all the composite references in the composite. + *

+ * ASM60006: + *

+ * name : NCName (1..1) - the name of the reference. The name of a composite + * element MUST be unique across all the composite references + * in the composite. + *

+ * 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(); } + + } -- cgit v1.2.3