You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2007/07/20 15:54:27 UTC
svn commit: r557997 - in /incubator/tuscany/java/sca/itest/conversations/src:
main/java/org/apache/tuscany/sca/itest/conversational/
main/java/org/apache/tuscany/sca/itest/conversational/impl/ main/resources/
test/java/org/apache/tuscany/sca/itest/conv...
Author: slaws
Date: Fri Jul 20 06:54:25 2007
New Revision: 557997
URL: http://svn.apache.org/viewvc?view=rev&rev=557997
Log:
TUSCANY-1377
More tidying to split the test up a little more and add lifecycle testing
Lifecycle end doesn't work at the moment. Waiting for fixes in the ConversationalScopeContainer
Modified:
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java
incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java
incubator/tuscany/java/sca/itest/conversations/src/main/resources/conversational.composite
incubator/tuscany/java/sca/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTest.java
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalClient.java Fri Jul 20 06:54:25 2007
@@ -30,10 +30,12 @@
@Remotable
public interface ConversationalClient {
- public int runConversation();
- public int runConversationCallback();
- public int runConversationFromReference();
- public int runConversationPassingReference();
+ public int runConversationFromInjectedReference();
+ public int runConversationFromServiceReference();
+ public int runConversationWithUserDefinedConversationId();
+ public int runConversationCheckingScope();
+ public int runConversationWithCallback();
+ public int runConversationHavingPassedReference();
public int runConversationError();
public int runConversationAgeTimeout();
public int runConversationIdleTimeout();
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/ConversationalService.java Fri Jul 20 06:54:25 2007
@@ -34,10 +34,8 @@
@Conversational
public interface ConversationalService {
- @Init
public void init();
- @Destroy
public void destroy();
public void initializeCount(int count);
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatefulImpl.java Fri Jul 20 06:54:25 2007
@@ -23,6 +23,7 @@
import org.apache.tuscany.sca.itest.conversational.ConversationalReferenceClient;
import org.apache.tuscany.sca.itest.conversational.ConversationalService;
import org.osoa.sca.ComponentContext;
+import org.osoa.sca.ServiceReference;
import org.osoa.sca.annotations.Context;
import org.osoa.sca.annotations.ConversationAttributes;
import org.osoa.sca.annotations.Destroy;
@@ -42,6 +43,7 @@
@Service(interfaces={ConversationalClient.class})
@Scope("CONVERSATION")
@ConversationAttributes(maxAge="10 minutes",
+ maxIdleTime="5 minutes",
singlePrincipal=false)
public class ConversationalClientStatefulImpl implements ConversationalClient, ConversationalCallback {
@@ -55,24 +57,58 @@
protected ConversationalReferenceClient conversationalReferenceClient;
private int clientCount;
- private int callbackCount;
+ private int callbackCount;
// From ConversationalClient
- public int runConversation(){
+ public int runConversationFromInjectedReference(){
conversationalService.initializeCount(1);
conversationalService.incrementCount();
- int count = conversationalService.retrieveCount();
+ clientCount = conversationalService.retrieveCount();
conversationalService.endConversation();
- return count;
+ return clientCount;
}
- public int runConversationCallback(){
+ public int runConversationFromServiceReference(){
+ ServiceReference<ConversationalService> serviceReference = componentContext.getServiceReference(ConversationalService.class,
+ "conversationalService");
+ ConversationalService callableReference = serviceReference.getService();
+
+ callableReference.initializeCount(1);
+ callableReference.incrementCount();
+ clientCount = callableReference.retrieveCount();
+ callableReference.endConversation();
+
+ serviceReference.getConversation().end();
+
return clientCount;
- }
- public int runConversationFromReference(){
+ }
+ public int runConversationWithUserDefinedConversationId(){
+ ServiceReference<ConversationalService> serviceReference = componentContext.getServiceReference(ConversationalService.class,
+ "conversationalService");
+ serviceReference.setConversationID("MyConversation");
+
+ ConversationalService callableReference = serviceReference.getService();
+
+ callableReference.initializeCount(1);
+ callableReference.incrementCount();
+ clientCount = callableReference.retrieveCount();
+ callableReference.endConversation();
+
+ serviceReference.getConversation().end();
+
+ return clientCount;
+ }
+ public int runConversationCheckingScope(){
+ // run a conversation
+ return runConversationFromInjectedReference();
+
+ // test will then use a static method to find out how many times
+ // init/destroy were called
+ }
+ public int runConversationWithCallback(){
return clientCount;
- }
- public int runConversationPassingReference(){
+ }
+ public int runConversationHavingPassedReference(){
return clientCount;
}
public int runConversationError(){
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalClientStatelessImpl.java Fri Jul 20 06:54:25 2007
@@ -56,36 +56,55 @@
private int callbackCount;
// From ConversationalClient
- public int runConversation(){
- conversationalService.initializeCount(1);
- conversationalService.incrementCount();
- int count = conversationalService.retrieveCount();
- conversationalService.endConversation();
-
- return count;
- }
- public int runConversationCallback(){
- return clientCount;
- }
- public int runConversationFromReference(){
- ServiceReference<ConversationalService> serviceReference = componentContext.getServiceReference(ConversationalService.class,
- "conversationalService");
- serviceReference.setConversationID("MyConversation");
-
- ConversationalService callableReference = serviceReference.getService();
-
- callableReference.initializeCount(1);
- callableReference.incrementCount();
- clientCount = callableReference.retrieveCount();
- callableReference.endConversation();
-
- serviceReference.getConversation().end();
-
+ public int runConversationFromInjectedReference(){
+ conversationalService.initializeCount(1);
+ conversationalService.incrementCount();
+ clientCount = conversationalService.retrieveCount();
+ conversationalService.endConversation();
+
return clientCount;
}
- public int runConversationPassingReference(){
+ public int runConversationFromServiceReference(){
+ ServiceReference<ConversationalService> serviceReference = componentContext.getServiceReference(ConversationalService.class,
+ "conversationalService");
+ ConversationalService callableReference = serviceReference.getService();
+
+ callableReference.initializeCount(1);
+ callableReference.incrementCount();
+ clientCount = callableReference.retrieveCount();
+ callableReference.endConversation();
+
+ serviceReference.getConversation().end();
+
+ return clientCount;
+ }
+ public int runConversationWithUserDefinedConversationId(){
+ ServiceReference<ConversationalService> serviceReference = componentContext.getServiceReference(ConversationalService.class,
+ "conversationalService");
+ ConversationalService callableReference = serviceReference.getService();
+
+ callableReference.initializeCount(1);
+ callableReference.incrementCount();
+ clientCount = callableReference.retrieveCount();
+ callableReference.endConversation();
+
+ serviceReference.getConversation().end();
+
return clientCount;
+ }
+ public int runConversationCheckingScope(){
+ // run a conversation
+ return runConversationFromInjectedReference();
+
+ // test will then use a static method to find out how many times
+ // init/destroy were called
}
+ public int runConversationWithCallback(){
+ return clientCount;
+ }
+ public int runConversationHavingPassedReference(){
+ return clientCount;
+ }
public int runConversationError(){
return clientCount;
}
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatefulImpl.java Fri Jul 20 06:54:25 2007
@@ -41,6 +41,7 @@
@Service(ConversationalService.class)
@Scope("CONVERSATION")
@ConversationAttributes(maxAge="10 minutes",
+ maxIdleTime="5 minutes",
singlePrincipal=false)
public class ConversationalServiceStatefulImpl implements ConversationalService {
@@ -50,15 +51,25 @@
// @Callback - not working yet
protected ConversationalCallback conversationalCallback;
- private int count;
+ // local count - accumulates during the conversation
+ private int count = 0;
+
+ // a member variable that records whether init processing happens
+ private static int initValue = 0;
+
+ // lets us check the init value after class instances have gone
+ public static int getInitValue(){
+ return initValue;
+ }
+ @Init
public void init(){
- count = 999;
+ initValue = initValue - 5;
}
+ @Destroy
public void destroy(){
- // how do we know that destroy is called?
- count = 0;
+ initValue = initValue + 10;
}
public void initializeCount(int count){
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/java/org/apache/tuscany/sca/itest/conversational/impl/ConversationalServiceStatelessImpl.java Fri Jul 20 06:54:25 2007
@@ -57,12 +57,22 @@
private static HashMap<String, Integer> conversationalState = new HashMap<String, Integer>();
+ // a member variable that records whether init processing happens
+ private static int initValue = 0;
+
+ // lets us check the init value after class instances have gone
+ public static int getInitValue(){
+ return initValue;
+ }
+
+ @Init
public void init(){
- // does nothing - service is stateless
+ initValue = initValue - 5;
}
+ @Destroy
public void destroy(){
- // does nothing - service is stateless
+ initValue = initValue + 10;
}
public void initializeCount(int count){
Modified: incubator/tuscany/java/sca/itest/conversations/src/main/resources/conversational.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/main/resources/conversational.composite?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/main/resources/conversational.composite (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/main/resources/conversational.composite Fri Jul 20 06:54:25 2007
@@ -21,13 +21,13 @@
targetNamespace="http://conversations"
name="ConversationalITest">
- <component name="ConversationalClientStateless">
+ <component name="ConversationalStatelessClientStatelessService">
<implementation.java class="org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl"/>
<!--reference name="conversationalReferenceClient" target="ConversationalReferenceClient"/-->
<reference name="conversationalService" target="ConversationalServiceStatelessSL"/>
</component>
- <component name="ConversationalClientStateful">
+ <component name="ConversationalStatelessClientStatefulService">
<implementation.java class="org.apache.tuscany.sca.itest.conversational.impl.ConversationalClientStatelessImpl"/>
<!--reference name="conversationalReferenceClient" target="ConversationalReferenceClient"/-->
<reference name="conversationalService" target="ConversationalServiceStateful"/>
Modified: incubator/tuscany/java/sca/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTest.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTest.java?view=diff&rev=557997&r1=557996&r2=557997
==============================================================================
--- incubator/tuscany/java/sca/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTest.java (original)
+++ incubator/tuscany/java/sca/itest/conversations/src/test/java/org/apache/tuscany/sca/itest/conversational/ConversationalTest.java Fri Jul 20 06:54:25 2007
@@ -22,6 +22,7 @@
import junit.framework.Assert;
import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.apache.tuscany.sca.itest.conversational.impl.ConversationalServiceStatefulImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -29,18 +30,18 @@
public class ConversationalTest {
private SCADomain domain;
- private ConversationalClient conversationalClientStateless;
- private ConversationalClient conversationalClientStateful;
+ private ConversationalClient conversationalStatelessClientStatelessService;
+ private ConversationalClient conversationalStatelessClientStatefulService;
@Before
public void setUp() throws Exception {
domain = SCADomain.newInstance("conversational.composite");
- conversationalClientStateless = domain.getService(ConversationalClient.class,
- "ConversationalClientStateless");
+ conversationalStatelessClientStatelessService = domain.getService(ConversationalClient.class,
+ "ConversationalStatelessClientStatelessService");
- conversationalClientStateful = domain.getService(ConversationalClient.class,
- "ConversationalClientStateful");
+ conversationalStatelessClientStatefulService = domain.getService(ConversationalClient.class,
+ "ConversationalStatelessClientStatefulService");
}
@@ -49,19 +50,55 @@
domain.close();
}
+ // Stateful service tests
@Test
- public void testStatefulConversation() {
- int count = conversationalClientStateful.runConversation();
+ public void testStatefulConversationFromInjectedReference() {
+ int count = conversationalStatelessClientStatefulService.runConversationFromInjectedReference();
Assert.assertEquals(2, count);
-
- // need to check that initialization and destruction run correctly
}
-
+
+ @Test
+ public void testStatefulConversationFromServiceReference() {
+ int count = conversationalStatelessClientStatefulService.runConversationFromServiceReference();
+ Assert.assertEquals(2, count);
+ }
+
+ @Test
+ public void testStatefulConversationWithUserDefinedConversationId() {
+ int count = conversationalStatelessClientStatefulService.runConversationWithUserDefinedConversationId();
+ Assert.assertEquals(2, count);
+ }
+
+ @Test
+ public void testStatefulConversationCheckingScope() {
+ int count = conversationalStatelessClientStatefulService.runConversationCheckingScope();
+ int initCount = ConversationalServiceStatefulImpl.getInitValue();
+ Assert.assertEquals(5, initCount);
+ }
+
+ // Stateless service tests
@Test
- public void testStatelessConversation() {
- int count = conversationalClientStateless.runConversationFromReference();
+ public void testStatelessConversationFromInjectedReference() {
+ int count = conversationalStatelessClientStatelessService.runConversationFromInjectedReference();
Assert.assertEquals(2, count);
-
- // need to check that initialization and destruction run correctly
- }
+ }
+
+ @Test
+ public void testStatelessConversationFromServiceReference() {
+ int count = conversationalStatelessClientStatelessService.runConversationFromServiceReference();
+ Assert.assertEquals(2, count);
+ }
+
+ @Test
+ public void testStatelessConversationWithUserDefinedConversationId() {
+ int count = conversationalStatelessClientStatelessService.runConversationWithUserDefinedConversationId();
+ Assert.assertEquals(2, count);
+ }
+
+ @Test
+ public void testStatelessConversationCheckingScope() {
+ int count = conversationalStatelessClientStatelessService.runConversationCheckingScope();
+ int initCount = ConversationalServiceStatefulImpl.getInitValue();
+ Assert.assertEquals(15, initCount);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org