summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/1.4/vtest/assembly
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:26:33 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-11 23:26:33 +0000
commita40e527938d76ba71f211da7e327adb50384ba69 (patch)
treecb8f99f1727122b040a3f0fbb6649292b6a74302 /sca-java-1.x/tags/1.4/vtest/assembly
parent968721109881107520d7aefa91d7fcc0519d7739 (diff)
Moving 1.x tags
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835157 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-1.x/tags/1.4/vtest/assembly')
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/pom.xml49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java29
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java28
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/DService.java29
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EEService.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EService.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.componentType32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.java51
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java40
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.componentType31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.java29
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.componentType31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.java38
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/component.composite41
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniquename.composite33
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomponenttype.composite29
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomposite.composite47
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notcompatibleinterface.composite38
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notmatchofservicename.composite36
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/serviceelement.composite42
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithbinding.composite33
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithinterface.composite32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zerocomponents.composite26
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zeroimplelements.composite38
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java230
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/pom.xml49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java28
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java43
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java37
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java36
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java46
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/composite.composite31
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite39
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/dservicews.composite33
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite39
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite43
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite59
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite39
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite43
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite42
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite32
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java172
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/pom.xml49
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java29
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java53
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java37
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType30
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType28
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/typefile.composite40
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java111
-rw-r--r--sca-java-1.x/tags/1.4/vtest/assembly/pom.xml70
67 files changed, 2880 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/pom.xml b/sca-java-1.x/tags/1.4/vtest/assembly/component/pom.xml
new file mode 100644
index 0000000000..6b9ccaf4e4
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/pom.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>vtest-assembly</artifactId>
+ <version>1.4</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>vtest-assembly-component</artifactId>
+
+ <name>Apache Tuscany SCA vTest SCA Assembly Verification Tests - Component</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.4</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+
+</project>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java
new file mode 100644
index 0000000000..592020c180
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/AService.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ * Simple Remotable Service
+ */
+public interface AService {
+
+ public String getState();
+ public String getBProperty();
+ public String getB2Property();
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java
new file mode 100644
index 0000000000..0d95c8e4b8
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/BService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ * Simple Service
+ */
+public interface BService {
+
+ public String getState();
+ public String getSomeProperty();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
new file mode 100644
index 0000000000..c979c57f31
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ *
+ */
+public interface CService {
+
+ public String getState();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/DService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/DService.java
new file mode 100644
index 0000000000..f5832aa7ce
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/DService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ * simple service
+ */
+public interface DService {
+
+ public String sayHello();
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EEService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EEService.java
new file mode 100644
index 0000000000..87de618ad3
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EEService.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ * simple service
+ *
+ */
+public interface EEService {
+
+ public String method1() ;
+
+ public String method3() ;
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EService.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EService.java
new file mode 100644
index 0000000000..5d3bbb26c3
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/EService.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+/**
+ * simple service
+ *
+ */
+public interface EService {
+
+ public String method1() ;
+
+ public String method2() ;
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.componentType b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.componentType
new file mode 100644
index 0000000000..7cc63afee1
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.componentType
@@ -0,0 +1,32 @@
+<?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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
+
+
+ <service name="AService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.AService"/>
+ </service>
+
+ <service name="AService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.BService"/>
+ </service>
+
+
+</componentType> \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.java
new file mode 100644
index 0000000000..98f0291be3
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/ABServiceImpl.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.component.AService;
+import org.apache.tuscany.sca.vtest.assembly.component.BService;
+import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+/**
+ * service implementation of AService and BService
+ *
+ */
+@Service(interfaces={AService.class, BService.class})
+public class ABServiceImpl implements AService, BService{
+
+ public String getState() {
+ return "OK";
+ }
+
+ public String getBProperty() {
+ return "";
+ }
+
+ public String getB2Property() {
+ return "";
+ }
+
+
+ public String getSomeProperty() {
+ return "SomeProperty";
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java
new file mode 100644
index 0000000000..8c0d08d052
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/AServiceImpl.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.component.AService;
+import org.apache.tuscany.sca.vtest.assembly.component.BService;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+@Service(AService.class)
+public class AServiceImpl implements AService {
+
+ @Reference
+ protected BService b;
+
+ @Reference
+ protected BService b2;
+
+ public String getState() {
+ return b.getState();
+ }
+
+ public String getBProperty() {
+ return b.getSomeProperty();
+ }
+
+ public String getB2Property() {
+ return b2.getSomeProperty();
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java
new file mode 100644
index 0000000000..424e245fea
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/BServiceImpl.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.component.BService;
+import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Service;
+
+@Service(BService.class)
+public class BServiceImpl implements BService {
+
+ @Property
+ protected String someProperty;
+
+ public String getState() {
+ return "SomeStateFromB";
+ }
+
+ public String getSomeProperty() {
+ return someProperty;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
new file mode 100644
index 0000000000..b2b420ed6a
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+public class CServiceImpl {
+
+ private String state = "Some State";
+
+ public String getState() {
+ return state;
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.componentType b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.componentType
new file mode 100644
index 0000000000..899f84b2dd
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.componentType
@@ -0,0 +1,31 @@
+<?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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
+
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.DServiceImpl"/>
+
+ <service name="DService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.DService"/>
+ </service>
+
+
+
+
+</componentType> \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.java
new file mode 100644
index 0000000000..fce89b7bb9
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/DServiceImpl.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+public class DServiceImpl {
+
+ public String sayHello() {
+ return "hello";
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.componentType b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.componentType
new file mode 100644
index 0000000000..86a7be9cc0
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.componentType
@@ -0,0 +1,31 @@
+<?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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
+
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.EServiceImpl"/>
+
+ <service name="EEService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.EService"/>
+ </service>
+
+
+
+
+</componentType> \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.java
new file mode 100644
index 0000000000..4adb361ee5
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/EServiceImpl.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.component.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.component.EService;
+import org.osoa.sca.annotations.Service;
+
+
+@Service(EService.class)
+public class EServiceImpl {
+
+ public String method1() {
+
+ return "method1" ;
+ }
+
+ public String method2() {
+
+ return "method2" ;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/component.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/component.composite
new file mode 100644
index 0000000000..bb452feac9
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/component.composite
@@ -0,0 +1,41 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component--Composite">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.AServiceImpl"/>
+ <reference name="b" target="BComponent"/>
+ <reference name="b2" target="B2Component"/>
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+ <component name="B2Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b2 component value</property>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniquename.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniquename.composite
new file mode 100644
index 0000000000..3019542091
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniquename.composite
@@ -0,0 +1,33 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-non-unique-name--Composite">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.AServiceImpl"/>
+ </component>
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomponenttype.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomponenttype.composite
new file mode 100644
index 0000000000..0f859f908f
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomponenttype.composite
@@ -0,0 +1,29 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component--Composite">
+
+ <component name="ABComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.ABServiceImpl"/>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomposite.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomposite.composite
new file mode 100644
index 0000000000..00f3d00a2d
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/nonuniqueservicenameincomposite.composite
@@ -0,0 +1,47 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-servicewithinterface-Composite">
+
+
+ <component name="CDComponent">
+
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.CServiceImpl"/>
+
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.CService"/>
+ </service>
+
+
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.DService"/>
+
+ </service>
+
+
+
+
+
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notcompatibleinterface.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notcompatibleinterface.composite
new file mode 100644
index 0000000000..b4d2abc011
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notcompatibleinterface.composite
@@ -0,0 +1,38 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-servicewithinterface-Composite">
+
+ <component name="EEComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.EServiceImpl"/>
+
+
+ <service name="EEService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.EEService"/>
+
+ </service>
+
+
+
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notmatchofservicename.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notmatchofservicename.composite
new file mode 100644
index 0000000000..7d49f8baf1
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/notmatchofservicename.composite
@@ -0,0 +1,36 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-servicewithinterface-Composite">
+
+ <component name="DComponent1">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.DServiceImpl"/>
+
+ <service name="DService1">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.DService"/>
+
+ </service>
+
+
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/serviceelement.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/serviceelement.composite
new file mode 100644
index 0000000000..9460f5a2e1
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/serviceelement.composite
@@ -0,0 +1,42 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component--Composite">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.AServiceImpl"/>
+ <reference name="b" target="BComponent"/>
+ <reference name="b2" target="B2Component"/>
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ <service name="BService"/>
+ </component>
+
+ <component name="B2Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b2 component value</property>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithbinding.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithbinding.composite
new file mode 100644
index 0000000000..085d84f40e
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithbinding.composite
@@ -0,0 +1,33 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-servicewithbinding-Composite">
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.CService"/>
+ <binding.sca/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithinterface.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithinterface.composite
new file mode 100644
index 0000000000..cc915fbde5
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/servicewithinterface.composite
@@ -0,0 +1,32 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-servicewithinterface-Composite">
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.component.CService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zerocomponents.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zerocomponents.composite
new file mode 100644
index 0000000000..6f02d7e941
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zerocomponents.composite
@@ -0,0 +1,26 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-zero-components-Composite">
+
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zeroimplelements.composite b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zeroimplelements.composite
new file mode 100644
index 0000000000..8629f3817a
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/main/resources/zeroimplelements.composite
@@ -0,0 +1,38 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-zeroimplelements-Composite">
+
+ <component name="AComponent">
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+ <component name="B2Component">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.component.impl.BServiceImpl"/>
+ <property name="someProperty">some b2 component value</property>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java
new file mode 100644
index 0000000000..2d245d10a8
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.component;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ *
+ */
+public class ComponentTestCase {
+
+ private void initDomain(String compositePath) {
+ System.out.println("Setting up");
+
+ ServiceFinder.init(compositePath);
+ }
+
+ private void cleanupDomain() {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+
+
+
+ /**
+ * Lines 92-96:
+ * <p>
+ * Components are configured instances of implementations. Components
+ * provide and consume services. More than one component can use and
+ * configure the same implementation, where each component configures the
+ * implementation differently.
+ */
+ @Test
+ public void components1() throws Exception {
+ initDomain("component.composite");
+ AService service = ServiceFinder.getService(AService.class, "AComponent/AService");
+ Assert.assertEquals("some b component value", service.getBProperty());
+ Assert.assertEquals("some b2 component value", service.getB2Property());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 96-97:
+ * <p>
+ * There can be zero or more component elements within a composite.
+ */
+ @Test
+ public void components2() throws Exception {
+ initDomain("zerocomponents.composite");
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 142-143:
+ * <p>
+ * name (required) ?the name of the component. The name must be unique
+ * across all the components in the composite.
+ */
+ @Test(expected = ServiceRuntimeException.class)
+ //@Ignore("TUSCANY-2455")
+ public void components3() throws Exception {
+ initDomain("nonuniquename.composite");
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 154-158:
+ * <p>
+ * A component element has zero or one implementation element as its child,
+ * which points to the implementation used by the component. A component
+ * with no implementation element is not runnable, but components of this
+ * kind may be useful during a "top-down" development process as a means of
+ * defining the characteristics required of the implementation before the
+ * implementation is written.
+ */
+ @Test
+ public void components4() throws Exception {
+ initDomain("zeroimplelements.composite");
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 159-160:
+ * <p>
+ * The component element can have zero or more service elements as children
+ * which are used to configure the services of the component.
+ */
+ @Test
+ public void components5() throws Exception {
+ initDomain("serviceelement.composite");
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 174-179:
+ * <p>
+ * A service has zero or one interface, which describes the operations
+ * provided by the service. The interface is described by an interface
+ * element which is a child element of the service element. If no interface
+ * is specified, then the interface specified for the service by the
+ * implementation is in effect. If an interface is specified it must provide
+ * a compatible subset of the interface provided by the implementation, i.e.
+ * provide a subset of the operations defined by the implementation for the
+ * service.
+ */
+ @Test
+ public void components6() throws Exception {
+ initDomain("servicewithinterface.composite");
+ CService service = ServiceFinder.getService(CService.class, "CComponent");
+ Assert.assertEquals("Some State", service.getState());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 180-182:
+ * <p>
+ * A service element has one or more binding elements as children. If no
+ * bindings are specified, then the bindings specified for the service by
+ * the implementation are in effect. If bindings are specified, then those
+ * bindings override the bindings specified by the implementation.
+ */
+ @Test
+ public void components7() throws Exception {
+ initDomain("servicewithbinding.composite");
+ CService service = ServiceFinder.getService(CService.class, "CComponent");
+ Assert.assertEquals("Some State", service.getState());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 599-601:
+ * <p>
+ * ASM50001
+ * <p>
+ * The @name attribute of a <service/> child element of a <componentType/> MUST
+ * be unique amongst the service elements of that <componentType/>
+ *
+ */
+ @Test(expected=ServiceRuntimeException.class)
+ @Ignore("TUSCANY-2675")
+ public void ASM50001() throws Exception {
+ initDomain("nonuniqueservicenameincomponenttype.composite");
+ AService service = ServiceFinder.getService(AService.class, "ABComponent/AService");
+ Assert.assertEquals("OK", service.getState());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 695-697:
+ * <p>
+ * ASM50002
+ * <p>
+ * The @name attribute of a service element of a <component/> MUST be unique amongst
+ * the service elements of that <component/>
+ *
+ */
+ @Test(expected=ServiceRuntimeException.class)
+ public void ASM50002() throws Exception {
+ initDomain("nonuniqueservicenameincomposite.composite");
+ DService service = ServiceFinder.getService(DService.class, "CDComponent/CServiceImpl");
+ Assert.assertEquals("hello", service.sayHello());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 697-699:
+ * <p>
+ * ASM50003
+ * <p>
+ * OSOA
+ * The @name attribute of a service element of a <component/> MUST match the
+ * @name attribute of a service element of the componentType of the <implementation/> child element of the component.
+ * <p>
+ * OASIS
+ * the name of the service has to match a name of a service defined by the implementation
+ *
+ */
+ @Test(expected=ServiceRuntimeException.class)
+ public void ASM50003() throws Exception {
+ initDomain("notmatchofservicename.composite");
+ DService service = ServiceFinder.getService(DService.class, "DComponent1/DService1");
+ Assert.assertEquals("hello", service.sayHello());
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 709-715:
+ * <p>
+ * ASM50004
+ * <p>
+ * If a <service/> element has an interface subelement specified, the interface MUST
+ * provide a compatible subset of the interface declared on the componentType of the
+ * implementation.
+ */
+ @Test(expected=ServiceRuntimeException.class)
+ public void ASM50004() throws Exception {
+ //for this case, if you remove the method3() in the EEService
+ //the EEService will be a compatible subset of EService.
+ initDomain("notcompatibleinterface.composite");
+ EEService service = ServiceFinder.getService(EEService.class, "EEComponent/EEService");
+ Assert.assertEquals("method1", service.method1());
+ cleanupDomain();
+ }
+
+
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/pom.xml b/sca-java-1.x/tags/1.4/vtest/assembly/composite/pom.xml
new file mode 100644
index 0000000000..96e13e8e8c
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/pom.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>vtest-assembly</artifactId>
+ <version>1.4</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>vtest-assembly-composite</artifactId>
+
+ <name>Apache Tuscany SCA vTest SCA Assembly Verification Tests - Composite</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.4</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+
+</project>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java
new file mode 100644
index 0000000000..506e79b793
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/AService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+/**
+ * Simple Remotable Service
+ */
+public interface AService {
+
+ public String getState();
+ public String getBProperty();
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java
new file mode 100644
index 0000000000..61b4293940
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/BService.java
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+/**
+ * Simple Service
+ */
+public interface BService {
+
+ public String getSomeProperty();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java
new file mode 100644
index 0000000000..e8138091bb
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/CService.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ *
+ */
+public interface CService {
+
+ public String getState();
+ public String getName();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java
new file mode 100644
index 0000000000..058726dbd7
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServer.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * This server program shows how to create an SCA runtime, and start it which
+ * activates the helloworld Web service endpoint.
+ */
+public class DServer {
+
+ public static void main(String[] args) {
+
+
+ SCADomain scaDomain = SCADomain.newInstance("dservicews.composite");
+
+ try {
+ System.out.println("HelloWorld server started (press enter to shutdown)");
+ System.in.read();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ scaDomain.close();
+ System.out.println("HelloWorld server stopped");
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java
new file mode 100644
index 0000000000..097f80644b
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * Simple Remotable service.
+ */
+@Remotable
+public interface DService {
+
+ public String getGreetings(String name);
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java
new file mode 100644
index 0000000000..623a8d650b
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/DServiceComponent.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import org.osoa.sca.annotations.Scope;
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * locate the HelloWorld service and invoke it.
+ */
+@Scope("COMPOSITE")
+public class DServiceComponent implements DService {
+
+ DService helloWorldService;
+
+ public String getGreetings(String name) {
+ return helloWorldService.getGreetings(name);
+ }
+
+ public DService getHelloWorldService() {
+ return helloWorldService;
+ }
+
+ public void setHelloWorldService(DService helloWorldService) {
+ this.helloWorldService = helloWorldService;
+ }
+} \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java
new file mode 100644
index 0000000000..c39dde6c89
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/EService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * Simple Remotable service.
+ */
+@Remotable
+public interface EService {
+
+ public String getString(String a);
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java
new file mode 100644
index 0000000000..d52afacf77
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/FService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+/**
+ * Simple Remotable Service
+ */
+public interface FService {
+
+ public String getString(String a);
+ public String getGreetings(String name);
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java
new file mode 100644
index 0000000000..a9d4a1c872
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/AServiceImpl.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.composite.AService;
+import org.apache.tuscany.sca.vtest.assembly.composite.BService;
+import org.apache.tuscany.sca.vtest.assembly.composite.CService;
+import org.apache.tuscany.sca.vtest.assembly.composite.DService;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+@Service(AService.class)
+public class AServiceImpl implements AService {
+
+ @Reference
+ protected BService b;
+
+ @Reference
+ protected CService c;
+
+ public String getState() {
+ return c.getState();
+ }
+
+ public String getBProperty() {
+ return b.getSomeProperty();
+ }
+
+
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java
new file mode 100644
index 0000000000..b651f21927
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/BServiceImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.composite.BService;
+import org.osoa.sca.annotations.Property;
+import org.osoa.sca.annotations.Service;
+
+@Service(BService.class)
+public class BServiceImpl implements BService {
+
+ @Property
+ protected String someProperty;
+
+
+ public String getSomeProperty() {
+ return someProperty;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java
new file mode 100644
index 0000000000..ae3d8ab557
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/CServiceImpl.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+public class CServiceImpl {
+
+ private String state = "Some State";
+ private String name = "CServiceImpl";
+
+ public String getState() {
+ return state;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java
new file mode 100644
index 0000000000..603ff7646c
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/DServiceImpl.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.composite.DService;
+import org.osoa.sca.annotations.Service;
+
+@Service(DService.class)
+public class DServiceImpl implements DService {
+
+ public String getGreetings(String name) {
+ return "Hello, " + name;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java
new file mode 100644
index 0000000000..1439bd5ca2
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/EServiceImpl.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.composite.EService;
+import org.osoa.sca.annotations.Service;
+
+@Service(EService.class)
+public class EServiceImpl implements EService {
+
+ public String getString(String a) {
+ return a;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java
new file mode 100644
index 0000000000..f7ae2fd562
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/java/org/apache/tuscany/sca/vtest/assembly/composite/impl/FServiceImpl.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.composite.FService;
+import org.apache.tuscany.sca.vtest.assembly.composite.EService;
+import org.apache.tuscany.sca.vtest.assembly.composite.DService;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Service;
+
+@Service(FService.class)
+public class FServiceImpl implements FService {
+
+ @Reference
+ protected EService e;
+
+ @Reference
+ protected DService d;
+
+ public String getString(String a) {
+ return e.getString(a);
+ }
+
+ public String getGreetings(String name) {
+ return d.getGreetings(name);
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/composite.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/composite.composite
new file mode 100644
index 0000000000..88b8212c5e
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/composite.composite
@@ -0,0 +1,31 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-composite--Composite">
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite
new file mode 100644
index 0000000000..9956452116
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/compositecopy.composite
@@ -0,0 +1,32 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-composite--Composite">
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite
new file mode 100644
index 0000000000..e9cf2710d3
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_inner.composite
@@ -0,0 +1,39 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-different-interface-inner-Composite">
+
+ <service name="DifferentInterfaceService" promote="CComponent">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.BService">
+ </interface.java>
+ </service>
+
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite
new file mode 100644
index 0000000000..ccbdcefcf1
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/differentinterface_outer.composite
@@ -0,0 +1,32 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-outer-Composite">
+
+ <component name="DifferentInterfaceComponent">
+
+ <implementation.composite name="assembly-tests:Assembly-different-interface-inner-Composite"/>
+
+ </component>
+</composite>
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/dservicews.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/dservicews.composite
new file mode 100644
index 0000000000..2e05a862ff
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/dservicews.composite
@@ -0,0 +1,33 @@
+<?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://helloworld"
+ xmlns:hw="http://helloworld"
+ name="Assembly-dservice-ws--Composite">
+
+ <component name="DServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl" />
+ <service name="DService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" />
+ <binding.ws uri="http://localhost:8085/DService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite
new file mode 100644
index 0000000000..b41bf6b9b9
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/localcomponent.composite
@@ -0,0 +1,39 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-LocalComponent--Composite"
+ local="false">
+
+ <component name="DServiceComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl"/>
+ <service name="DService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" />
+ <binding.ws uri="http://localhost:8085/DService"/>
+ </service>
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite
new file mode 100644
index 0000000000..5436e6b22a
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_inner.composite
@@ -0,0 +1,43 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-promote-inner-Composite">
+
+ <service name="BService" promote="BComponent"/>
+ <service name="CService" promote="CComponent"/>
+ <service name="NoPromoteService" promote="NoPromoteComponent"/>
+
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite
new file mode 100644
index 0000000000..261246dd1b
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonpromote_outer.composite
@@ -0,0 +1,32 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-promote-outer-Composite">
+
+ <component name="TestNonPromoteComponent">
+
+ <implementation.composite name="assembly-tests:Assembly-non-promote-inner-Composite"/>
+
+ </component>
+</composite>
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite
new file mode 100644
index 0000000000..d6ec215eb5
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference.composite
@@ -0,0 +1,59 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-unique-reference--Composite">
+
+ <component name="FComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.FServiceImpl"/>
+ <reference name="e" />
+ <reference name="d" />
+
+ </component>
+
+ <component name="DComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.DServiceImpl"/>
+ <service name="DService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService"/>
+ <binding.ws uri="http://localhost:8085/DService"/>
+ </service>
+ </component>
+
+ <component name="EComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.EServiceImpl"/>
+ <service name="EService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.EService"/>
+ <binding.ws uri="http://localhost:8085/EService"/>
+ </service>
+ </component>
+
+ <reference name="NonUniqueReference" promote="FComponent/e">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.EService" />
+ <binding.ws uri="http://localhost:8085/EService"/>
+ </reference>
+
+ <reference name="NonUniqueReference" promote="FComponent/d">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.DService" />
+ <binding.ws uri="http://localhost:8085/DService"/>
+ </reference>
+
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite
new file mode 100644
index 0000000000..603061c7b0
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_inner.composite
@@ -0,0 +1,39 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-unique-reference-inner--Composite">
+
+ <service name="AService" promote="AComponent"/>
+
+ <component name="AComponent">
+ <implementation.java
+ class="org.apache.tuscany.sca.vtest.assembly.composite.impl.AServiceImpl" />
+ <reference name="b" />
+ <reference name="c" />
+ </component>
+
+ <reference name="NonUniqueReference" promote="AComponent/b" />
+ <reference name="NonUniqueReference" promote="AComponent/c" />
+
+ <!--
+ <reference name="b" promote="AComponent/b" />
+ <reference name="c" promote="AComponent/c" />
+ -->
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite
new file mode 100644
index 0000000000..4b7a1e09fb
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniquereference_outer.composite
@@ -0,0 +1,43 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ xmlns:assembly-tests="http://assembly-tests"
+ name="Assembly-non-unique-reference-outer--Composite">
+
+ <component name="TestNonUniqueReferenceComponent">
+ <implementation.composite name="assembly-tests:Assembly-non-unique-reference-inner--Composite"/>
+ <reference name="NonUniqueReference" target="BComponent"/>
+ <reference name="NonUniqueReference" target="CComponent"/>
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
+ </component>
+
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite
new file mode 100644
index 0000000000..82a14e70dd
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_inner.composite
@@ -0,0 +1,42 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-unique-service-inner-Composite">
+
+ <service name="BCService" promote="CComponent"/>
+ <service name="BCService" promote="BComponent"/>
+
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.BServiceImpl"/>
+ <property name="someProperty">some b component value</property>
+ </component>
+
+ <component name="CComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.composite.impl.CServiceImpl"/>
+ <service name="CServiceImpl">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.composite.CService"/>
+ </service>
+ </component>
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite
new file mode 100644
index 0000000000..35a1724bdb
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/main/resources/nonuniqueservice_outer.composite
@@ -0,0 +1,32 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:assembly-tests="http://assembly-tests"
+ targetNamespace="http://assembly-tests"
+ name="Assembly-non-promote-outer-Composite">
+
+ <component name="TestNonUniqueServiceComponent">
+
+ <implementation.composite name="assembly-tests:Assembly-non-unique-service-inner-Composite"/>
+
+ </component>
+</composite>
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java
new file mode 100644
index 0000000000..77f800ad33
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/composite/src/test/java/org/apache/tuscany/sca/vtest/assembly/composite/CompositeTestCase.java
@@ -0,0 +1,172 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.composite;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ *
+ */
+public class CompositeTestCase {
+
+ static final String LOCAL_DOMAIN_URI = "http://localhost";
+
+ private void initDomain(String compositePath) {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositePath);
+ }
+
+ private void cleanupDomain() {
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+ }
+
+ /**
+ * ASM60001:
+ * <p>
+ * A composite name must be unique within the namespace of the composite.
+ * <p>
+ * OSOA specification doesn't have such requirement.
+ */
+ @Test(expected = ServiceRuntimeException.class)
+ public void ASM60001() throws Exception {
+ SCADomain domain =
+ SCADomain.newInstance(LOCAL_DOMAIN_URI, "/", "composite.composite", "compositecopy.composite");
+ domain.getService(BService.class, "BComponent");
+ domain.getService(CService.class, "CComponent");
+ domain.close();
+ domain = null;
+ }
+
+ /**
+ * Lines 1036-1037:
+ * <p>
+ * local="true" means that all the components must run in the same process.
+ * <p>
+ * ASM60002:
+ * <p>
+ * @local="true" for a composite means that all the components within the composite MUST run
+ * in the same operating system process. This is the only mode of Operation in Tuscany at
+ * the moment so we just show here that even when local is false both components are run
+ *
+ */
+ @Test//(expected = ServiceRuntimeException.class)
+ public void ASM60002() throws Exception {
+ initDomain("localcomponent.composite");
+ DService dservice = ServiceFinder.getService(DService.class, "DServiceComponent");
+ Assert.assertEquals("Hello, tester", dservice.getGreetings("tester"));
+ BService bService = ServiceFinder.getService(BService.class, "BComponent");
+ Assert.assertEquals("some b component value", bService.getSomeProperty());
+ }
+
+ /**
+ * Lines 1498-1499:
+ * <p>
+ * name (required) – the name of the service, the name MUST BE unique across
+ * all the composite services in the composite.
+ * <p>
+ * ASM60003:
+ * <p>
+ * The name of a composite <service/> element MUST be unique across all the
+ * composite services in the composite.
+ * <p>
+ * OSOA specification is the same with OASIS in this function.
+ */
+ @Test(expected = ServiceRuntimeException.class)
+ public void ASM60003() throws Exception {
+ initDomain("nonuniqueservice_outer.composite");
+ CService cService = ServiceFinder.getService(CService.class, "TestNonUniqueServiceComponent/BCService");
+ cService.getName();
+ BService bService = ServiceFinder.getService(BService.class, "TestNonUniqueServiceComponent/BCService");
+ bService.getSomeProperty();
+ cleanupDomain();
+ }
+
+ /**
+ * ASM60004:
+ * <p>
+ * A composite <service/> element's promote attribute MUST identify one of
+ * the component services within that composite.
+ * <p>
+ * OSOA specification doesn't have such requirement.
+ */
+ @Test(expected = ServiceRuntimeException.class)
+ public void ASM60004() throws Exception {
+ initDomain("nonpromote_outer.composite");
+ ServiceFinder.getService(BService.class, "TestNonPromoteComponent/NoPromoteService");
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 1512-1514:
+ * <p>
+ * If an interface is specified it must be the same or a compatible subset
+ * of the interface provided by the promoted component service, i.e. provide
+ * a subset of the operations defined by the component service.
+ * <p>
+ * ASM60005:
+ * <p>
+ * If a composite service interface is specified it must be the same or a
+ * compatible subset of the interface provided by the promoted component
+ * service, i.e. provide a subset of the operations defined by the component
+ * service.
+ * <p>
+ * OSOA specification is the same with OASIS in this function.
+ */
+ @Test(expected = ServiceRuntimeException.class)
+ public void ASM60005() throws Exception {
+ initDomain("differentinterface_outer.composite");
+ BService service = ServiceFinder.getService(BService.class, "DifferentInterfaceComponent/DifferentInterfaceService");
+ service.getSomeProperty();
+ cleanupDomain();
+ }
+
+ /**
+ * Lines 1325-1327:
+ * <p>
+ * name (required) – the name of the reference. The name must be unique
+ * across all the composite references in the composite.
+ * <p>
+ * ASM60006:
+ * <p>
+ * name : NCName (1..1) - the name of the reference. The name of a composite
+ * <reference/> element MUST be unique across all the composite references
+ * in the composite.
+ * <p>
+ * OSOA specification is the same with OASIS in this function.
+ */
+ @Ignore("TUSCANY-2701")
+ @Test(expected = ServiceRuntimeException.class)
+ public void ASM60006() throws Exception {
+ initDomain("nonuniquereference_outer.composite");
+ AService service = ServiceFinder.getService(AService.class, "TestNonUniqueReferenceComponent/AService");
+ service.getBProperty();
+ service.getState();
+ cleanupDomain();
+ }
+
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/pom.xml b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/pom.xml
new file mode 100644
index 0000000000..33ae098c3a
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/pom.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>vtest-assembly</artifactId>
+ <version>1.4</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>vtest-assembly-ctypefile</artifactId>
+
+ <name>Apache Tuscany SCA vTest SCA Assembly Verification Tests - Component Type File</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.4</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+
+</project>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java
new file mode 100644
index 0000000000..d1df390ace
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/AService.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.ctypefile;
+
+/**
+ * Simple Remotable Service
+ */
+public interface AService {
+
+ public String getState();
+ public String getState2();
+ public String getBProperty();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java
new file mode 100644
index 0000000000..8ee18b242f
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/BService.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.vtest.assembly.ctypefile;
+
+/**
+ * Simple Service
+ */
+public interface BService {
+
+ public String getState();
+ public String getSomeProperty();
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java
new file mode 100644
index 0000000000..0f24201970
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.ctypefile.AService;
+import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService;
+import org.osoa.sca.annotations.Reference;
+
+public class AServiceImpl implements AService {
+
+ private BService bService;
+ private BService b2Service;
+
+ public void setBService(BService b) {
+ this.bService = b;
+ }
+
+ @Reference
+ public void setB2Service(BService b) {
+ this.b2Service = b;
+ }
+
+ public String getState() {
+ return bService.getState();
+ }
+
+ public String getState2() {
+ return b2Service.getState();
+ }
+
+ public String getBProperty() {
+ return bService.getSomeProperty();
+ }
+
+}
+
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java
new file mode 100644
index 0000000000..fd32cb1f9b
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.vtest.assembly.ctypefile.impl;
+
+import org.apache.tuscany.sca.vtest.assembly.ctypefile.BService;
+
+public class BServiceImpl implements BService {
+
+ //@Property
+ protected String someProperty;
+
+ public String getState() {
+ return "SomeStateFromB";
+ }
+
+ public String getSomeProperty() {
+ return someProperty;
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType
new file mode 100644
index 0000000000..173203ae21
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/AServiceImpl.componentType
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0">
+
+ <service name="AService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.ctypefile.AService"/>
+ </service>
+
+ <reference name="bService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.ctypefile.BService"/>
+ </reference>
+
+</componentType> \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType
new file mode 100644
index 0000000000..c6a0f274c4
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/org/apache/tuscany/sca/vtest/assembly/ctypefile/impl/BServiceImpl.componentType
@@ -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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <service name="BService">
+ <interface.java interface="org.apache.tuscany.sca.vtest.assembly.ctypefile.BService"/>
+ </service>
+
+ <property name="someProperty" type="xsd:string">componentTypeValue</property>
+
+</componentType>
+ \ No newline at end of file
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/typefile.composite b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/typefile.composite
new file mode 100644
index 0000000000..889bb846ba
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/main/resources/typefile.composite
@@ -0,0 +1,40 @@
+<?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"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://assembly-tests"
+ name="Assemby-component-typefile-Composite">
+
+ <component name="AComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.ctypefile.impl.AServiceImpl"/>
+ <reference name="bService" target="BComponent/BService"/>
+ <reference name="b2Service" target="BComponent/BService"/>
+ </component>
+
+ <component name="BComponent">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.ctypefile.impl.BServiceImpl"/>
+ <property name="someProperty">compositeValue</property>
+ </component>
+
+ <!-- component name="BComponent2">
+ <implementation.java class="org.apache.tuscany.sca.vtest.assembly.ctypefile.impl.BServiceImpl"/>
+ </component-->
+
+</composite>
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.java
new file mode 100644
index 0000000000..f8f7e45f61
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/ctypefile/src/test/java/org/apache/tuscany/sca/vtest/assembly/ctypefile/CompomnentTypeFileTestCase.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.assembly.ctypefile;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.vtest.utilities.ServiceFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class CompomnentTypeFileTestCase {
+
+ protected static String compositeName = "typefile.composite";
+ protected static AService aService = null;
+ protected static BService bService2 = null;
+
+ @BeforeClass
+ public static void init() throws Exception {
+ try {
+ System.out.println("Setting up");
+ ServiceFinder.init(compositeName);
+ aService = ServiceFinder.getService(AService.class, "AComponent/AService");
+ bService2 = ServiceFinder.getService(BService.class, "BComponent2/BService");
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+
+ System.out.println("Cleaning up");
+ ServiceFinder.cleanup();
+
+ }
+
+ /**
+ * Lines 435-439:
+ * <p>
+ * Step two covers the cases where introspection of the implementation is
+ * not possible or where it does not provide complete information and it
+ * involves looking for an SCA component type file. Component type
+ * information found in the component type file must be compatible with the
+ * equivalent information found from inspection of the implementation.
+ * <p>
+ * Lines 441-444:
+ * <p>
+ * In the ideal case, the component type information is determined by
+ * inspecting the implementation, for example as code annotations. The
+ * component type file provides a mechanism for the provision of component
+ * type information for implementation types where the information cannot be
+ * determined by inspecting the implementation.
+ */
+ @Test
+ public void typeFile1() throws Exception {
+ Assert.assertSame("SomeStateFromB", aService.getState());
+ }
+
+ /**
+ * Lines 439-449:
+ * <p>
+ * The component type file can specify partial information, with the
+ * remainder being derived from the implementation.
+ * <p>
+ * The first test makes use of the reference to b which is provided by the
+ * type file. The second test makes use of the reference to b2 which is
+ * provided via annotation
+ */
+ @Test
+ public void typeFile2() throws Exception {
+ Assert.assertSame("SomeStateFromB", aService.getState());
+ Assert.assertSame("SomeStateFromB", aService.getState2());
+ }
+
+ /**
+ * Lines 450-451:
+ * <p>
+ * The componentType element can contain Service elements, Reference
+ * elements and Property elements.
+ */
+ @Test
+ public void typeFile3() throws Exception {
+ Assert.assertEquals("compositeValue", aService.getBProperty());
+ }
+
+ public void typeFile31() throws Exception {
+ Assert.assertEquals("componentTypeValue", bService2.getSomeProperty());
+ }
+
+}
diff --git a/sca-java-1.x/tags/1.4/vtest/assembly/pom.xml b/sca-java-1.x/tags/1.4/vtest/assembly/pom.xml
new file mode 100644
index 0000000000..afa4d468b0
--- /dev/null
+++ b/sca-java-1.x/tags/1.4/vtest/assembly/pom.xml
@@ -0,0 +1,70 @@
+<?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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-vtest</artifactId>
+ <version>1.4</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>vtest-assembly</artifactId>
+ <packaging>pom</packaging>
+ <name>Apache Tuscany SCA Assembly Verification Tests</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-embedded</artifactId>
+ <version>1.4</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-java-runtime</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>vtest-utilities</artifactId>
+ <version>1.4</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ </dependencies>
+
+
+ <profiles>
+ <profile>
+ <id>default</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <modules>
+ <module>ctypefile</module>
+ <module>component</module>
+ <module>composite</module>
+ </modules>
+ </profile>
+ </profiles>
+
+</project>