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