[jboss-svn-commits] JBL Code SVN: r30808 - in labs/jbossrules/trunk/drools-vsm/src: main/java/org/drools/vsm/task and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Dec 23 13:42:15 EST 2009
Author: salaboy21
Date: 2009-12-23 13:42:14 -0500 (Wed, 23 Dec 2009)
New Revision: 30808
Modified:
labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java
labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java
labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java
Log:
JBRULES-2353: Update HumanTask to the new grid inf and CommandExecutor
- fix unsupported setError methods
Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java 2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java 2009-12-23 18:42:14 UTC (rev 30808)
@@ -85,11 +85,12 @@
}
}
// Connecting with services
- if (this.services!=null) {
+ if (this.services != null) {
for (GenericConnector connector : services){
boolean serviceConnected = connector.connect();
- if ( serviceConnected )
+ if ( serviceConnected ){
System.out.println("Service Connected");
+ }
}
}
@@ -98,9 +99,11 @@
public void disconnect() {
this.client.disconnect();
- if (this.services!=null)
- for (GenericConnector connector : this.services)
+ if (this.services != null){
+ for (GenericConnector connector : this.services){
connector.disconnect();
+ }
+ }
}
public KnowledgeBuilderProvider getKnowledgeBuilderFactory() {
Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java 2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/task/CommandBasedVSMWSHumanTaskHandler.java 2009-12-23 18:42:14 UTC (rev 30808)
@@ -41,6 +41,7 @@
import org.drools.task.service.Command;
import org.drools.task.service.ContentData;
import org.drools.task.service.HumanTaskServiceImpl;
+import org.drools.task.service.responsehandlers.AbstractBaseResponseHandler;
import org.drools.vsm.GenericConnector;
import org.drools.vsm.Message;
import org.drools.vsm.mina.MinaConnector;
@@ -208,7 +209,7 @@
}
}
- public class TaskWorkItemAddTaskMessageResponseHandler implements AddTaskMessageResponseHandler {
+ public class TaskWorkItemAddTaskMessageResponseHandler extends AbstractBaseResponseHandler implements AddTaskMessageResponseHandler {
private Map<Long, WorkItemManager> managers;
private Map<Long, Long> idMapping;
@@ -249,13 +250,11 @@
client.registerForEvent( key, true, eventResponseHandler );
}
- public void setError(RuntimeException error) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
}
- private class TaskCompletedMessageHandler implements EventMessageResponseHandler {
+ private class TaskCompletedMessageHandler extends AbstractBaseResponseHandler implements EventMessageResponseHandler {
private long workItemId;
private long taskId;
private final Map<Long, WorkItemManager> managers;
@@ -266,13 +265,9 @@
this.managers = managers;
}
- public void execute(Payload payload) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
- public void setError(RuntimeException error) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
public void receive(Message message) {
Command cmd = (Command) message.getPayload();
@@ -299,9 +294,13 @@
}
}
}
+
+ public void execute(Payload payload) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
}
- private class GetCompletedTaskMessageResponseHandler implements GetTaskMessageResponseHandler {
+ private class GetCompletedTaskMessageResponseHandler extends AbstractBaseResponseHandler implements GetTaskMessageResponseHandler {
private WorkItemManager manager;
@@ -309,9 +308,7 @@
this.manager = manager;
}
- public void setError(RuntimeException error) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
public void receive(Message message) {
Command cmd = (Command) message.getPayload();
@@ -333,9 +330,11 @@
public void execute(Task task) {
throw new UnsupportedOperationException("Not supported yet.");
}
+
+
}
- private class GetResultContentMessageResponseHandler implements GetContentMessageResponseHandler {
+ private class GetResultContentMessageResponseHandler extends AbstractBaseResponseHandler implements GetContentMessageResponseHandler {
private Task task;
private final WorkItemManager manager;
@@ -347,9 +346,7 @@
this.results = results;
}
- public void setError(RuntimeException error) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
public void receive(Message message) {
Command cmd = (Command)message.getPayload();
Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java 2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/task/CommandBasedVSMWSHumanTaskHandlerTest.java 2009-12-23 18:42:14 UTC (rev 30808)
@@ -132,6 +132,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
@@ -169,6 +170,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
@@ -214,6 +216,7 @@
List<String> groupIds = new ArrayList<String>();
groupIds.add("Crusaders");
humanTaskClient.getTasksAssignedAsPotentialOwner(null, groupIds, "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary taskSummary = tasks.get(0);
@@ -271,6 +274,7 @@
List<String> groupIds = new ArrayList<String>();
groupIds.add("Crusaders");
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", groupIds, "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(2, tasks.size());
}
@@ -289,6 +293,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
@@ -327,6 +332,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
@@ -363,6 +369,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(0, tasks.size());
}
@@ -382,6 +389,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
@@ -410,6 +418,7 @@
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary taskSummary = tasks.get(0);
@@ -480,6 +489,7 @@
//Test if the task is succesfully created
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
@@ -625,6 +635,7 @@
//Test if the task is succesfully created
BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
humanTaskClient.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
List<TaskSummary> tasks = responseHandler.getResults();
assertEquals(1, tasks.size());
TaskSummary task = tasks.get(0);
Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java 2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerHumanTaskMinaRemoteTest.java 2009-12-23 18:42:14 UTC (rev 30808)
@@ -12,26 +12,42 @@
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
+import junit.framework.TestCase;
import org.apache.commons.collections.map.HashedMap;
import org.apache.mina.transport.socket.SocketAcceptor;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseProvider;
import org.drools.SystemEventListenerFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderProvider;
+import org.drools.builder.ResourceType;
+import org.drools.io.impl.ClassPathResource;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.process.ProcessInstance;
import org.drools.task.Group;
import org.drools.task.User;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.ContentData;
+import org.drools.task.service.HumanTaskServiceImpl;
import org.drools.task.service.TaskService;
import org.drools.task.service.TaskServiceSession;
import org.drools.vsm.mina.MinaAcceptor;
import org.drools.vsm.mina.MinaConnector;
import org.drools.vsm.mina.MinaIoHandler;
import org.drools.vsm.remote.ServiceManagerRemoteClient;
+import org.drools.vsm.remote.StatefulKnowledgeSessionRemoteClient;
import org.drools.vsm.task.TaskServerMessageHandlerImpl;
+import org.drools.vsm.task.responseHandlers.BlockingTaskOperationMessageResponseHandler;
+import org.drools.vsm.task.responseHandlers.BlockingTaskSummaryMessageResponseHandler;
import org.mvel2.MVEL;
import org.mvel2.ParserContext;
import org.mvel2.compiler.ExpressionCompiler;
-public class ServiceManagerHumanTaskMinaRemoteTest extends ServiceManagerTestBase {
+public class ServiceManagerHumanTaskMinaRemoteTest extends TestCase {
+ //extends ServiceManagerTestBase {
AcceptorService server;
AcceptorService humanTaskServer;
@@ -40,7 +56,10 @@
protected TaskServiceSession taskSession;
protected Map<String, User> users;
protected Map<String, Group> groups;
-
+ private HumanTaskService htClient;
+ private static final int DEFAULT_WAIT_TIME = 5000;
+ protected ServiceManager client;
+
protected void setUp() throws Exception {
// Configure persistence to be used inside the WSHT Service
// Use persistence.xml configuration
@@ -134,6 +153,7 @@
((ServiceManagerRemoteClient) client).disconnect();
this.server.stop();
this.humanTaskServer.stop();
+
}
public Object eval(Reader reader, Map<String, Object> vars) {
@@ -164,4 +184,69 @@
sb.append((char) charValue);
return sb.toString();
}
+ public void testHumanTasks() throws Exception {
+
+ KnowledgeBuilderProvider kbuilderFactory = this.client.getKnowledgeBuilderFactory();
+ KnowledgeBuilder kbuilder = kbuilderFactory.newKnowledgeBuilder();
+ kbuilder.add( new ClassPathResource("rules/humanTasks.rf"),
+ ResourceType.DRF );
+
+ if ( kbuilder.hasErrors() ) {
+ System.out.println( "Errors: " + kbuilder.getErrors() );
+ }
+
+ KnowledgeBaseProvider kbaseFactory = this.client.getKnowledgeBaseFactory();
+ KnowledgeBase kbase = kbaseFactory.newKnowledgeBase();
+
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ ((StatefulKnowledgeSessionRemoteClient)ksession).registerWorkItemHandler("Human Task", "org.drools.vsm.task.CommandBasedVSMWSHumanTaskHandler");
+ ProcessInstance processInstance = ksession.startProcess("org.drools.test.humanTasks");
+ HumanTaskServiceProvider humanTaskServiceFactory = this.client.getHumanTaskService();
+ htClient = humanTaskServiceFactory.newHumanTaskServiceClient();
+
+ Thread.sleep(1000);
+
+ ksession.fireAllRules();
+
+ System.out.println("First Task Execution");
+ assertEquals(true , executeNextTask("lucaz"));
+ Thread.sleep(8000);
+ System.out.println("Second Task Execution");
+ assertEquals(true , executeNextTask("lucaz"));
+ System.out.println("Inexistent Task Execution");
+ Thread.sleep(8000);
+ assertEquals(false, executeNextTask("lucaz"));
+
+ }
+
+ private boolean executeNextTask(String user) {
+
+ BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
+ ((HumanTaskServiceImpl)htClient).getTasksAssignedAsPotentialOwner(user, "en-UK", responseHandler);
+ responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+
+ if (responseHandler.getResults().size()==0)
+ return false;
+
+ TaskSummary task = responseHandler.getResults().get(0);
+ ContentData data = new ContentData();
+ data.setContent("next step".getBytes());
+
+ BlockingTaskOperationMessageResponseHandler startResponseHandler = new BlockingTaskOperationMessageResponseHandler();
+ ((HumanTaskServiceImpl)htClient).start(task.getId(), user, startResponseHandler );
+ startResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+
+ System.out.println("Started Task " + task.getId());
+
+ BlockingTaskOperationMessageResponseHandler completeResponseHandler = new BlockingTaskOperationMessageResponseHandler();
+ ((HumanTaskServiceImpl)htClient).complete(task.getId(), user, null , completeResponseHandler);
+ completeResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
+ System.out.println("Completed Task " + task.getId());
+
+ return true;
+ }
+
}
Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java 2009-12-23 17:56:28 UTC (rev 30807)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerTestBase.java 2009-12-23 18:42:14 UTC (rev 30808)
@@ -9,24 +9,16 @@
import org.drools.builder.ResourceType;
import org.drools.command.runtime.rule.FireAllRulesCommand;
import org.drools.io.ResourceFactory;
-import org.drools.io.impl.ClassPathResource;
import org.drools.runtime.ExecutionResults;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.process.ProcessInstance;
-import org.drools.task.query.TaskSummary;
-import org.drools.task.service.ContentData;
-import org.drools.task.service.HumanTaskServiceImpl;
-import org.drools.vsm.remote.StatefulKnowledgeSessionRemoteClient;
-import org.drools.vsm.task.responseHandlers.BlockingTaskOperationMessageResponseHandler;
-import org.drools.vsm.task.responseHandlers.BlockingTaskSummaryMessageResponseHandler;
public class ServiceManagerTestBase extends TestCase {
- private static final int DEFAULT_WAIT_TIME = 5000;
+
protected ServiceManager client;
- private HumanTaskService htClient;
+
public void testFireAllRules() throws Exception {
String str = "";
@@ -187,69 +179,5 @@
// assertEquals( 2, (int ) ( Integer) results.getValue( "fired" ) );
}
- public void testHumanTasks() throws Exception {
-
- KnowledgeBuilderProvider kbuilderFactory = this.client.getKnowledgeBuilderFactory();
- KnowledgeBuilder kbuilder = kbuilderFactory.newKnowledgeBuilder();
- kbuilder.add( new ClassPathResource("rules/humanTasks.rf"),
- ResourceType.DRF );
-
- if ( kbuilder.hasErrors() ) {
- System.out.println( "Errors: " + kbuilder.getErrors() );
- }
-
- KnowledgeBaseProvider kbaseFactory = this.client.getKnowledgeBaseFactory();
- KnowledgeBase kbase = kbaseFactory.newKnowledgeBase();
-
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-
- ((StatefulKnowledgeSessionRemoteClient)ksession).registerWorkItemHandler("Human Task", "org.drools.vsm.task.CommandBasedVSMWSHumanTaskHandler");
- ProcessInstance processInstance = ksession.startProcess("org.drools.test.humanTasks");
- HumanTaskServiceProvider humanTaskServiceFactory = this.client.getHumanTaskService();
- htClient = humanTaskServiceFactory.newHumanTaskServiceClient();
-
- Thread.sleep(1000);
-
- ksession.fireAllRules();
-
- System.out.println("First Task Execution");
- assertEquals(true , executeNextTask("lucaz"));
- Thread.sleep(8000);
- System.out.println("Second Task Execution");
- assertEquals(true , executeNextTask("lucaz"));
- System.out.println("Inexistent Task Execution");
- Thread.sleep(8000);
- assertEquals(false, executeNextTask("lucaz"));
-
- }
-
- private boolean executeNextTask(String user) {
-
- BlockingTaskSummaryMessageResponseHandler responseHandler = new BlockingTaskSummaryMessageResponseHandler();
- ((HumanTaskServiceImpl)htClient).getTasksAssignedAsPotentialOwner(user, "en-UK", responseHandler);
- responseHandler.waitTillDone(DEFAULT_WAIT_TIME);
-
- if (responseHandler.getResults().size()==0)
- return false;
-
- TaskSummary task = responseHandler.getResults().get(0);
- ContentData data = new ContentData();
- data.setContent("next step".getBytes());
-
- BlockingTaskOperationMessageResponseHandler startResponseHandler = new BlockingTaskOperationMessageResponseHandler();
- ((HumanTaskServiceImpl)htClient).start(task.getId(), user, startResponseHandler );
- startResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
-
- System.out.println("Started Task " + task.getId());
-
- BlockingTaskOperationMessageResponseHandler completeResponseHandler = new BlockingTaskOperationMessageResponseHandler();
- ((HumanTaskServiceImpl)htClient).complete(task.getId(), user, null , completeResponseHandler);
- completeResponseHandler.waitTillDone(DEFAULT_WAIT_TIME);
- System.out.println("Completed Task " + task.getId());
-
- return true;
- }
-
+
}
More information about the jboss-svn-commits
mailing list