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
*