Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.drools.task.service.TaskClient Maven / Gradle / Ivy
/**
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.task.service;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import org.drools.eventmessaging.EventKey;
import org.drools.eventmessaging.EventResponseHandler;
import org.drools.task.Attachment;
import org.drools.task.Comment;
import org.drools.task.Content;
import org.drools.task.Task;
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.DeleteAttachmentResponseHandler;
import org.drools.task.service.TaskClientHandler.DeleteCommentResponseHandler;
import org.drools.task.service.TaskClientHandler.GetContentResponseHandler;
import org.drools.task.service.TaskClientHandler.GetTaskResponseHandler;
import org.drools.task.service.TaskClientHandler.SetDocumentResponseHandler;
import org.drools.task.service.TaskClientHandler.TaskOperationResponseHandler;
import org.drools.task.service.TaskClientHandler.TaskSummaryResponseHandler;
public class TaskClient {
private final BaseHandler handler;
private final AtomicInteger counter;
private final String name;
private final TaskClientConnector connector;
public TaskClient(TaskClientConnector connector) {
this.connector = connector;
this.counter = connector.getCounter();
this.name = connector.getName();
this.handler = connector.getHandler();
}
public void addTask(Task task, ContentData content,
AddTaskResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( task );
args.add( content );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.AddTaskRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTask(long taskId,
GetTaskResponseHandler responseHandler) {
List args = new ArrayList( 1 );
args.add( taskId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.GetTaskRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void addComment(long taskId,
Comment comment,
AddCommentResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( taskId );
args.add( comment );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.AddCommentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void deleteComment(long taskId,
long commentId,
DeleteCommentResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( taskId );
args.add( commentId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.DeleteCommentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void addAttachment(long taskId,
Attachment attachment,
Content content,
AddAttachmentResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( taskId );
args.add( attachment );
args.add( content );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.AddAttachmentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void deleteAttachment(long taskId,
long attachmentId,
long contentId,
DeleteAttachmentResponseHandler responseHandler ) {
List args = new ArrayList( 3 );
args.add( taskId );
args.add( attachmentId );
args.add( contentId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.DeleteAttachmentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void setDocumentContent(long taskId,
Content content,
SetDocumentResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( taskId );
args.add( content );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.SetDocumentContentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getContent(long contentId,
GetContentResponseHandler responseHandler) {
List args = new ArrayList( 1 );
args.add( contentId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.GetContentRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void claim(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Claim );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void claim(long taskId,
String userId,
List groupIds,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 6 );
args.add( Operation.Claim );
args.add( taskId );
args.add( userId );
args.add( null );
args.add( null );
args.add( groupIds );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void start(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Start );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void stop(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Stop );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void release(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Release );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void suspend(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Suspend );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void resume(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Resume );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void skip(long taskId,
String userId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( Operation.Skip );
args.add( taskId );
args.add( userId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void delegate(long taskId,
String userId,
String targetUserId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 4 );
args.add( Operation.Delegate );
args.add( taskId );
args.add( userId );
args.add( targetUserId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void forward(long taskId,
String userId,
String targetEntityId,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 4 );
args.add( Operation.Forward );
args.add( taskId );
args.add( userId );
args.add( targetEntityId );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void complete(long taskId,
String userId,
ContentData outputData,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 5 );
args.add( Operation.Complete );
args.add( taskId );
args.add( userId );
args.add( null );
args.add( outputData );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void fail(long taskId,
String userId,
FaultData faultData,
TaskOperationResponseHandler responseHandler) {
List args = new ArrayList( 5 );
args.add( Operation.Fail );
args.add( taskId );
args.add( userId );
args.add( null );
args.add( faultData );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.OperationRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksOwned(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksOwned,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTaskByWorkItemId(long workItemId,
GetTaskResponseHandler responseHandler) {
List args = new ArrayList(1);
args.add(workItemId);
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTaskByWorkItemId,
args);
handler.addResponseHandler( cmd.getId(),
responseHandler);
connector.write(cmd);
}
public void getTasksAssignedAsBusinessAdministrator(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsBusinessAdministrator,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsExcludedOwner(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsExcludedOwner,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsPotentialOwner(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsPotentialOwner,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsPotentialOwner(String userId, List groupIds,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( groupIds );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsPotentialOwnerWithGroup,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getSubTasksAssignedAsPotentialOwner(long parentId, String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( parentId );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QuerySubTasksAssignedAsPotentialOwner,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getSubTasksByParent(long parentId, TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( parentId );
//@TODO: un hard code this
args.add( "en-UK" );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryGetSubTasksByParentTaskId,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsRecipient(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsRecipient,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsTaskInitiator(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsTaskInitiator,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void getTasksAssignedAsTaskStakeholder(String userId,
String language,
TaskSummaryResponseHandler responseHandler) {
List args = new ArrayList( 2 );
args.add( userId );
args.add( language );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.QueryTasksAssignedAsTaskStakeholder,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public void registerForEvent(EventKey key,
boolean remove,
EventResponseHandler responseHandler) {
List args = new ArrayList( 3 );
args.add( key );
args.add( remove );
args.add( this.name );
Command cmd = new Command( counter.getAndIncrement(),
CommandName.RegisterForEventRequest,
args );
handler.addResponseHandler( cmd.getId(),
responseHandler );
connector.write( cmd );
}
public boolean connect() {
return connector.connect();
}
public boolean connect(String address, int port) {
return connector.connect(address, port);
}
public void disconnect() throws Exception {
connector.disconnect();
}
}