diff options
Diffstat (limited to '')
24 files changed, 1089 insertions, 0 deletions
diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java new file mode 100644 index 0000000000..a923faf5ae --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java @@ -0,0 +1,34 @@ +/* + * 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.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface AService { + + public String getName(); + + public String setAObject(AObject a); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java new file mode 100644 index 0000000000..26bcf3b9db --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java @@ -0,0 +1,33 @@ +/* + * 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.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; + +/** + * Simple Local Service + */ +public interface BService { + + public String getName(); + + public String setAObject(AObject a); + + public String testServices(); +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java new file mode 100644 index 0000000000..4f4f1e80c7 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/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.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; + +/** + * Simple Local Service without defining "@Service" at the implementation class + */ +public interface CService { + + public String getName(); + + public String setAObject(AObject a); +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java new file mode 100644 index 0000000000..ffabb3619c --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.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.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService1 { + + public String getName1(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java new file mode 100644 index 0000000000..83d7980dbc --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.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.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService2 { + + public String getName2(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java new file mode 100644 index 0000000000..a416e33de7 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.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.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface DService3 { + + public String getName3(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java new file mode 100644 index 0000000000..ad44d2b93a --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/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.javaapi.annotations.service; + +/** + * Simple Local Service which implementation class defines + * + * @Service() with no attributes + */ +public interface EService { + + public String getName(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java new file mode 100644 index 0000000000..52886131a1 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/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.javaapi.annotations.service; + +/** + * Simple Local Service which implementation class defines + * + * @Service with full package name + */ +public interface FService { + + public String getName(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java new file mode 100644 index 0000000000..bd1a3a5fe6 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.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.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface GService1 { + + public String getName(); + + public String getServiceName(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java new file mode 100644 index 0000000000..0f8c7dabcb --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java @@ -0,0 +1,26 @@ +/* + * 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.javaapi.annotations.service; + +/** + * Simple Local Service + */ +public interface GService2 extends GService1 { + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java new file mode 100644 index 0000000000..e50e230bd4 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java @@ -0,0 +1,50 @@ +/* + * 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.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface HService { + + public String getName(); + + public String setAObject1(AObject a); + + public String setAObject2(AObject a); + + public String getComponentName(); + + public String getAObject1String(); + + public String getAObject2String(); + + public String getAObject3String(); + + public AObject getAObject3(); + + public String getServiceName1(); + + public String getServiceName2(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java new file mode 100644 index 0000000000..e3a1462f88 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java @@ -0,0 +1,54 @@ +/* + * 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.javaapi.annotations.service; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AObject; +import org.osoa.sca.annotations.Remotable; + +/** + * Simple Remotable Service + */ +@Remotable +public interface IService { + + public String getName(); + + public String setAObject1(AObject a); + + public String setAObject2(AObject a); + + public void setComponentName1(String componentName1); + + public String getComponentName1(); + + public String getComponentName2(); + + public String getAObject1String(); + + public String getAObject2String(); + + public String getAObject3String(); + + public AObject getAObject3(); + + public String getServiceName1(); + + public String getServiceName2(); + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java new file mode 100644 index 0000000000..0ab2e29194 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java @@ -0,0 +1,33 @@ +/* + * 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.javaapi.annotations.service.impl; + +/** + * A simple object to hold a string + */ +public class AObject { + + public String aString; + + public AObject() { + this.aString = null; + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java new file mode 100644 index 0000000000..7ce2235719 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; +import org.osoa.sca.annotations.Service; + +@Service(AService.class) +public class AServiceImpl implements AService { + + public String getName() { + return "AService"; + } + + public String setAObject(AObject a) { + a.aString = "AService"; + return "AService"; + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java new file mode 100644 index 0000000000..9c3f15743c --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java @@ -0,0 +1,111 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.AService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.BService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; +import org.osoa.sca.annotations.Service; +import org.osoa.sca.annotations.Reference; + +@Service(BService.class) +public class BServiceImpl implements BService { + + @Reference(required=false) + public AService aService = null; + + @Reference(required=false) + public CService cService = null; + + @Reference(required=false) + public HService hService = null; + + @Reference(required=false) + public IService iService = null; + + public String getName() { + return "BService"; + } + + public String setAObject(AObject a) { + a.aString = "BService"; + return "BService"; + } + + public String testServices() { + + AObject a = new AObject(); + aService.setAObject(a); + if (a.aString != null) + return "AServiceNotPassByValue"; + + AObject c = new AObject(); + cService.setAObject(c); + if (c.aString == null || !c.aString.equals("CService")) + return "CServiceNotPassByReference"; + + + AObject h1 = new AObject(); + hService.setAObject1(h1); + if (h1.aString == null || !h1.aString.equals("HService")) + return "HServiceSetAObject1NotPassByReference"; + h1.aString = "testServices"; + if (!hService.getAObject1String().equals("testServices")) + return "HServiceGetAObject1NotPassByReference"; + + AObject h2 = new AObject(); + hService.setAObject2(h2); + if (h2.aString != null) + return "HServiceSetAObject2NotPassByValue"; + h2.aString = "testServices"; + if (!hService.getAObject2String().equals("HService")) + return "HServiceGetAObject1NotPassByValue"; + + AObject h3 = hService.getAObject3(); + h3.aString = "testServices"; + if (!hService.getAObject3String().equals("HService")) + return "HServiceGetAObject3NotPassByValue"; + + AObject i1 = new AObject(); + iService.setAObject1(i1); + if (i1.aString == null || !i1.aString.equals("IService")) + return "IServiceSetAObject1NotPassByReference"; + i1.aString = "testServices"; + if (!iService.getAObject1String().equals("testServices")) + return "IServiceGetAObject1NotPassByReference"; + + AObject i2 = new AObject(); + iService.setAObject2(i2); + if (i2.aString == null || !i2.aString.equals("IService")) + return "IServiceSetAObject2NotPassByReference"; + i2.aString = "testServices"; + if (!iService.getAObject2String().equals("testServices")) + return "IServiceGetAObject2NotPassByReference"; + + AObject i3 = iService.getAObject3(); + i3.aString = "testServices"; + if (!iService.getAObject3String().equals("testServices")) + return "IServiceGetAObject3NotPassByReference"; + + return "None"; + } +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java new file mode 100644 index 0000000000..3fc23d2f68 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java @@ -0,0 +1,34 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.CService; + +public class CServiceImpl implements CService { + + public String getName() { + return "CService"; + } + + public String setAObject(AObject a) { + a.aString = "CService"; + return "CService"; + } +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java new file mode 100644 index 0000000000..4cc9430c74 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java @@ -0,0 +1,41 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService1; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService2; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.DService3; +import org.osoa.sca.annotations.Service; + +@Service(interfaces = {DService1.class, DService2.class}) +public class DServiceImpl implements DService1, DService2, DService3 { + + public String getName1() { + return "DService1"; + } + + public String getName2() { + return "DService2"; + } + + public String getName3() { + return "DService3"; + } +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java new file mode 100644 index 0000000000..a64d434a46 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.EService; +import org.osoa.sca.annotations.Service; + +@Service() +public class EServiceImpl implements EService { + + public String getName() { + return "EService"; + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java new file mode 100644 index 0000000000..49f34738ef --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; + +@Service(org.apache.tuscany.sca.vtest.javaapi.annotations.service.FService.class) +public class FServiceImpl implements FService { + + @Context + public RequestContext requestContext; + + public String getName() { + return requestContext.getServiceName(); + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java new file mode 100644 index 0000000000..46370b7e19 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java @@ -0,0 +1,26 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.osoa.sca.annotations.Service; + +@Service(FServiceImpl2.class) +public class FServiceImpl2 extends FServiceImpl { +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java new file mode 100644 index 0000000000..a86d6e1da0 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java @@ -0,0 +1,42 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService1; +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.GService2; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Service; +import org.osoa.sca.RequestContext; + +@Service(interfaces = {GService1.class, GService2.class}) +public class GServiceImpl implements GService1 { + + @Context + public RequestContext requestContext; + + public String getName() { + return "GService"; + } + + public String getServiceName() { + return requestContext.getServiceName(); + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java new file mode 100644 index 0000000000..ac525ea669 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java @@ -0,0 +1,105 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.HService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.ComponentName; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; +import org.osoa.sca.annotations.AllowsPassByReference; + +@Service(HService.class) +@Scope("REQUEST") +public class HServiceImpl implements HService { + + @ComponentName + protected String componentName; + + private AObject aObject1 = null; + + private AObject aObject2 = null; + + private AObject aObject3 = null; + + public RequestContext requestContext; + + public ComponentContext componentContext; + + public String getName() { + return "HService"; + } + + @AllowsPassByReference + public String setAObject1(AObject a) { + a.aString = "HService"; + aObject1 = a; + return "HService"; + } + + public String setAObject2(AObject a) { + a.aString = "HService"; + aObject2 = a; + return "HService"; + } + + @Context + public void setComponentContext(ComponentContext componentContext) { + this.componentContext = componentContext; + } + + @Context + public void setRequestContext(RequestContext requestContext) { + this.requestContext = requestContext; + } + + public String getComponentName() { + return componentName; + } + + public String getAObject1String() { + return aObject1.aString; + } + + public String getAObject2String() { + return aObject2.aString; + } + + public String getAObject3String() { + return aObject3.aString; + } + + public AObject getAObject3() { + aObject3 = new AObject(); + aObject3.aString = "HService"; + return aObject3; + } + + public String getServiceName1() { + return requestContext.getServiceName(); + } + + public String getServiceName2() { + return componentContext.getRequestContext().getServiceName(); + } + +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java new file mode 100644 index 0000000000..f2760b96ab --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java @@ -0,0 +1,107 @@ +/* + * 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.javaapi.annotations.service.impl; + +import org.apache.tuscany.sca.vtest.javaapi.annotations.service.IService; +import org.osoa.sca.ComponentContext; +import org.osoa.sca.RequestContext; +import org.osoa.sca.annotations.AllowsPassByReference; +import org.osoa.sca.annotations.ComponentName; +import org.osoa.sca.annotations.Context; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; + +@Service(IService.class) +@Scope("REQUEST") +@AllowsPassByReference +public class IServiceImpl implements IService { + + @ComponentName + public String componentName1; + + public String componentName2; + + private AObject aObject1 = null; + + private AObject aObject2 = null; + + private AObject aObject3 = null; + + @Context + public RequestContext requestContext; + + @Context + public ComponentContext componentContext; + + public String getName() { + return "IService"; + } + + public String setAObject1(AObject a) { + a.aString = "IService"; + aObject1 = a; + return "IService"; + } + + public String setAObject2(AObject a) { + a.aString = "IService"; + aObject2 = a; + return "IService"; + } + + @ComponentName + public void setComponentName1(String componentName1) { + this.componentName2 = componentName1; + } + + public String getAObject1String() { + return aObject1.aString; + } + + public String getAObject2String() { + return aObject2.aString; + } + + public String getAObject3String() { + return aObject3.aString; + } + + public AObject getAObject3() { + aObject3 = new AObject(); + aObject3.aString = "IService"; + return aObject3; + } + + public String getComponentName1() { + return componentName1; + } + + public String getComponentName2() { + return componentName2; + } + + public String getServiceName1() { + return requestContext.getServiceName(); + } + + public String getServiceName2() { + return componentContext.getRequestContext().getServiceName(); + } +} diff --git a/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/resources/service.composite b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/resources/service.composite new file mode 100644 index 0000000000..0731986df2 --- /dev/null +++ b/tags/java/sca/1.5/vtest/java-api/annotations/service/src/main/resources/service.composite @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +--> +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://java-api-tests" name="Service-Composite"> + + <component name="AComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.AServiceImpl" /> + </component> + + <component name="BComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.BServiceImpl" /> + </component> + + <component name="BComponent1"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.BServiceImpl" /> + <reference name="aService" target="AComponent"/> + <reference name="cService" target="CComponent"/> + <reference name="hService" target="HComponent"/> + <reference name="iService" target="IComponent"/> + </component> + + <component name="CComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.CServiceImpl" /> + </component> + + <component name="DComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.DServiceImpl" /> + </component> + + <component name="EComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.EServiceImpl" /> + </component> + + <component name="FComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.FServiceImpl" /> + </component> + + <component name="FComponent2"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.FServiceImpl2" /> + </component> + + <component name="GComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.GServiceImpl" /> + </component> + + <component name="HComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.HServiceImpl" /> + </component> + + <component name="IComponent"> + <implementation.java + class="org.apache.tuscany.sca.vtest.javaapi.annotations.service.impl.IServiceImpl" /> + </component> + +</composite> |