Author: mcombellack
Date: Thu Jul  3 07:38:27 2008
New Revision: 673690

URL: http://svn.apache.org/viewvc?rev=673690&view=rev
Log:
TUSCANY-2454 - Added more tests to check that references to Nested Composites 
can be Serialized and Deserialized

Added:
    
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
   (with props)
Modified:
    
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
    
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
    
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
    
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
    
tuscany/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
    
tuscany/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java

Modified: 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
 Thu Jul  3 07:38:27 2008
@@ -35,6 +35,13 @@
     void testSerializeStatelessServiceReference() throws Exception;
 
     /**
+     * Tests Serializing a Nested Stateless ServiceReference.
+     * 
+     * @throws Exception Test failed
+     */
+    void testSerializeNestedStatelessServiceReference() throws Exception;
+
+    /**
      * Tests Serializing a Callback to a Stateless Service as managed
      * SCA code
      * 

Modified: 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
 Thu Jul  3 07:38:27 2008
@@ -40,18 +40,43 @@
     protected ServiceReference<StatelessService> statelessServiceRef;
 
     /**
+     * Injected reference to the Nested StatelessService.
+     */
+    @Reference(name = "nestedStatelessService")
+    protected ServiceReference<StatelessService> nestedStatelessServiceRef;
+
+    /**
      * Tests Serializing a Stateless ServiceReference
      * 
      * @throws Exception Test failed
      */
     public void testSerializeStatelessServiceReference() throws Exception {
-        Assert.assertNotNull(statelessServiceRef);
+        doTestSerializeStatelessServiceReference(statelessServiceRef);
+    }
+    
+    /**
+     * Tests Serializing a Nested Stateless ServiceReference.
+     * 
+     * @throws Exception Test failed
+     */
+    public void testSerializeNestedStatelessServiceReference() throws 
Exception {
+        doTestSerializeStatelessServiceReference(nestedStatelessServiceRef);
+    }
 
-        StatelessService service = statelessServiceRef.getService();
+    /**
+     * Tests Serializing a Stateless ServiceReference.
+     * 
+     * @throws Exception Test failed
+     */
+    private void doTestSerializeStatelessServiceReference(
+            ServiceReference<StatelessService> aServiceRef) throws Exception {
+        Assert.assertNotNull(aServiceRef);
+
+        StatelessService service = aServiceRef.getService();
         service.getCurrentTime();
         
         // Serialize the ServiceReference
-        byte[] serializedSR = 
ServiceReferenceUtils.serialize(statelessServiceRef);
+        byte[] serializedSR = ServiceReferenceUtils.serialize(aServiceRef);
         Assert.assertNotNull(serializedSR);
 
         // Deserialize the ServiceReference

Modified: 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
 Thu Jul  3 07:38:27 2008
@@ -39,6 +39,13 @@
     void testSerializeConversationalServiceReference() throws Exception;
 
     /**
+     * Tests Serializing a Nested Conversational ServiceReference.
+     * 
+     * @throws Exception Test failed
+     */
+    void testSerializeNestedConversationalServiceReference() throws Exception;
+
+    /**
      * Tests Serializing a Callback to a Conversational Service as managed
      * SCA code.
      * 

Modified: 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
 Thu Jul  3 07:38:27 2008
@@ -42,6 +42,12 @@
     protected ServiceReference<ConversationalService> conversationalServiceRef;
 
     /**
+     * Injected reference to the ConversationalService.
+     */
+    @Reference(name = "nestedConversationalService")
+    protected ServiceReference<ConversationalService> 
nestedConversationalServiceRef;
+
+    /**
      * This is the message that we sent to the callback.
      */
     private String messageSentToCallback;
@@ -52,14 +58,33 @@
      * @throws Exception Test failed
      */
     public void testSerializeConversationalServiceReference() throws Exception 
{
-        Assert.assertNotNull(conversationalServiceRef);
+        
doTestSerializeConversationalServiceReference(conversationalServiceRef);
+    }
 
-        ConversationalService service = conversationalServiceRef.getService();
+    /**
+     * Tests Serializing a Nested Conversational ServiceReference.
+     * 
+     * @throws Exception Test failed
+     */
+    public void testSerializeNestedConversationalServiceReference() throws 
Exception {
+        
doTestSerializeConversationalServiceReference(nestedConversationalServiceRef);
+    }
+
+    /**
+     * Test Serializing a Conversational ServiceReference.
+     * 
+     * @param aServiceRef The Reference to Serialize
+     * @throws Exception Test failed.
+     */
+    private void 
doTestSerializeConversationalServiceReference(ServiceReference<ConversationalService>
 aServiceRef) throws Exception {
+        Assert.assertNotNull(aServiceRef);
+
+        ConversationalService service = aServiceRef.getService();
         Object origConvID = service.getConversationID();
         Assert.assertNotNull(origConvID);
 
         // Serialize the ServiceReference
-        byte[] serializedSR = 
ServiceReferenceUtils.serialize(conversationalServiceRef);
+        byte[] serializedSR = ServiceReferenceUtils.serialize(aServiceRef);
         Assert.assertNotNull(serializedSR);
 
         // Deserialize the ServiceReference

Modified: 
tuscany/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
 Thu Jul  3 07:38:27 2008
@@ -30,10 +30,16 @@
     <component name="SCAManagedClientComponent">
         <implementation.java 
class="org.apache.tuscany.sca.itest.servicereference.SCAManagedClientImpl" />
         <reference name="statelessService" target="StatelessComponent"/>
+        <reference name="nestedStatelessService" 
target="NestedComponent/StatelessNestedService"/>
     </component>
 
     <component name="SCAManagedConversationalClientComponent">
         <implementation.java 
class="org.apache.tuscany.sca.itest.servicereference.SCAManagedConversationalClientImpl"
 />
         <reference name="conversationalService" 
target="ConversationalComponent"/>
+        <reference name="nestedConversationalService" 
target="NestedComponent/ConversationalNestedService"/>
+    </component>
+
+    <component name="NestedComponent">
+        <implementation.composite name="foo:NestedComposite" />
     </component>
 </composite>

Added: 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite?rev=673690&view=auto
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
 (added)
+++ 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
 Thu Jul  3 07:38:27 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
+    * 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:foo="http://foo"; 
targetNamespace="http://foo";
+    name="NestedComposite" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+
+    <service name="StatelessNestedService" promote = 
"StatelessNestedComponent"/>
+    
+    <service name="ConversationalNestedService" promote = 
"ConversationalNestedComponent"/>
+
+    <component name="StatelessNestedComponent">
+        <implementation.java 
class="org.apache.tuscany.sca.itest.servicereference.StatelessServiceImpl" />
+    </component>
+
+    <component name="ConversationalNestedComponent">
+        <implementation.java 
class="org.apache.tuscany.sca.itest.servicereference.ConversationalServiceImpl" 
/>
+    </component>
+</composite>

Propchange: 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: 
tuscany/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: 
tuscany/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java?rev=673690&r1=673689&r2=673690&view=diff
==============================================================================
--- 
tuscany/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
 (original)
+++ 
tuscany/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
 Thu Jul  3 07:38:27 2008
@@ -74,6 +74,20 @@
     }
 
     /**
+     * Tests Serializing a Nested Stateless ServiceReference as managed
+     * SCA code.
+     * 
+     * @throws Exception Test failed
+     */
+    @Test
+    public void testSerializeNestedStatelessServiceReferenceInsideSCA() throws 
Exception {
+        SCAManagedClient client = domain.getService(
+                SCAManagedClient.class, "SCAManagedClientComponent");
+
+        client.testSerializeNestedStatelessServiceReference();
+    }
+
+    /**
      * Tests Serializing a Conversational ServiceReference as managed
      * SCA code
      * 
@@ -88,6 +102,20 @@
     }
 
     /**
+     * Tests Serializing a Nested Conversational ServiceReference as managed
+     * SCA code.
+     * 
+     * @throws Exception Test failed
+     */
+    @Test
+    public void testSerializeNestedConversationalServiceReferenceInsideSCA() 
throws Exception {
+        SCAManagedConversationalClient client = domain.getService(
+                SCAManagedConversationalClient.class, 
"SCAManagedConversationalClientComponent");
+
+        client.testSerializeNestedConversationalServiceReference();
+    }
+
+    /**
      * Tests Serializing a Callback to a Stateless Service as managed
      * SCA code
      * 


Reply via email to