[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