Author: kwilliams
Date: Fri Jul 11 13:29:48 2008
New Revision: 676074

URL: http://svn.apache.org/viewvc?rev=676074&view=rev
Log:
More assembly model tests

Added:
    
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
   (with props)
    
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
   (with props)
    
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
   (with props)
    
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
   (with props)
    
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
   (with props)
    
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
   (with props)
Modified:
    
tuscany/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
 Fri Jul 11 13:29:48 2008
@@ -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();
+    
+}

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/CService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
 Fri Jul 11 13:29:48 2008
@@ -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;
+    }
+    
+}
+

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/java/org/apache/tuscany/sca/vtest/assembly/component/impl/CServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
 Fri Jul 11 13:29:48 2008
@@ -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>

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/serviceelement.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
 Fri Jul 11 13:29:48 2008
@@ -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>

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithbinding.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
 Fri Jul 11 13:29:48 2008
@@ -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>

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/servicewithinterface.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite?rev=676074&view=auto
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
 (added)
+++ 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
 Fri Jul 11 13:29:48 2008
@@ -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-zeroimplelements-Composite">
+
+    <component name="AComponent">
+           <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>

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/java/sca/vtest/assembly/component/src/main/resources/zeroimplelements.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: 
tuscany/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java?rev=676074&r1=676073&r2=676074&view=diff
==============================================================================
--- 
tuscany/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java
 (original)
+++ 
tuscany/java/sca/vtest/assembly/component/src/test/java/org/apache/tuscany/sca/vtest/assembly/component/ComponentTestCase.java
 Fri Jul 11 13:29:48 2008
@@ -82,4 +82,69 @@
         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();
+    }
+    
+    
 }


Reply via email to