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);
}
}