From 5f30d71d591702f1103c09d67b4dd9db63ca63bb Mon Sep 17 00:00:00 2001 From: slaws Date: Thu, 12 Mar 2009 09:51:29 +0000 Subject: TUSCANY-2884 - more composite vtests. Thanks for the patch Susan. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@752817 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/vtest/assembly/composite/CService.java | 2 +- .../sca/vtest/assembly/composite/CSubService.java | 30 ++ .../vtest/assembly/composite/CSuperService.java | 32 +++ .../vtest/assembly/composite/DLocalSubService.java | 30 ++ .../sca/vtest/assembly/composite/DService.java | 1 + .../assembly/composite/DServiceComponent.java | 4 + .../sca/vtest/assembly/composite/DSubService.java | 31 +++ .../vtest/assembly/composite/DSuperService.java | 32 +++ .../sca/vtest/assembly/composite/FService.java | 3 + .../assembly/composite/impl/CServiceImpl.java | 7 +- .../assembly/composite/impl/CSubServiceImpl.java | 37 +++ .../assembly/composite/impl/CSuperServiceImpl.java | 45 +++ .../assembly/composite/impl/DServiceImpl.java | 5 + .../assembly/composite/impl/DSubServiceImpl.java | 32 +++ .../assembly/composite/impl/DSuperServiceImpl.java | 43 +++ .../assembly/composite/impl/FServiceImpl.java | 8 +- .../src/main/resources/composite.composite | 7 +- .../src/main/resources/compositeb.composite | 31 +++ .../src/main/resources/compositec.composite | 32 +++ .../src/main/resources/compositecopy.composite | 4 +- .../main/resources/differentlocalwire.composite | 53 ++++ .../differentreferenceinterface_inner.composite | 42 +++ .../differentreferenceinterface_outer.composite | 37 +++ .../differentserviceinterface_inner.composite | 39 +++ .../differentserviceinterface_outer.composite | 32 +++ .../src/main/resources/nonpromote_outer.composite | 3 +- .../resources/nonreferencepromote_inner.composite | 38 +++ .../resources/nonreferencepromote_outer.composite | 44 +++ .../resources/nonservicepromote_inner.composite | 42 +++ .../resources/nonservicepromote_outer.composite | 31 +++ .../main/resources/nonuniquereference.composite | 59 ---- .../resources/nonuniquereference_inner.composite | 7 +- .../resources/nonuniquereference_outer.composite | 3 +- .../resources/nonuniqueservice_inner.composite | 5 +- .../resources/nonuniqueservice_outer.composite | 3 +- .../src/main/resources/reference_inner.composite | 34 +++ .../src/main/resources/reference_outer.composite | 42 +++ .../src/main/resources/service_inner.composite | 42 +++ .../src/main/resources/service_outer.composite | 32 +++ .../src/main/resources/subinterfacewire.composite | 53 ++++ .../subreferenceinterface_inner.composite | 43 +++ .../subreferenceinterface_outer.composite | 41 +++ .../resources/subserviceinterface_inner.composite | 39 +++ .../resources/subserviceinterface_outer.composite | 31 +++ .../composite/src/main/resources/wire.composite | 53 ++++ .../assembly/composite/CompositeTestCase.java | 308 +++++++++++++++++++-- 46 files changed, 1467 insertions(+), 105 deletions(-) create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSubService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSuperService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DLocalSubService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSubService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSuperService.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSubServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSuperServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSubServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSuperServiceImpl.java create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositeb.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositec.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentlocalwire.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_outer.composite delete 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/reference_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subinterfacewire.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_inner.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_outer.composite create mode 100644 branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/wire.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/CService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java index e8138091bb..6d2c7e5963 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 @@ -23,7 +23,7 @@ import org.osoa.sca.annotations.Remotable; /** * */ -public interface CService { +public interface CService extends CSubService{ 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/CSubService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSubService.java new file mode 100644 index 0000000000..8333d69c9e --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSubService.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; + +/** + * + */ +public interface CSubService { + + public String getState(); + +} diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSuperService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSuperService.java new file mode 100644 index 0000000000..7424fd215c --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CSuperService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite; + +import org.osoa.sca.annotations.Remotable; + +/** + * + */ +public interface CSuperService extends CService{ + + public String getState(); + public String getName(); + public String getString(); + +} diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DLocalSubService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DLocalSubService.java new file mode 100644 index 0000000000..7e61beec62 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DLocalSubService.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 Local service. + */ + +public interface DLocalSubService { + + public String getGreetings(String name); + public String getSomeProperty(); +} 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 index 097f80644b..3c41255657 100644 --- 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 @@ -27,4 +27,5 @@ import org.osoa.sca.annotations.Remotable; public interface DService { public String getGreetings(String name); + public String getSomeProperty(); } 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 index 623a8d650b..a32b72b7de 100644 --- 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 @@ -32,6 +32,10 @@ public class DServiceComponent implements DService { public String getGreetings(String name) { return helloWorldService.getGreetings(name); } + + public String getSomeProperty() { + return helloWorldService.getSomeProperty(); + } public DService getHelloWorldService() { return helloWorldService; diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSubService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSubService.java new file mode 100644 index 0000000000..4a87abb98a --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSubService.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; + +/** + * Simple Remotable service. + */ +@Remotable +public interface DSubService { + + //public String getGreetings(String name); + public String getSomeProperty(); +} diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSuperService.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSuperService.java new file mode 100644 index 0000000000..95e7e1ef75 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DSuperService.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite; + +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable service. + */ +@Remotable +public interface DSuperService { + + public String getGreetings(String name); + public String getSomeProperty(); + public String getString(); +} 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 index d52afacf77..5b67c87ee1 100644 --- 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 @@ -18,9 +18,12 @@ */ package org.apache.tuscany.sca.vtest.assembly.composite; +import org.osoa.sca.annotations.Remotable; + /** * Simple Remotable Service */ +@Remotable public interface FService { 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/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 ae3d8ab557..3c23e3887a 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 @@ -19,7 +19,12 @@ package org.apache.tuscany.sca.vtest.assembly.composite.impl; -public class CServiceImpl { +import org.osoa.sca.annotations.Service; +import org.apache.tuscany.sca.vtest.assembly.composite.CService; + +@Service(CService.class) + +public class CServiceImpl implements CService{ private String state = "Some State"; private String name = "CServiceImpl"; diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSubServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSubServiceImpl.java new file mode 100644 index 0000000000..e307302395 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSubServiceImpl.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.osoa.sca.annotations.Service; +import org.apache.tuscany.sca.vtest.assembly.composite.CSubService; + +@Service(CSubService.class) + +public class CSubServiceImpl implements CSubService{ + + private String state = "Some State"; + + public String getState() { + return state; + } + + +} + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSuperServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSuperServiceImpl.java new file mode 100644 index 0000000000..77b8dbc526 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CSuperServiceImpl.java @@ -0,0 +1,45 @@ +/* + * 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.osoa.sca.annotations.Service; +import org.apache.tuscany.sca.vtest.assembly.composite.CSuperService; + +@Service(CSuperService.class) + +public class CSuperServiceImpl implements CSuperService{ + + private String state = "Some State"; + private String name = "CServiceImpl"; + + public String getState() { + return state; + } + + public String getName() { + return name; + } + + public String getString() { + 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 index 603ff7646c..6d683be9f7 100644 --- 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 @@ -27,5 +27,10 @@ public class DServiceImpl implements DService { public String getGreetings(String name) { return "Hello, " + name; } + + public String getSomeProperty() + { + return "DProperty"; + } } diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSubServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSubServiceImpl.java new file mode 100644 index 0000000000..e1ee25c88b --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSubServiceImpl.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.vtest.assembly.composite.impl; + +import org.apache.tuscany.sca.vtest.assembly.composite.DSubService; +import org.osoa.sca.annotations.Service; + +@Service(DSubService.class) +public class DSubServiceImpl implements DSubService { + + public String getSomeProperty() + { + return "DProperty"; + } + +} diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSuperServiceImpl.java b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSuperServiceImpl.java new file mode 100644 index 0000000000..a030170fb5 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DSuperServiceImpl.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.impl; + + +import org.apache.tuscany.sca.vtest.assembly.composite.DSuperService; +import org.osoa.sca.annotations.Service; + +@Service(DSuperService.class) +public class DSuperServiceImpl implements DSuperService { + + public String getGreetings(String name) { + return "Hello, " + name; + } + + public String getSomeProperty() + { + return "DProperty"; + } + + public String getString() { + // TODO Auto-generated method stub + return "DSuperServiceImpl"; + } + +} 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 index f7ae2fd562..262f46b40a 100644 --- 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 @@ -20,7 +20,7 @@ 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.CService; import org.apache.tuscany.sca.vtest.assembly.composite.DService; import org.osoa.sca.annotations.Reference; import org.osoa.sca.annotations.Service; @@ -29,17 +29,17 @@ import org.osoa.sca.annotations.Service; public class FServiceImpl implements FService { @Reference - protected EService e; + protected CService c; @Reference protected DService d; public String getString(String a) { - return e.getString(a); + return c.getState(); } public String getGreetings(String name) { - return d.getGreetings(name); + return d.getSomeProperty(); } } 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 88b8212c5e..72b511232f 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,12 +20,11 @@ + name="Assembly-composite--Composite"> some b component value - - - + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositeb.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositeb.composite new file mode 100644 index 0000000000..694e9917a7 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositeb.composite @@ -0,0 +1,31 @@ + + + + + + + some b component value + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositec.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositec.composite new file mode 100644 index 0000000000..e5588cb9f9 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/compositec.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + + 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 index 9956452116..a01b897dcf 100644 --- 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 @@ -20,11 +20,11 @@ + name="Assembly-composite--Composite"> - + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentlocalwire.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentlocalwire.composite new file mode 100644 index 0000000000..c418f912ce --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentlocalwire.composite @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_inner.composite new file mode 100644 index 0000000000..038702720f --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_inner.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_outer.composite new file mode 100644 index 0000000000..43fb488282 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentreferenceinterface_outer.composite @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_inner.composite new file mode 100644 index 0000000000..a46d21c9a7 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_inner.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_outer.composite new file mode 100644 index 0000000000..a16b71cb68 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/differentserviceinterface_outer.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + 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 index 261246dd1b..642e558b9c 100644 --- 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 @@ -28,5 +28,4 @@ - - + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_inner.composite new file mode 100644 index 0000000000..4166666536 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_inner.composite @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_outer.composite new file mode 100644 index 0000000000..61183d26cc --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonreferencepromote_outer.composite @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + some b component value + + + + + + + + + diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_inner.composite new file mode 100644 index 0000000000..5e68c0c675 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_inner.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + some b component value + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_outer.composite new file mode 100644 index 0000000000..3dcaf9e2e7 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonservicepromote_outer.composite @@ -0,0 +1,31 @@ + + + + + + + + + + \ No newline at end of file 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 deleted file mode 100644 index d6ec215eb5..0000000000 --- a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/nonuniquereference.composite +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 index 603061c7b0..938c499910 100644 --- 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 @@ -30,10 +30,5 @@ - - - + \ No newline at end of file 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 index 4b7a1e09fb..5e4a513fc9 100644 --- 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 @@ -39,5 +39,4 @@ - - + \ No newline at end of file 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 index 82a14e70dd..53f61fbf8c 100644 --- 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 @@ -25,7 +25,6 @@ - @@ -34,9 +33,9 @@ - + - + \ No newline at end of file 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 index 35a1724bdb..7babfcec1f 100644 --- 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 @@ -28,5 +28,4 @@ - - + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_inner.composite new file mode 100644 index 0000000000..81dc49f96e --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_inner.composite @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_outer.composite new file mode 100644 index 0000000000..c215dc0a5c --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/reference_outer.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + + + some b component value + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_inner.composite new file mode 100644 index 0000000000..f2595c9798 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_inner.composite @@ -0,0 +1,42 @@ + + + + + + + + + + + some b component value + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_outer.composite new file mode 100644 index 0000000000..e8120025fa --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/service_outer.composite @@ -0,0 +1,32 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subinterfacewire.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subinterfacewire.composite new file mode 100644 index 0000000000..9b3d773b73 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subinterfacewire.composite @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_inner.composite new file mode 100644 index 0000000000..0c35b9348a --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_inner.composite @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_outer.composite new file mode 100644 index 0000000000..62e712f533 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subreferenceinterface_outer.composite @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + some b component value + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_inner.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_inner.composite new file mode 100644 index 0000000000..ac63024161 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_inner.composite @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_outer.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_outer.composite new file mode 100644 index 0000000000..df2c01429e --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/subserviceinterface_outer.composite @@ -0,0 +1,31 @@ + + + + + + + + + + \ No newline at end of file diff --git a/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/wire.composite b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/wire.composite new file mode 100644 index 0000000000..7eac450d23 --- /dev/null +++ b/branches/sca-java-1.x/vtest/assembly/composite/src/main/resources/wire.composite @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file 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 77f800ad33..c47896437e 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 @@ -44,6 +44,24 @@ public class CompositeTestCase { ServiceFinder.cleanup(); } + /** + * ASM60001: + *

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

+ * OSOA specification doesn't have such requirement. + */ + @Test + public void ASM60001_p() throws Exception { + SCADomain domain = SCADomain.newInstance(LOCAL_DOMAIN_URI, "/", "compositeb.composite", "compositec.composite"); + BService bService = domain.getService(BService.class, "BComponent"); + Assert.assertEquals("some b component value", bService.getSomeProperty()); + CService cService = domain.getService(CService.class, "CComponent"); + Assert.assertEquals("Some State", cService.getState()); + domain.close(); + domain = null; + } + /** * ASM60001: *

@@ -52,7 +70,7 @@ public class CompositeTestCase { * OSOA specification doesn't have such requirement. */ @Test(expected = ServiceRuntimeException.class) - public void ASM60001() throws Exception { + public void ASM60001_n() throws Exception { SCADomain domain = SCADomain.newInstance(LOCAL_DOMAIN_URI, "/", "composite.composite", "compositecopy.composite"); domain.getService(BService.class, "BComponent"); @@ -60,20 +78,22 @@ public class CompositeTestCase { domain.close(); domain = null; } - + /** * Lines 1036-1037: *

- * local="true" means that all the components must run in the same process. + * 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 - * + * @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 OSOA specification is the + * same with OASIS in this function. */ - @Test//(expected = ServiceRuntimeException.class) + @Ignore("This feature hasn't been implemented by tuscany yet.") + @Test public void ASM60002() throws Exception { initDomain("localcomponent.composite"); DService dservice = ServiceFinder.getService(DService.class, "DServiceComponent"); @@ -82,6 +102,29 @@ public class CompositeTestCase { 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 + public void ASM60003_p() throws Exception { + initDomain("service_outer.composite"); + CService cService = ServiceFinder.getService(CService.class, "TestServiceComponent/CService"); + Assert.assertEquals("Some State", cService.getState()); + BService bService = ServiceFinder.getService(BService.class, "TestServiceComponent/BService"); + Assert.assertEquals("some b component value", bService.getSomeProperty()); + cleanupDomain(); + } + /** * Lines 1498-1499: *

@@ -96,12 +139,30 @@ public class CompositeTestCase { * OSOA specification is the same with OASIS in this function. */ @Test(expected = ServiceRuntimeException.class) - public void ASM60003() throws Exception { + public void ASM60003_n() 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(); + 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 + public void ASM60004_p() throws Exception { + initDomain("service_outer.composite"); + CService cService = ServiceFinder.getService(CService.class, "TestServiceComponent/CService"); + Assert.assertEquals("Some State", cService.getState()); + BService bService = ServiceFinder.getService(BService.class, "TestServiceComponent/BService"); + Assert.assertEquals("some b component value", bService.getSomeProperty()); cleanupDomain(); } @@ -114,12 +175,36 @@ public class CompositeTestCase { * OSOA specification doesn't have such requirement. */ @Test(expected = ServiceRuntimeException.class) - public void ASM60004() throws Exception { - initDomain("nonpromote_outer.composite"); + public void ASM60004_n() throws Exception { + initDomain("nonservicepromote_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 + public void ASM60005_p() throws Exception { + initDomain("subserviceinterface_outer.composite"); + CSubService cService = ServiceFinder.getService(CSubService.class, "SubInterfaceComponent/SubInterfaceService"); + Assert.assertEquals("Some State", cService.getState()); + cleanupDomain(); + } + /** * Lines 1512-1514: *

@@ -137,9 +222,10 @@ public class CompositeTestCase { * 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"); + public void ASM60005_n() throws Exception { + initDomain("differentserviceinterface_outer.composite"); + BService service = + ServiceFinder.getService(BService.class, "DifferentInterfaceComponent/DifferentInterfaceService"); service.getSomeProperty(); cleanupDomain(); } @@ -148,7 +234,30 @@ public class CompositeTestCase { * Lines 1325-1327: *

* name (required) – the name of the reference. The name must be unique - * across all the composite references in the composite. + * 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. + */ + @Test + public void ASM60006_p() throws Exception { + initDomain("reference_outer.composite"); + AService aService = ServiceFinder.getService(AService.class, "TestReferenceComponent/AService"); + Assert.assertEquals("some b component value", aService.getBProperty()); + Assert.assertEquals("Some State", aService.getState()); + 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: *

@@ -158,9 +267,8 @@ public class CompositeTestCase { *

* OSOA specification is the same with OASIS in this function. */ - @Ignore("TUSCANY-2701") @Test(expected = ServiceRuntimeException.class) - public void ASM60006() throws Exception { + public void ASM60006_n() throws Exception { initDomain("nonuniquereference_outer.composite"); AService service = ServiceFinder.getService(AService.class, "TestNonUniqueReferenceComponent/AService"); service.getBProperty(); @@ -168,5 +276,167 @@ public class CompositeTestCase { cleanupDomain(); } + /** + * ASM60007: + *

+ * Each of the URIs declared by a composite reference's @promote attribute + * MUST identify a component reference within the composite. + *

+ * OSOA specification doesn't have such requirement. + */ + @Ignore("TUSCANY-2762") + @Test(expected = ServiceRuntimeException.class) + public void ASM60007_n() throws Exception { + initDomain("nonreferencepromote_outer.composite"); + AService service = ServiceFinder.getService(AService.class, "TestNonPromoteComponent"); + service.getState(); + cleanupDomain(); + } + + /** + * ASM60007: + *

+ * Each of the URIs declared by a composite reference's @promote attribute + * MUST identify a component reference within the composite. + *

+ * OSOA specification doesn't have such requirement. + */ + @Test + public void ASM60007_p() throws Exception { + initDomain("reference_outer.composite"); + AService aService = ServiceFinder.getService(AService.class, "TestReferenceComponent/AService"); + Assert.assertEquals("some b component value", aService.getBProperty()); + Assert.assertEquals("Some State", aService.getState()); + } + + /** + * ASM60008: + *

+ * The interfaces of the component references promoted by a composite + * reference MUST be the same, or if the composite reference itself declares + * an interface then all the component reference interfaces must be + * compatible with the composite reference interface. Compatible means that + * the component reference interface is the same or is a strict subset of + * the composite reference interface. + *

+ * OSOA specification doesn't have such requirement. + */ + @Ignore("TUSCANY-2766,TUSCANY-2883") + @Test + public void ASM60008_n() throws Exception { + initDomain("differentreferenceinterface_outer.composite"); + AService service = ServiceFinder.getService(AService.class, "DifferentInterfaceComponent/AService"); + System.out.println(service.getState()); + cleanupDomain(); + } + + /** + * ASM60008: + *

+ * The interfaces of the component references promoted by a composite + * reference MUST be the same, or if the composite reference itself declares + * an interface then all the component reference interfaces must be + * compatible with the composite reference interface. Compatible means that + * the component reference interface is the same or is a strict subset of + * the composite reference interface. + *

+ * OSOA specification doesn't have such requirement. + */ + @Test + public void ASM60008_p() throws Exception { + initDomain("subreferenceinterface_outer.composite"); + AService service = ServiceFinder.getService(AService.class, "SubReferenceInterfaceComponent/AService"); + Assert.assertEquals("some b component value", service.getBProperty()); + Assert.assertEquals("Some State", service.getState()); + cleanupDomain(); + } + + /** + * Lines 1637-1638: + *

+ * the source interface and the target interface MUST either both be + * remotable or they are both local + *

+ * ASM60015: + *

+ * the source interface and the target interface of a wire MUST either both + * be remotable or else both be local + *

+ * OSOA specification is the same with OASIS in this function. + */ + @Test + public void ASM60015_p() throws Exception { + initDomain("wire.composite"); + FService fservice = ServiceFinder.getService(FService.class, "FComponent"); + Assert.assertEquals("DProperty", fservice.getGreetings("")); + Assert.assertEquals("Some State", fservice.getString("")); + cleanupDomain(); + } + + /** + * Lines 1637-1638: + *

+ * the source interface and the target interface MUST either both be + * remotable or they are both local + *

+ * ASM60015: + *

+ * the source interface and the target interface of a wire MUST either both + * be remotable or else both be local + *

+ * OSOA specification is the same with OASIS in this function. + */ + @Ignore("TUSCANY-2844") + @Test + public void ASM60015_n() throws Exception { + initDomain("differentlocalwire.composite"); + FService fservice = ServiceFinder.getService(FService.class, "FComponent"); + Assert.assertEquals("DProperty", fservice.getGreetings("")); + Assert.assertEquals("Some State", fservice.getString("")); + cleanupDomain(); + } + + /** + * Lines 1639-1640: + *

+ * the operations on the target interface of a wire MUST be the same as or + * be a superset of the operations in the interface specified on the source + * ASM60016: + *

+ * the operations on the target interface of a wire MUST be the same as or + * be a superset of the operations in the interface specified on the source + *

+ * OSOA specification is the same with OASIS in this function. + */ + @Ignore("TUSCANY-2843") + @Test + public void ASM60016_n() throws Exception { + initDomain("subinterfacewire.composite"); + FService fservice = ServiceFinder.getService(FService.class, "FComponent"); + Assert.assertEquals("DProperty", fservice.getGreetings("")); + Assert.assertEquals("Some State", fservice.getString("")); + cleanupDomain(); + } + /** + * Lines 1639-1640: + *

+ * the operations on the target interface of a wire MUST be the same as or + * be a superset of the operations in the interface specified on the source + * ASM60016: + *

+ * the operations on the target interface of a wire MUST be the same as or + * be a superset of the operations in the interface specified on the source + *

+ * OSOA specification is the same with OASIS in this function. + */ + @Test + public void ASM60016_p() throws Exception { + initDomain("wire.composite"); + FService fservice = ServiceFinder.getService(FService.class, "FComponent"); + Assert.assertEquals("DProperty", fservice.getGreetings("")); + Assert.assertEquals("Some State", fservice.getString("")); + cleanupDomain(); + } + } -- cgit v1.2.3