[jboss-svn-commits] JBL Code SVN: r32792 - in labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools: process/workitem/wsht and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri May 7 21:23:38 EDT 2010


Author: KrisVerlaenen
Date: 2010-05-07 21:23:37 -0400 (Fri, 07 May 2010)
New Revision: 32792

Modified:
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/eventmessaging/EventResponseHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/BlockingEventResponseHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingEventResponseHandler.java
Log:
JBRULES-2471: Human task handler does not support restarting session for already created tasks
 - fixed issue where event response handler was removed at client side

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/eventmessaging/EventResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/eventmessaging/EventResponseHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/eventmessaging/EventResponseHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -4,4 +4,5 @@
 
 public interface EventResponseHandler extends ResponseHandler {
     public void execute(Payload payload);
+    public boolean isRemove();
 }

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/BlockingEventResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/BlockingEventResponseHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/BlockingEventResponseHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -30,4 +30,9 @@
 
         return payload;
     }
+    
+    public boolean isRemove() {
+    	return true;
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/CommandBasedWSHumanTaskHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -74,11 +74,11 @@
 			}
 			TaskEventKey key = new TaskEventKey(TaskCompletedEvent.class, -1);           
 	        TaskCompletedHandler eventResponseHandler = new TaskCompletedHandler();
-	        client.registerForEvent(key, true, eventResponseHandler);
+	        client.registerForEvent(key, false, eventResponseHandler);
 	        key = new TaskEventKey(TaskFailedEvent.class, -1);           
-	        client.registerForEvent(key, true, eventResponseHandler);
+	        client.registerForEvent(key, false, eventResponseHandler);
 	        key = new TaskEventKey(TaskSkippedEvent.class, -1);           
-	        client.registerForEvent(key, true, eventResponseHandler);
+	        client.registerForEvent(key, false, eventResponseHandler);
 		}
 	}
 
@@ -206,6 +206,10 @@
         		new GetCompletedTaskResponseHandler();
         	client.getTask(taskId, getTaskResponseHandler);   
         }
+        
+        public boolean isRemove() {
+        	return false;
+        }
     }
     
     private class GetCompletedTaskResponseHandler extends AbstractBaseResponseHandler implements GetTaskResponseHandler {

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/process/workitem/wsht/WSHumanTaskHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -53,11 +53,11 @@
 			TaskEventKey key = new TaskEventKey(TaskCompletedEvent.class, -1);           
             TaskCompletedHandler eventResponseHandler =
             	new TaskCompletedHandler(manager, client);
-            client.registerForEvent(key, true, eventResponseHandler);
+            client.registerForEvent(key, false, eventResponseHandler);
             key = new TaskEventKey(TaskFailedEvent.class, -1);           
-            client.registerForEvent(key, true, eventResponseHandler);
+            client.registerForEvent(key, false, eventResponseHandler);
             key = new TaskEventKey(TaskSkippedEvent.class, -1);           
-            client.registerForEvent(key, true, eventResponseHandler);
+            client.registerForEvent(key, false, eventResponseHandler);
             System.out.println("Registered human task listener");
 		}
 	}
@@ -207,6 +207,10 @@
         		new GetCompletedTaskResponseHandler(manager, client);
         	client.getTask(taskId, getTaskResponseHandler);   
         }
+        
+        public boolean isRemove() {
+        	return false;
+        }
     }
     
     private static class GetCompletedTaskResponseHandler extends AbstractBaseResponseHandler implements GetTaskResponseHandler {

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -178,8 +178,11 @@
                 break;
             }
             case EventTriggerResponse: {
-                EventResponseHandler responseHandler = (EventResponseHandler) responseHandlers.remove(cmd.getId());
+                EventResponseHandler responseHandler = (EventResponseHandler) responseHandlers.get(cmd.getId());
                 if (responseHandler != null) {
+                	if (responseHandler.isRemove()) {
+                		responseHandlers.remove(cmd.getId());
+                	}
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingEventResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingEventResponseHandler.java	2010-05-07 20:51:57 UTC (rev 32791)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/responsehandlers/BlockingEventResponseHandler.java	2010-05-08 01:23:37 UTC (rev 32792)
@@ -27,4 +27,8 @@
 
         return payload;
     }
+    
+    public boolean isRemove() {
+    	return true;
+    }
 }
\ No newline at end of file



More information about the jboss-svn-commits mailing list