summaryrefslogtreecommitdiffstats
path: root/java/sca/itest
diff options
context:
space:
mode:
authormcombellack <mcombellack@13f79535-47bb-0310-9956-ffa450edef68>2008-07-03 14:38:27 +0000
committermcombellack <mcombellack@13f79535-47bb-0310-9956-ffa450edef68>2008-07-03 14:38:27 +0000
commit1955dd58ad225637dbb53ddeda698c01b32fe54f (patch)
tree4f19854a47ff9f045bc2c9bb23ac85c9158f6023 /java/sca/itest
parent69e7029718128130cbe7d06609a31240c49f56b1 (diff)
TUSCANY-2454 - Added more tests to check that references to Nested Composites can be Serialized and Deserialized
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@673690 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/itest')
-rw-r--r--java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java7
-rw-r--r--java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java31
-rw-r--r--java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java7
-rw-r--r--java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java31
-rw-r--r--java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite6
-rw-r--r--java/sca/itest/serialization/src/main/resources/nestedcomposite.composite33
-rw-r--r--java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java28
7 files changed, 137 insertions, 6 deletions
diff --git a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
index a83f69a1e4..c268f9bda7 100644
--- a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
+++ b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClient.java
@@ -35,6 +35,13 @@ public interface SCAManagedClient {
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
*
diff --git a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
index 146123dd2b..cf0307eb8e 100644
--- a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
+++ b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedClientImpl.java
@@ -40,18 +40,43 @@ public class SCAManagedClientImpl implements SCAManagedClient, StatelessServiceC
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
diff --git a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
index d8d35a4f7c..deb8f75816 100644
--- a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
+++ b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClient.java
@@ -39,6 +39,13 @@ public interface SCAManagedConversationalClient {
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.
*
diff --git a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
index 469b9c38f9..60ecb7717a 100644
--- a/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
+++ b/java/sca/itest/serialization/src/main/java/org/apache/tuscany/sca/itest/servicereference/SCAManagedConversationalClientImpl.java
@@ -42,6 +42,12 @@ public class SCAManagedConversationalClientImpl implements SCAManagedConversatio
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 @@ public class SCAManagedConversationalClientImpl implements SCAManagedConversatio
* @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
diff --git a/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite b/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
index ebc8e667de..28c32d6fa4 100644
--- a/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
+++ b/java/sca/itest/serialization/src/main/resources/ServiceReferenceSerializationTest.composite
@@ -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>
diff --git a/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite b/java/sca/itest/serialization/src/main/resources/nestedcomposite.composite
new file mode 100644
index 0000000000..8e1a132b0a
--- /dev/null
+++ b/java/sca/itest/serialization/src/main/resources/nestedcomposite.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
+ * 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>
diff --git a/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java b/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
index bee2913cb5..76e77284fb 100644
--- a/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
+++ b/java/sca/itest/serialization/src/test/java/org/apache/tuscany/sca/itest/servicereference/SerializeServiceReferenceTestCase.java
@@ -74,6 +74,20 @@ public class SerializeServiceReferenceTestCase {
}
/**
+ * 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 @@ public class SerializeServiceReferenceTestCase {
}
/**
+ * 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
*