[jboss-svn-commits] JBL Code SVN: r28469 - in labs/jbossrules/trunk/drools-process/drools-process-task/src: main/resources/META-INF and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 26 19:34:11 EDT 2009


Author: KrisVerlaenen
Date: 2009-07-26 19:34:11 -0400 (Sun, 26 Jul 2009)
New Revision: 28469

Modified:
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.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/TaskServerHandler.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServiceSession.java
   labs/jbossrules/trunk/drools-process/drools-process-task/src/main/resources/META-INF/orm.xml
   labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java
Log:
 - supporting multiple groups when querying for potential tasks

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java	2009-07-26 23:34:11 UTC (rev 28469)
@@ -408,12 +408,12 @@
                                     responseHandler );
         session.write( cmd );
     }
-     public void getTasksAssignedAsPotentialOwner(String userId, String groupId,
+     public void getTasksAssignedAsPotentialOwner(String userId, List<String> groupIds,
                                                  String language,
                                                  TaskSummaryResponseHandler responseHandler) {
         List<Object> args = new ArrayList<Object>( 2 );
         args.add( userId );
-        args.add( groupId );
+        args.add( groupIds );
         args.add( language );
         Command cmd = new Command( counter.getAndIncrement(),
                                    CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup,

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	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskClientHandler.java	2009-07-26 23:34:11 UTC (rev 28469)
@@ -58,36 +58,36 @@
                 break;
             }
             case GetTaskResponse: {
-                Task task = (Task) cmd.getArguments().get(0);
                 GetTaskResponseHandler responseHandler = (GetTaskResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {                    
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        Task task = (Task) cmd.getArguments().get(0);
                         responseHandler.execute(task);
                     }
                 }
                 break;
             }
             case AddTaskResponse: {
-                long taskId = (Long) cmd.getArguments().get(0);
                 AddTaskResponseHandler responseHandler = (AddTaskResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        long taskId = (Long) cmd.getArguments().get(0);
                         responseHandler.execute(taskId);
                     }
                 }
                 break;
             }
             case AddCommentResponse: {
-                long commentId = (Long) cmd.getArguments().get(0);
                 AddCommentResponseHandler responseHandler = (AddCommentResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        long commentId = (Long) cmd.getArguments().get(0);
                         responseHandler.execute(commentId);
                     }
                 }
@@ -105,13 +105,13 @@
                 break;
             }
             case AddAttachmentResponse: {
-                long attachmentId = (Long) cmd.getArguments().get(0);
-                long contentId = (Long) cmd.getArguments().get(1);
                 AddAttachmentResponseHandler responseHandler = (AddAttachmentResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        long attachmentId = (Long) cmd.getArguments().get(0);
+                        long contentId = (Long) cmd.getArguments().get(1);
                         responseHandler.execute(attachmentId,
                                 contentId);
                     }
@@ -130,48 +130,48 @@
                 break;
             }
             case GetContentResponse: {
-                Content content = (Content) cmd.getArguments().get(0);
                 GetContentResponseHandler responseHandler = (GetContentResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        Content content = (Content) cmd.getArguments().get(0);
                         responseHandler.execute(content);
                     }
                 }
                 break;
             }
             case SetDocumentContentResponse: {
-                long contentId = (Long) cmd.getArguments().get(0);
                 SetDocumentResponseHandler responseHandler = (SetDocumentResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        long contentId = (Long) cmd.getArguments().get(0);
                         responseHandler.execute(contentId);
                     }
                 }
                 break;
             }
             case QueryTaskSummaryResponse: {
-                List<TaskSummary> results = (List<TaskSummary>) cmd.getArguments().get(0);
                 TaskSummaryResponseHandler responseHandler = (TaskSummaryResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        List<TaskSummary> results = (List<TaskSummary>) cmd.getArguments().get(0);
                         responseHandler.execute(results);
                     }
                 }
                 break;
             }
             case EventTriggerResponse: {
-                Payload payload = (Payload) cmd.getArguments().get(0);
                 EventResponseHandler responseHandler = (EventResponseHandler) responseHandlers.remove(cmd.getId());
                 if (responseHandler != null) {
                     if (!cmd.getArguments().isEmpty() && cmd.getArguments().get(0) instanceof RuntimeException) {
                         responseHandler.setError((RuntimeException) cmd.getArguments().get(0));
                     } else {
+                        Payload payload = (Payload) cmd.getArguments().get(0);
                         responseHandler.execute(payload);
                     }
                 }

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java	2009-07-26 23:34:11 UTC (rev 28469)
@@ -218,8 +218,9 @@
                 }
                 case QueryTasksAssignedAsPotentialOwnerWithGroup: {
                     response = CommandName.QueryTaskSummaryResponse;
-                    List<TaskSummary> results = taskSession.getTasksAssignedAsPotentialOwner((String) cmd.getArguments().get(0),
-                            (String) cmd.getArguments().get(1),
+                    List<TaskSummary> results = taskSession.getTasksAssignedAsPotentialOwner(
+                    		(String) cmd.getArguments().get(0),
+                            (List<String>) cmd.getArguments().get(1),
                             (String) cmd.getArguments().get(2));
                     List args = new ArrayList(1);
                     args.add(results);
@@ -342,7 +343,7 @@
             }
         } catch (RuntimeException e) {
             systemEventListener.exception(e.getMessage(),e);
-
+            e.printStackTrace(System.err);
             List<Object> list = new ArrayList<Object>(1);
             list.add(e);
             Command resultsCmnd = new Command(cmd.getId(), response, list);

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServiceSession.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServiceSession.java	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServiceSession.java	2009-07-26 23:34:11 UTC (rev 28469)
@@ -525,11 +525,11 @@
         return (List<TaskSummary>) tasksAssignedAsPotentialOwner.getResultList();
     }
 
-    public List<TaskSummary> getTasksAssignedAsPotentialOwner(final String userId, final String groupId,
+    public List<TaskSummary> getTasksAssignedAsPotentialOwner(final String userId, final List<String> groupIds,
                                                               final String language) {
-        final Query tasksAssignedAsPotentialOwner = em.createNamedQuery("TasksAssignedAsPotentialOwnerWithGroup");
+        final Query tasksAssignedAsPotentialOwner = em.createNamedQuery("TasksAssignedAsPotentialOwnerWithGroups");
         tasksAssignedAsPotentialOwner.setParameter("userId", userId);
-        tasksAssignedAsPotentialOwner.setParameter("groupId", groupId);
+        tasksAssignedAsPotentialOwner.setParameter("groupIds", groupIds);
         tasksAssignedAsPotentialOwner.setParameter("language", language);
 
         return (List<TaskSummary>) tasksAssignedAsPotentialOwner.getResultList();

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/resources/META-INF/orm.xml	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/resources/META-INF/orm.xml	2009-07-26 23:34:11 UTC (rev 28469)
@@ -123,7 +123,7 @@
           </query>
           <!-- hint name="org.hibernate.timeout" value="200"/ -->
       </named-query>
-            <named-query name="TasksAssignedAsPotentialOwnerWithGroup">
+            <named-query name="TasksAssignedAsPotentialOwnerWithGroups">
           <query>
 select
      new org.drools.task.query.TaskSummary(
@@ -146,8 +146,8 @@
     I18NText descriptions,
     OrganizationalEntity potentialOwners
 where
-    (potentialOwners.id = :userId or potentialOwners.id = :groupId) and
-    potentialOwners in elements ( t.peopleAssignments.potentialOwners  )  and
+    ( potentialOwners.id = :userId or potentialOwners.id in (:groupIds) ) and
+    potentialOwners in elements ( t.peopleAssignments.potentialOwners )  and
 
     names.language = :language and
     names in elements( t.names) and

Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java	2009-07-26 23:31:32 UTC (rev 28468)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/process/workitem/wsht/WSHumanTaskHandlerTest.java	2009-07-26 23:34:11 UTC (rev 28469)
@@ -23,6 +23,7 @@
 import java.io.ObjectOutputStream;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -151,7 +152,9 @@
         Thread.sleep(500);
 
         BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
-        client.getTasksAssignedAsPotentialOwner(null, "Crusaders", "en-UK", responseHandler);
+        List<String> groupIds = new ArrayList<String>();
+        groupIds.add("Crusaders");
+        client.getTasksAssignedAsPotentialOwner(null, groupIds, "en-UK", responseHandler);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(1, tasks.size());
         TaskSummary taskSummary = tasks.get(0);
@@ -203,7 +206,9 @@
         Thread.sleep(500);
 
         BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();
-        client.getTasksAssignedAsPotentialOwner("Darth Vader", "Crusaders", "en-UK", responseHandler);
+        List<String> groupIds = new ArrayList<String>();
+        groupIds.add("Crusaders");
+        client.getTasksAssignedAsPotentialOwner("Darth Vader", groupIds, "en-UK", responseHandler);
         List<TaskSummary> tasks = responseHandler.getResults();
         assertEquals(2, tasks.size());
     }



More information about the jboss-svn-commits mailing list