summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:07:53 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:07:53 +0000
commit89d72264d0af4c65c9bf0b7a6f823f13d69162aa (patch)
treef6a4ea43b576d56a43adf10ccbed4cd75a9eb827 /sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main
parent6a3ca6736c808c1647854e405ef379b609f276db (diff)
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835127 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main')
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java34
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java33
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java31
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java28
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java28
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java28
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java30
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java30
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java30
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java26
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java50
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java54
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java33
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java37
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java111
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java34
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java41
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java32
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java37
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java26
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java42
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java105
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java107
-rw-r--r--sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/resources/service.composite82
24 files changed, 1089 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/AService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/BService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/CService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService1.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService2.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/DService3.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/EService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/FService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService1.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/GService2.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/HService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/IService.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AObject.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/AServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/BServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/CServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/DServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/EServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/FServiceImpl2.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/GServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/HServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/java/org/apache/tuscany/sca/vtest/javaapi/annotations/service/impl/IServiceImpl.java b/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/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/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/resources/service.composite b/sca-java-1.x/branches/sca-java-1.3/vtest/java-api/annotations/service/src/main/resources/service.composite
new file mode 100644
index 0000000000..0731986df2
--- /dev/null
+++ b/sca-java-1.x/branches/sca-java-1.3/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>