From eed639ccf7fd95e0b31caf61787126e69592f207 Mon Sep 17 00:00:00 2001 From: ramkumar Date: Tue, 2 Dec 2008 11:17:24 +0000 Subject: Branch for 1.4 git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@722428 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/vtest/assembly/composite/AService.java | 30 ++++ .../sca/vtest/assembly/composite/BService.java | 28 ++++ .../sca/vtest/assembly/composite/CService.java | 31 ++++ .../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 | 49 ++++++ .../assembly/composite/impl/BServiceImpl.java | 37 +++++ .../assembly/composite/impl/CServiceImpl.java | 36 +++++ .../assembly/composite/impl/DServiceImpl.java | 31 ++++ .../assembly/composite/impl/EServiceImpl.java | 31 ++++ .../assembly/composite/impl/FServiceImpl.java | 46 ++++++ .../src/main/resources/composite.composite | 31 ++++ .../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 | 172 +++++++++++++++++++++ 28 files changed, 1169 insertions(+) create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/composite.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/dservicews.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite create mode 100644 branches/sca-java-1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java (limited to 'branches/sca-java-1.4/vtest/assembly/composite/src') 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 @@ + + + + + + + some b component value + + + + 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 @@ + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + some b component value + + + 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 @@ + + + + + + + + + + + + some b component value + + + + + + + + + + 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 @@ + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + some b component value + + + + + + + + + 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 @@ + + + + + + + + + + + some b component value + + + + + + + + + + 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 @@ + + + + + + + + + + + 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: + *

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

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

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