BlockingTaskOperationResponseHandler setOutputResponseHandler = new BlockingTaskOperationResponseHandler();
client.setOutput( taskId, "Darth Vader", outputData, setOutputResponseHandler );
setOutputResponseHandler.waitTillDone(1000);
assertFalse( setOutputResponseHandler.hasError() );
BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler();
client.getTask( taskId, getTaskResponseHandler );
Task task1 = getTaskResponseHandler.getTask();
assertNotSame(task, task1);
assertFalse( task.equals( task1) );
long outputContentId = task1.getTaskData().getOutputContentId();
assertNotSame(0, outputContentId);
BlockingGetContentResponseHandler getOutputResponseHandler = new BlockingGetContentResponseHandler();
client.getContent(outputContentId, getOutputResponseHandler);
assertNotNull(getOutputResponseHandler.getContent());
Content content = getOutputResponseHandler.getContent();
assertEquals("This is my output!!!!", new String(content.getContent()));
assertEquals("text/plain", task1.getTaskData().getOutputType());
assertEquals(AccessType.Inline, task1.getTaskData().getOutputAccessType());
assertEquals(outputContentId, content.getId());
// Make the same as the returned tasks, so we can test equals
task.getTaskData().setOutput( outputContentId, outputData );
task.getTaskData().setStatus( Status.Created );
assertEquals(task, task1);
//test delete output
BlockingTaskOperationResponseHandler deleteOutputResponseHandler = new BlockingTaskOperationResponseHandler();
client.deleteOutput( taskId, "Darth Vader", deleteOutputResponseHandler );
deleteOutputResponseHandler.waitTillDone( 1000 );
getTaskResponseHandler = new BlockingGetTaskResponseHandler();
client.getTask( taskId, getTaskResponseHandler );
task1 = getTaskResponseHandler.getTask();
assertEquals(0, task1.getTaskData().getOutputContentId() );
assertNull( task1.getTaskData().getOutputAccessType() );
assertNull( task1.getTaskData().getOutputType() );
}