You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by js...@apache.org on 2006/05/14 05:47:15 UTC

svn commit: r406228 - in /incubator/servicemix/trunk/servicemix-beanflow/src: main/java/org/apache/servicemix/beanflow/ParallelActivity.java test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java

Author: jstrachan
Date: Sat May 13 20:47:15 2006
New Revision: 406228

URL: http://svn.apache.org/viewcvs?rev=406228&view=rev
Log:
fixed test case and added some helper methods

Modified:
    incubator/servicemix/trunk/servicemix-beanflow/src/main/java/org/apache/servicemix/beanflow/ParallelActivity.java
    incubator/servicemix/trunk/servicemix-beanflow/src/test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java

Modified: incubator/servicemix/trunk/servicemix-beanflow/src/main/java/org/apache/servicemix/beanflow/ParallelActivity.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-beanflow/src/main/java/org/apache/servicemix/beanflow/ParallelActivity.java?rev=406228&r1=406227&r2=406228&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-beanflow/src/main/java/org/apache/servicemix/beanflow/ParallelActivity.java (original)
+++ incubator/servicemix/trunk/servicemix-beanflow/src/main/java/org/apache/servicemix/beanflow/ParallelActivity.java Sat May 13 20:47:15 2006
@@ -16,6 +16,7 @@
 package org.apache.servicemix.beanflow;
 
 import org.apache.servicemix.beanflow.support.CallablesFactory;
+import org.apache.servicemix.beanflow.support.FindCallableMethods;
 
 import java.util.*;
 import java.util.concurrent.Callable;
@@ -32,6 +33,24 @@
     private JoinSupport joinActivity;
     private List<CallableActivity<T>> activities;
     private AtomicBoolean started = new AtomicBoolean();
+
+    /**
+     * A helper method to create a new {@link ParallelActivity} which invokes a number of methods
+     * on a POJO in parallel and then joins on them all completing
+     */
+    public static ParallelActivity newParallelMethodActivity(Executor executor, Object bean) {
+        return newParallelMethodActivity(new JoinAll(), executor, bean);
+    }
+
+    /**
+     * A helper method to create a new {@link ParallelActivity} which invokes a number of methods
+     * on a POJO in parallel and then performs a custom join
+     */
+    @SuppressWarnings("unchecked")
+    public static ParallelActivity newParallelMethodActivity(JoinSupport join, Executor executor, Object bean) {
+        FindCallableMethods factory = new FindCallableMethods(bean);
+        return new ParallelActivity(join, executor, factory);
+    }
 
     public ParallelActivity(JoinSupport activity, Executor executor, CallablesFactory<T> callablesFactory) {
         this(activity, executor, callablesFactory.createCallables());

Modified: incubator/servicemix/trunk/servicemix-beanflow/src/test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-beanflow/src/test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java?rev=406228&r1=406227&r2=406228&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-beanflow/src/test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java (original)
+++ incubator/servicemix/trunk/servicemix-beanflow/src/test/java/org/apache/servicemix/beanflow/ParallelActivityTest.java Sat May 13 20:47:15 2006
@@ -15,9 +15,8 @@
  */
 package org.apache.servicemix.beanflow;
 
-import org.apache.servicemix.beanflow.support.FindCallableMethods;
-
-import java.util.concurrent.*;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
 
 /**
  * 
@@ -29,22 +28,22 @@
 
     @SuppressWarnings("unchecked")
     public void test() throws Exception {
+        
+        // START SNIPPET: example
         ExampleParallelBean parallelBean = new ExampleParallelBean();
-        FindCallableMethods factory = new FindCallableMethods(parallelBean);
-
-        ParallelActivity activity = new ParallelActivity(new JoinAll(), executor, factory);
+        ParallelActivity activity =  ParallelActivity.newParallelMethodActivity(executor, parallelBean);
         activity.startWithTimeout(timer, -1);
-
-        assertFlowStarted(activity);
+        // END SNIPPET: example
 
         parallelBean.assertCompleted();
-        
-        // OK the latch may be completed but the 
+
+        // OK the latch may be completed but the
         // join might not have completed yet
-        Thread.sleep(5000);
-        
-        // TODO FIXME!
-        //assertFlowStopped(activity);
+        if (!activity.isStopped()) {
+            Thread.sleep(1000);
+        }
+
+        assertFlowStopped(activity);
     }
 
 }