[jboss-svn-commits] JBL Code SVN: r22363 - in labs/jbossrules/trunk/drools-process/drools-process-task/src: test/java/org/drools/task/service and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 3 20:17:35 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-09-03 20:17:35 -0400 (Wed, 03 Sep 2008)
New Revision: 22363
Added:
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddAttachmentResponseHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddCommentResponseHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddTaskResponseHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetAttachmentContentResponseHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetTaskResponseHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java
Removed:
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTaskUpdate.java
Modified:
labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/CommandName.java
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/TaskServerHandler.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskService.java
labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java
Log:
JBRULES-1745 WS-Human-Task
-Add client/server stuff for claim operation.
Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/CommandName.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/CommandName.java 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/CommandName.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -1,9 +1,11 @@
package org.drools.task.service;
-import javax.persistence.Query;
public enum CommandName {
+ ClaimRequest,
+ ClaimResponse,
+
GetTaskRequest,
GetTaskResponse,
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 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/MinaTaskClient.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -23,6 +23,7 @@
import org.drools.task.AttachmentContent;
import org.drools.task.Comment;
import org.drools.task.Task;
+import org.drools.task.User;
import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
@@ -176,8 +177,13 @@
session.write( cmd );
}
- public void claim(long taskId) {
+ public void claim(long taskId, long userId) {
+ List args = new ArrayList( 1 );
+ args.add( taskId );
+ args.add( userId );
+ Command cmd = new Command( counter.getAndIncrement(), CommandName.ClaimRequest, args);
+ session.write( cmd );
}
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 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskServerHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -33,6 +33,11 @@
Object message) throws Exception {
Command cmd = (Command) message;
switch ( cmd.getName() ) {
+ case ClaimRequest : {
+ long taskId = ( Long ) cmd.getArguments().get( 0 );
+ long userId = ( Long ) cmd.getArguments().get( 1 );
+ service.claim( taskId, userId );
+ }
case GetTaskRequest : {
long taskId = ( Long ) cmd.getArguments().get( 0 );
Task task = service.getTask( taskId );
Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskService.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskService.java 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/main/java/org/drools/task/service/TaskService.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -22,6 +22,8 @@
import org.drools.task.Comment;
import org.drools.task.Deadline;
import org.drools.task.Group;
+import org.drools.task.OrganizationalEntity;
+import org.drools.task.PeopleAssignments;
import org.drools.task.Status;
import org.drools.task.Task;
import org.drools.task.TaskData;
@@ -193,22 +195,30 @@
}
public void claim(long taskId,
- User user) {
+ long userId) {
Task task = em.find( Task.class,
taskId );
+
+ User user = em.find( User.class, userId );
+
TaskData taskData = task.getTaskData();
- em.getTransaction().begin();
-
//task must be in status Ready
if ( taskData.getStatus() == Status.Ready ) {
- taskData.setStatus( Status.Reserved );
- taskData.setActualOwner( user );
+ // check permissions
+ PeopleAssignments people = task.getPeopleAssignments();
+ if ( isAllowed( user, new List[] { people.getPotentialOwners(), people.getBusinessAdministrators() } ) ) {
+ em.getTransaction().begin();
+ // only potential onwers and business admin can claim a task
+ taskData.setStatus( Status.Reserved );
+ taskData.setActualOwner( user );
+ em.getTransaction().commit();
+ } else {
+ // @TODO Error
+ }
} else {
// @TODO Error
}
-
- em.getTransaction().commit();
}
public void start(long taskId,
@@ -472,6 +482,20 @@
localEm );
localEm.close();
}
+
+ public boolean isAllowed(User user, List<OrganizationalEntity>[] people) {
+ for ( List<OrganizationalEntity> list : people ) {
+ if ( isAllowed( user, list) ) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public boolean isAllowed(User user, List<OrganizationalEntity> entities) {
+ // for now just do a contains, I'll figure out group membership later.
+ return entities.contains( user );
+ }
public static String toString(Reader reader) throws IOException {
int charValue = 0;
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddAttachmentResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddAttachmentResponseHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddAttachmentResponseHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,51 @@
+/**
+ *
+ */
+package org.drools.task.service;
+
+import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
+
+public class BlockingAddAttachmentResponseHandler implements AddAttachmentResponseHandler {
+ private volatile long attachmentId ;
+ private volatile long contentId;
+ private volatile boolean wait = true;
+
+ public synchronized void execute(long attachmentId, long contentId) {
+ this.attachmentId = attachmentId;
+ this.contentId = contentId;
+ wait = false;
+ notifyAll();
+ }
+
+ public synchronized long getAttachmentId() {
+ if ( wait ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( wait ) {
+ throw new RuntimeException("Timeout : unable to retrieve Attachment Id" );
+ }
+
+ return attachmentId;
+ }
+
+ public synchronized long getContentId() {
+ if ( wait ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( wait ) {
+ throw new RuntimeException("Timeout : unable to retrieve Attachment Content Id" );
+ }
+
+ return contentId;
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddCommentResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddCommentResponseHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddCommentResponseHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.drools.task.service;
+
+import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
+
+public class BlockingAddCommentResponseHandler implements AddCommentResponseHandler {
+ private volatile long commentId;
+ private volatile boolean wait = true;
+
+ public synchronized void execute(long commentId) {
+ this.commentId = commentId;
+ wait = false;
+ notifyAll();
+ }
+
+ public synchronized long getCommentId() {
+ if ( wait ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( wait ) {
+ throw new RuntimeException("Timeout : unable to retrieve Task Id" );
+ }
+
+ return commentId;
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddTaskResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddTaskResponseHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingAddTaskResponseHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,33 @@
+/**
+ *
+ */
+package org.drools.task.service;
+
+import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
+
+public class BlockingAddTaskResponseHandler implements AddTaskResponseHandler {
+ private volatile long taskId;
+ private volatile boolean wait = true;
+
+ public synchronized void execute(long taskId) {
+ this.taskId = taskId;
+ wait = false;
+ notifyAll();
+ }
+
+ public synchronized long getTaskId() {
+ if ( wait ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( wait ) {
+ throw new RuntimeException("Timeout : unable to retrieve Task Id" );
+ }
+
+ return taskId;
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetAttachmentContentResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetAttachmentContentResponseHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetAttachmentContentResponseHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,32 @@
+/**
+ *
+ */
+package org.drools.task.service;
+
+import org.drools.task.AttachmentContent;
+import org.drools.task.service.TaskClientHandler.GetAttachmentContentResponseHandler;
+
+public class BlockingGetAttachmentContentResponseHandler implements GetAttachmentContentResponseHandler {
+ private volatile AttachmentContent attachmentContent;
+
+ public synchronized void execute(AttachmentContent attachmentContent) {
+ this.attachmentContent = attachmentContent;
+ notifyAll();
+ }
+
+ public synchronized AttachmentContent getAttachmentContent() {
+ if ( attachmentContent == null ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( attachmentContent == null ) {
+ throw new RuntimeException("Timeout : unable to retrieve Attachment Content" );
+ }
+
+ return attachmentContent;
+ }
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetTaskResponseHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetTaskResponseHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/BlockingGetTaskResponseHandler.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,32 @@
+/**
+ *
+ */
+package org.drools.task.service;
+
+import org.drools.task.Task;
+import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
+
+public class BlockingGetTaskResponseHandler implements GetTaskResponseHandler {
+ private volatile Task task;
+
+ public synchronized void execute(Task task) {
+ this.task = task;
+ notifyAll();
+ }
+
+ public synchronized Task getTask() {
+ if ( task == null ) {
+ try {
+ wait( 3000 );
+ } catch ( InterruptedException e ) {
+ // swallow as this is just a notifiation
+ }
+ }
+
+ if ( task == null ) {
+ throw new RuntimeException("Timeout : unable to retrieve Task Id" );
+ }
+
+ return task;
+ }
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java (from rev 22353, labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTaskUpdate.java)
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,241 @@
+package org.drools.task.service;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+
+import org.apache.commons.collections.map.HashedMap;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.task.AccessType;
+import org.drools.task.Attachment;
+import org.drools.task.AttachmentContent;
+import org.drools.task.BaseTest;
+import org.drools.task.Comment;
+import org.drools.task.Deadline;
+import org.drools.task.Task;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
+import org.drools.task.service.TaskServiceEscalationTest.MockEscalatedDeadlineHandler.Item;
+import org.drools.task.service.TaskServiceTest.BlockingAllOpenTasksForUseResponseHandler;
+import org.drools.task.utils.CollectionUtils;
+
+import junit.framework.TestCase;
+
+public class TaskServiceCommentsAndAttachmentsTest extends BaseTest {
+ MinaTaskServer server;
+ MinaTaskClient client;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ server = new MinaTaskServer( taskService );
+ Thread thread = new Thread( server );
+ thread.start();
+ Thread.sleep( 500 );
+
+ client = new MinaTaskClient( "client 1",
+ new TaskClientHandler() );
+ NioSocketConnector connector = new NioSocketConnector();
+ SocketAddress address = new InetSocketAddress( "127.0.0.1",
+ 9123 );
+ client.connect( connector,
+ address );
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ client.disconnect();
+ server.stop();
+ }
+
+ public void testAddComment() {
+ Map vars = new HashedMap();
+ vars.put( "users", users );
+ vars.put( "groups", groups );
+ vars.put( "now", new Date() );
+
+ String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), ";
+ str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
+
+ BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
+ Task task = ( Task ) eval( new StringReader( str ), vars );
+ client.addTask( task, addTaskResponseHandler );
+
+ long taskId = addTaskResponseHandler.getTaskId();
+
+ Comment comment = new Comment();
+ Date addedAt = new Date( System.currentTimeMillis() );
+ comment.setAddedAt( addedAt );
+ comment.setAddedBy( users.get( "luke" ) );
+ comment.setText( "This is my comment1!!!!!" );
+
+ BlockingAddCommentResponseHandler addCommentResponseHandler = new BlockingAddCommentResponseHandler();
+ client.addComment( taskId, comment,addCommentResponseHandler );
+ assertTrue( addCommentResponseHandler.getCommentId() != comment.getId() );
+
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task1 = getTaskResponseHandler.getTask();
+ assertNotSame(task, task1);
+ assertFalse( task.equals( task1) );
+
+ List<Comment> comments1 = task1.getTaskData().getComments();
+ assertEquals(1, comments1.size() );
+ Comment returnedComment = comments1.get( 0 );
+ assertEquals( "This is my comment1!!!!!", returnedComment.getText() );
+ assertEquals( addedAt, returnedComment.getAddedAt() );
+ assertEquals( users.get( "luke" ), returnedComment.getAddedBy() );
+
+ assertEquals( (long)addCommentResponseHandler.getCommentId(), (long) returnedComment.getId() );
+
+ task.getTaskData().setComments( comments1 );
+ assertEquals(task, task1);
+
+ // test we can have multiple comments
+ comment = new Comment();
+ addedAt = new Date( System.currentTimeMillis() );
+ comment.setAddedAt( addedAt );
+ comment.setAddedBy( users.get( "tony" ) );
+ comment.setText( "This is my comment2!!!!!" );
+
+ addCommentResponseHandler = new BlockingAddCommentResponseHandler();
+ client.addComment( taskId, comment, addCommentResponseHandler );
+
+ getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ task1 = getTaskResponseHandler.getTask();
+ List<Comment> comments2 = task1.getTaskData().getComments();
+ assertEquals(2, comments2.size() );
+
+ // make two collections the same and compare
+ comments1.add( comment );
+ assertTrue( CollectionUtils.equals( comments1, comments2 ) );
+
+ client.deleteComment( taskId, addCommentResponseHandler.getCommentId() );
+
+ getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ task1 = getTaskResponseHandler.getTask();
+ comments2 = task1.getTaskData().getComments();
+ assertEquals(1, comments2.size() );
+
+ assertEquals( "This is my comment1!!!!!", comments2.get( 0 ).getText() );
+ }
+
+ public void testAddRemoveAttachment() throws Exception {
+ Map vars = new HashedMap();
+ vars.put( "users", users );
+ vars.put( "groups", groups );
+ vars.put( "now", new Date() );
+
+ String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), ";
+ str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
+
+ BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
+ Task task = ( Task ) eval( new StringReader( str ), vars );
+ client.addTask( task, addTaskResponseHandler );
+
+ long taskId = addTaskResponseHandler.getTaskId();
+
+ Attachment attachment = new Attachment();
+ Date attachedAt = new Date( System.currentTimeMillis() );
+ attachment.setAttachedAt( attachedAt);
+ attachment.setAttachedBy( users.get( "luke" ) );
+ attachment.setName( "file1.txt" );
+ attachment.setAccessType( AccessType.Inline );
+ attachment.setContentType( "txt" );
+
+ byte[] bytes = "Ths is my attachment text1".getBytes();
+ AttachmentContent content = new AttachmentContent();
+ content.setContent( bytes );
+
+ BlockingAddAttachmentResponseHandler addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler();
+ client.addAttachment( taskId, attachment, content, addAttachmentResponseHandler);
+ assertTrue( addAttachmentResponseHandler.getAttachmentId() != attachment.getId() );
+ assertTrue( addAttachmentResponseHandler.getContentId() != attachment.getContentId() );
+
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task1 = getTaskResponseHandler.getTask();
+ assertNotSame(task, task1);
+ assertFalse( task.equals( task1) );
+
+ List<Attachment> attachments1 = task1.getTaskData().getAttachments();
+ assertEquals(1, attachments1.size() );
+ Attachment returnedAttachment = attachments1.get( 0 );
+ assertEquals( attachedAt, returnedAttachment.getAttachedAt() );
+ assertEquals( users.get( "luke" ), returnedAttachment.getAttachedBy() );
+ assertEquals( AccessType.Inline, returnedAttachment.getAccessType() );
+ assertEquals( "txt", returnedAttachment.getContentType() );
+ assertEquals( "file1.txt", returnedAttachment.getName() );
+ assertEquals( bytes.length, returnedAttachment.getSize() );
+
+ assertEquals( (long) addAttachmentResponseHandler.getAttachmentId(), (long) returnedAttachment.getId() );
+ assertEquals( (long) addAttachmentResponseHandler.getContentId(), (long) returnedAttachment.getContentId() );
+
+ task.getTaskData().setAttachments( attachments1 );
+ assertEquals(task, task1);
+
+ BlockingGetAttachmentContentResponseHandler getAttachmentContentResponseHandler = new BlockingGetAttachmentContentResponseHandler();
+ client.getAttachmentContent( returnedAttachment.getContentId(), getAttachmentContentResponseHandler );
+ AttachmentContent attachmentContent = getAttachmentContentResponseHandler.getAttachmentContent();
+ assertEquals( "Ths is my attachment text1", new String( attachmentContent.getContent() ) );
+
+ // test we can have multiple attachments
+
+ attachment = new Attachment();
+ attachedAt = new Date( System.currentTimeMillis() );
+ attachment.setAttachedAt( attachedAt);
+ attachment.setAttachedBy( users.get( "tony" ) );
+ attachment.setName( "file2.txt" );
+ attachment.setAccessType( AccessType.Inline );
+ attachment.setContentType( "txt" );
+
+ bytes = "Ths is my attachment text2".getBytes();
+ content = new AttachmentContent();
+ content.setContent( bytes );
+
+ addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler();
+ client.addAttachment( taskId, attachment, content, addAttachmentResponseHandler);
+
+ getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ task1 = getTaskResponseHandler.getTask();
+ assertNotSame(task, task1);
+ assertFalse( task.equals( task1) );
+
+ List<Attachment> attachments2 = task1.getTaskData().getAttachments();
+ assertEquals(2, attachments2.size() );
+
+ getAttachmentContentResponseHandler = new BlockingGetAttachmentContentResponseHandler();
+ client.getAttachmentContent( addAttachmentResponseHandler.getContentId(), getAttachmentContentResponseHandler );
+ attachmentContent = getAttachmentContentResponseHandler.getAttachmentContent();
+ assertEquals( "Ths is my attachment text2", new String( attachmentContent.getContent() ) );
+
+ // make two collections the same and compare
+ attachment.setSize( 26 );
+ attachment.setContentId( addAttachmentResponseHandler.getContentId() );
+ attachments1.add( attachment );
+ assertTrue( CollectionUtils.equals( attachments2, attachments1 ) );
+
+ client.deleteAttachment( taskId, addAttachmentResponseHandler.getAttachmentId(), addAttachmentResponseHandler.getContentId() );
+
+ Thread.sleep( 3000 );
+
+ getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ task1 = getTaskResponseHandler.getTask();
+ attachments2 = task1.getTaskData().getAttachments();
+ assertEquals(1, attachments2.size() );
+
+ assertEquals( "file1.txt", attachments2.get( 0 ).getName());
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceCommentsAndAttachmentsTest.java
___________________________________________________________________
Name: svn:mergeinfo
+
Added: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceLifeCycleTest.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -0,0 +1,151 @@
+package org.drools.task.service;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManager;
+
+import org.apache.commons.collections.map.HashedMap;
+import org.apache.mina.transport.socket.nio.NioSocketConnector;
+import org.drools.task.AccessType;
+import org.drools.task.Attachment;
+import org.drools.task.AttachmentContent;
+import org.drools.task.BaseTest;
+import org.drools.task.Comment;
+import org.drools.task.Deadline;
+import org.drools.task.Status;
+import org.drools.task.Task;
+import org.drools.task.query.TaskSummary;
+import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
+import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
+import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
+import org.drools.task.service.TaskClientHandler.GetAttachmentContentResponseHandler;
+import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
+import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
+import org.drools.task.service.TaskServiceEscalationTest.MockEscalatedDeadlineHandler.Item;
+import org.drools.task.service.TaskServiceTest.BlockingAllOpenTasksForUseResponseHandler;
+import org.drools.task.utils.CollectionUtils;
+
+import junit.framework.TestCase;
+
+public class TaskServiceLifeCycleTest extends BaseTest {
+ MinaTaskServer server;
+ MinaTaskClient client;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ server = new MinaTaskServer( taskService );
+ Thread thread = new Thread( server );
+ thread.start();
+ Thread.sleep( 500 );
+
+ client = new MinaTaskClient( "client 1",
+ new TaskClientHandler() );
+ NioSocketConnector connector = new NioSocketConnector();
+ SocketAddress address = new InetSocketAddress( "127.0.0.1",
+ 9123 );
+ client.connect( connector,
+ address );
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ client.disconnect();
+ server.stop();
+ }
+
+ public void testNewTaskWithNoPotentialOwners() {
+ Map vars = new HashedMap();
+ vars.put( "users", users );
+ vars.put( "groups", groups );
+ vars.put( "now", new Date() );
+
+ // One potential owner, should go straight to state Reserved
+ String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), ";
+ str += "peopleAssignments = (with ( new PeopleAssignments() ) { }),";
+ str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
+
+ BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
+ Task task = ( Task ) eval( new StringReader( str ), vars );
+ client.addTask( task, addTaskResponseHandler );
+
+ long taskId = addTaskResponseHandler.getTaskId();
+
+ // Task should remain in Created state with no actual owner
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task1 = getTaskResponseHandler.getTask();
+ assertNotSame(task, task1);
+ assertFalse( task.equals( task1) );
+ assertEquals( task1.getTaskData().getStatus(), Status.Created );
+ assertNull( task1.getTaskData().getActualOwner() );
+ }
+
+ public void testNewTaskWithSinglePotentialOwner() {
+ Map vars = new HashedMap();
+ vars.put( "users", users );
+ vars.put( "groups", groups );
+ vars.put( "now", new Date() );
+
+ // One potential owner, should go straight to state Reserved
+ String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), ";
+ str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [users['bobba' ] ], }),";
+ str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
+
+ BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
+ Task task = ( Task ) eval( new StringReader( str ), vars );
+ client.addTask( task, addTaskResponseHandler );
+
+ long taskId = addTaskResponseHandler.getTaskId();
+
+ // Task should be assigned to the single potential owner and state set to Reserved
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task1 = getTaskResponseHandler.getTask();
+ assertNotSame(task, task1);
+ assertFalse( task.equals( task1) );
+ assertEquals( task1.getTaskData().getStatus(), Status.Reserved );
+ assertEquals( users.get( "bobba" ), task1.getTaskData().getActualOwner() );
+ }
+
+ public void testClaimWithMultiplePotentialOwners() {
+ Map vars = new HashedMap();
+ vars.put( "users", users );
+ vars.put( "groups", groups );
+ vars.put( "now", new Date() );
+
+ // One potential owner, should go straight to state Reserved
+ String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), ";
+ str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [users['bobba' ], users['darth'] ], }),";
+ str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
+
+ BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
+ Task task = ( Task ) eval( new StringReader( str ), vars );
+ client.addTask( task, addTaskResponseHandler );
+
+ long taskId = addTaskResponseHandler.getTaskId();
+
+ // A Task with multiple potential owners moves to "Ready" state until someone claims it.
+ BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task1 = getTaskResponseHandler.getTask();
+ assertEquals( Status.Ready , task1.getTaskData().getStatus() );
+
+ client.claim( taskId, users.get( "darth" ).getId() );
+
+ getTaskResponseHandler = new BlockingGetTaskResponseHandler();
+ client.getTask( taskId, getTaskResponseHandler );
+ Task task2 = getTaskResponseHandler.getTask();
+ assertEquals( Status.Reserved, task2.getTaskData().getStatus() );
+ assertEquals( task2.getTaskData().getActualOwner(), users.get( "darth" ) );
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTaskUpdate.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTaskUpdate.java 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTaskUpdate.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -1,395 +0,0 @@
-package org.drools.task.service;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.EntityManager;
-
-import org.apache.commons.collections.map.HashedMap;
-import org.apache.mina.transport.socket.nio.NioSocketConnector;
-import org.drools.task.AccessType;
-import org.drools.task.Attachment;
-import org.drools.task.AttachmentContent;
-import org.drools.task.BaseTest;
-import org.drools.task.Comment;
-import org.drools.task.Deadline;
-import org.drools.task.Task;
-import org.drools.task.query.TaskSummary;
-import org.drools.task.service.TaskClientHandler.AddAttachmentResponseHandler;
-import org.drools.task.service.TaskClientHandler.AddCommentResponseHandler;
-import org.drools.task.service.TaskClientHandler.AddTaskResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetAttachmentContentResponseHandler;
-import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
-import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
-import org.drools.task.service.TaskServiceEscalationTest.MockEscalatedDeadlineHandler.Item;
-import org.drools.task.service.TaskServiceTest.BlockingAllOpenTasksForUseResponseHandler;
-import org.drools.task.utils.CollectionUtils;
-
-import junit.framework.TestCase;
-
-public class TaskServiceTaskUpdate extends BaseTest {
- MinaTaskServer server;
- MinaTaskClient client;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- server = new MinaTaskServer( taskService );
- Thread thread = new Thread( server );
- thread.start();
- Thread.sleep( 500 );
-
- client = new MinaTaskClient( "client 1",
- new TaskClientHandler() );
- NioSocketConnector connector = new NioSocketConnector();
- SocketAddress address = new InetSocketAddress( "127.0.0.1",
- 9123 );
- client.connect( connector,
- address );
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- client.disconnect();
- server.stop();
- }
-
- public void testAddComment() {
- Map vars = new HashedMap();
- vars.put( "users", users );
- vars.put( "groups", groups );
- vars.put( "now", new Date() );
-
- String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), ";
- str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
-
- BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
- Task task = ( Task ) eval( new StringReader( str ), vars );
- client.addTask( task, addTaskResponseHandler );
-
- long taskId = addTaskResponseHandler.getTaskId();
-
- Comment comment = new Comment();
- Date addedAt = new Date( System.currentTimeMillis() );
- comment.setAddedAt( addedAt );
- comment.setAddedBy( users.get( "luke" ) );
- comment.setText( "This is my comment1!!!!!" );
-
- BlockingAddCommentResponseHandler addCommentResponseHandler = new BlockingAddCommentResponseHandler();
- client.addComment( taskId, comment,addCommentResponseHandler );
- assertTrue( addCommentResponseHandler.getCommentId() != comment.getId() );
-
- BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- Task task1 = getTaskResponseHandler.getTask();
- assertNotSame(task, task1);
- assertFalse( task.equals( task1) );
-
- List<Comment> comments1 = task1.getTaskData().getComments();
- assertEquals(1, comments1.size() );
- Comment returnedComment = comments1.get( 0 );
- assertEquals( "This is my comment1!!!!!", returnedComment.getText() );
- assertEquals( addedAt, returnedComment.getAddedAt() );
- assertEquals( users.get( "luke" ), returnedComment.getAddedBy() );
-
- assertEquals( (long)addCommentResponseHandler.getCommentId(), (long) returnedComment.getId() );
-
- task.getTaskData().setComments( comments1 );
- assertEquals(task, task1);
-
- // test we can have multiple comments
- comment = new Comment();
- addedAt = new Date( System.currentTimeMillis() );
- comment.setAddedAt( addedAt );
- comment.setAddedBy( users.get( "tony" ) );
- comment.setText( "This is my comment2!!!!!" );
-
- addCommentResponseHandler = new BlockingAddCommentResponseHandler();
- client.addComment( taskId, comment, addCommentResponseHandler );
-
- getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- task1 = getTaskResponseHandler.getTask();
- List<Comment> comments2 = task1.getTaskData().getComments();
- assertEquals(2, comments2.size() );
-
- // make two collections the same and compare
- comments1.add( comment );
- assertTrue( CollectionUtils.equals( comments1, comments2 ) );
-
- client.deleteComment( taskId, addCommentResponseHandler.getCommentId() );
-
- getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- task1 = getTaskResponseHandler.getTask();
- comments2 = task1.getTaskData().getComments();
- assertEquals(1, comments2.size() );
-
- assertEquals( "This is my comment1!!!!!", comments2.get( 0 ).getText() );
- }
-
- public void testAddRemoveAttachment() throws Exception {
- Map vars = new HashedMap();
- vars.put( "users", users );
- vars.put( "groups", groups );
- vars.put( "now", new Date() );
-
- String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), ";
- str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })";
-
- BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler();
- Task task = ( Task ) eval( new StringReader( str ), vars );
- client.addTask( task, addTaskResponseHandler );
-
- long taskId = addTaskResponseHandler.getTaskId();
-
- Attachment attachment = new Attachment();
- Date attachedAt = new Date( System.currentTimeMillis() );
- attachment.setAttachedAt( attachedAt);
- attachment.setAttachedBy( users.get( "luke" ) );
- attachment.setName( "file1.txt" );
- attachment.setAccessType( AccessType.Inline );
- attachment.setContentType( "txt" );
-
- byte[] bytes = "Ths is my attachment text1".getBytes();
- AttachmentContent content = new AttachmentContent();
- content.setContent( bytes );
-
- BlockingAddAttachmentResponseHandler addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler();
- client.addAttachment( taskId, attachment, content, addAttachmentResponseHandler);
- assertTrue( addAttachmentResponseHandler.getAttachmentId() != attachment.getId() );
- assertTrue( addAttachmentResponseHandler.getContentId() != attachment.getContentId() );
-
- BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- Task task1 = getTaskResponseHandler.getTask();
- assertNotSame(task, task1);
- assertFalse( task.equals( task1) );
-
- List<Attachment> attachments1 = task1.getTaskData().getAttachments();
- assertEquals(1, attachments1.size() );
- Attachment returnedAttachment = attachments1.get( 0 );
- assertEquals( attachedAt, returnedAttachment.getAttachedAt() );
- assertEquals( users.get( "luke" ), returnedAttachment.getAttachedBy() );
- assertEquals( AccessType.Inline, returnedAttachment.getAccessType() );
- assertEquals( "txt", returnedAttachment.getContentType() );
- assertEquals( "file1.txt", returnedAttachment.getName() );
- assertEquals( bytes.length, returnedAttachment.getSize() );
-
- assertEquals( (long) addAttachmentResponseHandler.getAttachmentId(), (long) returnedAttachment.getId() );
- assertEquals( (long) addAttachmentResponseHandler.getContentId(), (long) returnedAttachment.getContentId() );
-
- task.getTaskData().setAttachments( attachments1 );
- assertEquals(task, task1);
-
- BlockingGetAttachmentContentResponseHandler getAttachmentContentResponseHandler = new BlockingGetAttachmentContentResponseHandler();
- client.getAttachmentContent( returnedAttachment.getContentId(), getAttachmentContentResponseHandler );
- AttachmentContent attachmentContent = getAttachmentContentResponseHandler.getAttachmentContent();
- assertEquals( "Ths is my attachment text1", new String( attachmentContent.getContent() ) );
-
- // test we can have multiple attachments
-
- attachment = new Attachment();
- attachedAt = new Date( System.currentTimeMillis() );
- attachment.setAttachedAt( attachedAt);
- attachment.setAttachedBy( users.get( "tony" ) );
- attachment.setName( "file2.txt" );
- attachment.setAccessType( AccessType.Inline );
- attachment.setContentType( "txt" );
-
- bytes = "Ths is my attachment text2".getBytes();
- content = new AttachmentContent();
- content.setContent( bytes );
-
- addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler();
- client.addAttachment( taskId, attachment, content, addAttachmentResponseHandler);
-
- getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- task1 = getTaskResponseHandler.getTask();
- assertNotSame(task, task1);
- assertFalse( task.equals( task1) );
-
- List<Attachment> attachments2 = task1.getTaskData().getAttachments();
- assertEquals(2, attachments2.size() );
-
- getAttachmentContentResponseHandler = new BlockingGetAttachmentContentResponseHandler();
- client.getAttachmentContent( addAttachmentResponseHandler.getContentId(), getAttachmentContentResponseHandler );
- attachmentContent = getAttachmentContentResponseHandler.getAttachmentContent();
- assertEquals( "Ths is my attachment text2", new String( attachmentContent.getContent() ) );
-
- // make two collections the same and compare
- attachment.setSize( 26 );
- attachment.setContentId( addAttachmentResponseHandler.getContentId() );
- attachments1.add( attachment );
- assertTrue( CollectionUtils.equals( attachments2, attachments1 ) );
-
- client.deleteAttachment( taskId, addAttachmentResponseHandler.getAttachmentId(), addAttachmentResponseHandler.getContentId() );
-
- Thread.sleep( 3000 );
-
- getTaskResponseHandler = new BlockingGetTaskResponseHandler();
- client.getTask( taskId, getTaskResponseHandler );
- task1 = getTaskResponseHandler.getTask();
- attachments2 = task1.getTaskData().getAttachments();
- assertEquals(1, attachments2.size() );
-
- assertEquals( "file1.txt", attachments2.get( 0 ).getName());
- }
-
- public static class BlockingGetTaskResponseHandler implements GetTaskResponseHandler {
- private volatile Task task;
-
- public synchronized void execute(Task task) {
- this.task = task;
- notifyAll();
- }
-
- public synchronized Task getTask() {
- if ( task == null ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( task == null ) {
- throw new RuntimeException("Timeout : unable to retrieve Task Id" );
- }
-
- return task;
- }
- }
-
- public static class BlockingAddTaskResponseHandler implements AddTaskResponseHandler {
- private volatile long taskId;
- private volatile boolean wait = true;
-
- public synchronized void execute(long taskId) {
- this.taskId = taskId;
- wait = false;
- notifyAll();
- }
-
- public synchronized long getTaskId() {
- if ( wait ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( wait ) {
- throw new RuntimeException("Timeout : unable to retrieve Task Id" );
- }
-
- return taskId;
- }
- }
-
- public static class BlockingAddCommentResponseHandler implements AddCommentResponseHandler {
- private volatile long commentId;
- private volatile boolean wait = true;
-
- public synchronized void execute(long commentId) {
- this.commentId = commentId;
- wait = false;
- notifyAll();
- }
-
- public synchronized long getCommentId() {
- if ( wait ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( wait ) {
- throw new RuntimeException("Timeout : unable to retrieve Task Id" );
- }
-
- return commentId;
- }
- }
-
- public static class BlockingAddAttachmentResponseHandler implements AddAttachmentResponseHandler {
- private volatile long attachmentId ;
- private volatile long contentId;
- private volatile boolean wait = true;
-
- public synchronized void execute(long attachmentId, long contentId) {
- this.attachmentId = attachmentId;
- this.contentId = contentId;
- wait = false;
- notifyAll();
- }
-
- public synchronized long getAttachmentId() {
- if ( wait ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( wait ) {
- throw new RuntimeException("Timeout : unable to retrieve Attachment Id" );
- }
-
- return attachmentId;
- }
-
- public synchronized long getContentId() {
- if ( wait ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( wait ) {
- throw new RuntimeException("Timeout : unable to retrieve Attachment Content Id" );
- }
-
- return contentId;
- }
- }
-
- public static class BlockingGetAttachmentContentResponseHandler implements GetAttachmentContentResponseHandler {
- private volatile AttachmentContent attachmentContent;
-
- public synchronized void execute(AttachmentContent attachmentContent) {
- this.attachmentContent = attachmentContent;
- notifyAll();
- }
-
- public synchronized AttachmentContent getAttachmentContent() {
- if ( attachmentContent == null ) {
- try {
- wait( 3000 );
- } catch ( InterruptedException e ) {
- // swallow as this is just a notifiation
- }
- }
-
- if ( attachmentContent == null ) {
- throw new RuntimeException("Timeout : unable to retrieve Attachment Content" );
- }
-
- return attachmentContent;
- }
- }
-}
Modified: labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java 2008-09-03 22:35:06 UTC (rev 22362)
+++ labs/jbossrules/trunk/drools-process/drools-process-task/src/test/java/org/drools/task/service/TaskServiceTest.java 2008-09-04 00:17:35 UTC (rev 22363)
@@ -13,7 +13,6 @@
import org.drools.task.Task;
import org.drools.task.query.TaskSummary;
import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
-import org.drools.task.service.TaskServiceTaskUpdate.BlockingAddTaskResponseHandler;
import org.drools.task.utils.CollectionUtils;
public class TaskServiceTest extends BaseTest {
More information about the jboss-svn-commits
mailing list