com.bea.wli.worklist.api
Interface WorklistManager

All Known Subinterfaces:
WorklistScrollableResultManager

public interface WorklistManager

WorklistManager is the main remote EJB interface for Worklist operations. Through the WorklistManager interface, the Worklist task operations can be performed.

Task lifecycle operations:
- create task
- abort, assign, claim, resume, return, start, stop, and suspend task
- update task information, add or remove user-defined properties

Task management operations:
- archive, delete and purge task

Task querying operations:
- get tasks based on user-defined criteria
- get task properties, request and response data

For task querying operations, using the WorklistScrollableResultsManager interface is recommended for increased scalability and performance. This allows a specified range of results to be returned from the query, instead of returning all results satisfying the querying criteria.


Method Summary
 void abortTask(String taskId)
          Abort a task
 void archiveTasks()
          Archive all the tasks in their final state (COMPLETED or ABORTED) if the archiver is on.
 void assignToUser(String userName, String taskId)
          Assign the task to the user and claim it on his behalf.
 String assignToUserInGroup(String groupName, String taskId)
          Assign the task to a user (chosen by the system) in the group and claim the task on his behalf.
 void assignToUsersAndGroups(String[] userNamesAndOrGroupNames, String taskId)
          Assign the tasks to users and/or groups
 void claimTask(String taskId)
          Claim the task.
 void claimTask(String user, String taskId)
          Claim the task on behalf of the user.
 void completeTask(String taskId)
          Complete a STARTED task.
 String createTask(String name)
          Create a task, with all the default values.
 String createTask(TaskCreation taskCreation)
          Create a task.
 String createTaskXML(com.bea.wli.worklist.xml.TaskCreationXMLDocument doc)
          Create task using an xml document
 void deleteTask(String taskId)
          Delete the task.
 void deleteTasks(TaskSelector selector)
          Delete the selected tasks.
 String[] getContainingGroups(String userOrGroup)
          Return all the groups containing this user or group
 int getSelectedTasksNumber(TaskSelector selector)
          Get the number of tasks selected.
 String[] getTaskIds(TaskSelector selector)
          Get task ids of all the selected tasks
 TaskInfo getTaskInfo(String taskId)
          Get the task info object.
 TaskInfo[] getTaskInfos(TaskSelector selector)
          Get a task info array of all the selected tasks
 String[] getTaskProperties(String[] propertyNames, String taskId)
          Get user defined task property values.
 String[] getTaskPropertiesNames(String taskId)
          Return all the user defined task property names.
 String getTaskProperty(String propertyName, String taskId)
          Get a user defined task property value.
 TaskMessage getTaskRequest(String taskId)
          Get the task request.
 com.bea.xml.XmlObject getTaskRequestAsXmlObject(String taskId)
          Get the task request as XmlObject
 TaskMessage getTaskResponse(String taskId)
          Get the task response.
 com.bea.xml.XmlObject getTaskResponseAsXmlObject(String taskId)
          Get the task response as XmlObject.
 String[] getUsersInGroup(String group)
          Return all the members of a WLS group
 void purgeTasks()
          Purge all the tasks that have been in their final state for more than the purge delay value.
 String[] removeTaskProperties(String[] propertyNames, String taskId)
          Remove user defined task properties
 void resumeTask(String taskId)
          Return a task to the state it was before suspended.
 void returnTask(String taskId)
          Return a task that is in the state CLAIMED or STARTED to the state ASSIGNED with all the previous assignees.
 void setTaskCanBeAborted(Boolean value, String taskId)
          Specify if an assignee or the claimant can abort the task.
 void setTaskCanBeReassigned(Boolean value, String taskId)
          Specify if a task assignee can reassign the task.
 void setTaskCanBeReturned(Boolean value, String taskId)
          Specify if the claimant can return the task.
 void setTaskClaimDueBusinessDate(BusinessTime time, String taskId)
          Set the task claim due date using a business time.
 void setTaskClaimDueDate(Date claimDueDate, String taskId)
          Set the task claim due date.
 void setTaskComment(String comment, String taskId)
          Set a task comment.
 void setTaskCompletionDueBusinessDate(BusinessTime time, String taskId)
          Set the task completion due date using a business time.
 void setTaskCompletionDueDate(Date completeDueDate, String taskId)
          Set the task completion due date.
 void setTaskOwner(String owner, String taskId)
          Set the task owner.
 void setTaskPriority(Integer priority, String taskId)
          Set a task priority.
 String[] setTaskProperties(String[] propertyNames, String[] values, String taskId)
          Update/Create user defined task properties.
 String setTaskProperty(String propertyName, String value, String taskId)
          Update/Create a user defined task property.
 void setTaskRequest(TaskMessage request, String taskId)
          Set the task request.
 void setTaskRequestAsXmlObject(com.bea.xml.XmlObject request, String mimeType, String taskId)
          Set the task request as XmlObject.
 void setTaskResponse(TaskMessage response, String taskId)
          Set the task response.
 void setTaskResponseAsXmlObject(com.bea.xml.XmlObject response, String mimeType, String taskId)
          Set the task response as XmlObject.
 void startTask(String taskId)
          Start working on a task.
 void stopTask(String taskId)
          Returns the task from state STARTED to CLAIMED.
 void suspendTask(String taskId)
          Suspend the task.
 

Method Detail

createTask

public String createTask(String name)
                  throws ManagementException,
                         RemoteException,
                         AssignmentException
Create a task, with all the default values.

Parameters:
name -
Returns:
the task id string
Throws:
ManagementException - If the operation fails.
RemoteException - If an RMI communication error occurs.
AssignmentException

createTask

public String createTask(TaskCreation taskCreation)
                  throws ManagementException,
                         RemoteException,
                         BusinessCalendarException,
                         AssignmentException
Create a task.

Parameters:
taskCreation - object containing information about the new task.
Returns:
the task id string
Throws:
ManagementException - If the operation fails.
RemoteException - If an RMI communication error occurs.
BusinessCalendarException
AssignmentException
See Also:
TaskCreation

createTaskXML

public String createTaskXML(com.bea.wli.worklist.xml.TaskCreationXMLDocument doc)
                     throws ManagementException,
                            BusinessCalendarException,
                            RemoteException,
                            AssignmentException
Create task using an xml document

Parameters:
doc - an XML Bean containing information about the new task.
Returns:
the task id string
Throws:
ManagementException
RemoteException
BusinessCalendarException
AssignmentException

getSelectedTasksNumber

public int getSelectedTasksNumber(TaskSelector selector)
                           throws ManagementException,
                                  RemoteException
Get the number of tasks selected.

Parameters:
selector - containing selection criteria
Returns:
the number of tasks selected
Throws:
ManagementException
RemoteException
See Also:
TaskSelector

getTaskInfo

public TaskInfo getTaskInfo(String taskId)
                     throws ManagementException,
                            RemoteException
Get the task info object.

Parameters:
taskId -
Returns:
TaskInfo object containing basic information about the task
Throws:
ManagementException
RemoteException

getTaskInfos

public TaskInfo[] getTaskInfos(TaskSelector selector)
                        throws ManagementException,
                               RemoteException
Get a task info array of all the selected tasks

Parameters:
selector - containing selection criteria
Returns:
Array of TaskInfo objects selected by the criteria provided.
Throws:
ManagementException
RemoteException
See Also:
TaskSelector

getTaskIds

public String[] getTaskIds(TaskSelector selector)
                    throws ManagementException,
                           RemoteException
Get task ids of all the selected tasks

Parameters:
selector - containing selection criteria
Returns:
array of task ids
Throws:
ManagementException
RemoteException

assignToUser

public void assignToUser(String userName,
                         String taskId)
                  throws ManagementException,
                         AssignmentException,
                         RemoteException
Assign the task to the user and claim it on his behalf.

Parameters:
userName -
taskId -
Throws:
ManagementException
AssignmentException
RemoteException

assignToUserInGroup

public String assignToUserInGroup(String groupName,
                                  String taskId)
                           throws ManagementException,
                                  AssignmentException,
                                  RemoteException
Assign the task to a user (chosen by the system) in the group and claim the task on his behalf.

Load for all the users in that group is calculated. The load is calculated as the number of claimed tasks by the user. The user with the least load will be selected. If there is a tie the system randomly picks a user among the tied ones.

Parameters:
groupName -
taskId -
Returns:
the user selected
Throws:
ManagementException
AssignmentException
RemoteException

assignToUsersAndGroups

public void assignToUsersAndGroups(String[] userNamesAndOrGroupNames,
                                   String taskId)
                            throws ManagementException,
                                   AssignmentException,
                                   RemoteException
Assign the tasks to users and/or groups

Parameters:
userNamesAndOrGroupNames -
taskId -
Throws:
ManagementException
AssignmentException
RemoteException

claimTask

public void claimTask(String taskId)
               throws ManagementException,
                      RemoteException
Claim the task.

Parameters:
taskId - the taskId
Throws:
ManagementException
RemoteException

claimTask

public void claimTask(String user,
                      String taskId)
               throws ManagementException,
                      RemoteException
Claim the task on behalf of the user. The current user needs to be the worklist admin or the task owner.

[@TODO- Make sure worklist admin is universally know, make it clear that the caller needs to be whatever worklist admin means. Also make sure task owner is properly defined. {Still reading the docs to make sure the definitions are well known.} ]

The task will go from the state ASSIGNED to CLAIMED.

Parameters:
user -
taskId -
Throws:
ManagementException
RemoteException

returnTask

public void returnTask(String taskId)
                throws ManagementException,
                       RemoteException
Return a task that is in the state CLAIMED or STARTED to the state ASSIGNED with all the previous assignees.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

startTask

public void startTask(String taskId)
               throws ManagementException,
                      RemoteException
Start working on a task. The task must be in the state CLAIMED and will go to the state STARTED.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

stopTask

public void stopTask(String taskId)
              throws ManagementException,
                     RemoteException
Returns the task from state STARTED to CLAIMED.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

suspendTask

public void suspendTask(String taskId)
                 throws ManagementException,
                        RemoteException
Suspend the task. No operation is allowed on the SUSPENDED task until it is resumed.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

resumeTask

public void resumeTask(String taskId)
                throws ManagementException,
                       RemoteException
Return a task to the state it was before suspended.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

completeTask

public void completeTask(String taskId)
                  throws ManagementException,
                         RemoteException
Complete a STARTED task.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

abortTask

public void abortTask(String taskId)
               throws ManagementException,
                      RemoteException
Abort a task

Parameters:
taskId -
Throws:
ManagementException
RemoteException

setTaskComment

public void setTaskComment(String comment,
                           String taskId)
                    throws ManagementException,
                           RemoteException
Set a task comment.

Parameters:
comment -
taskId -
Throws:
ManagementException
RemoteException

setTaskPriority

public void setTaskPriority(Integer priority,
                            String taskId)
                     throws ManagementException,
                            RemoteException
Set a task priority. Priority value has to be a positive integer or 0.

Parameters:
priority -
taskId -
Throws:
ManagementException
RemoteException

setTaskCompletionDueDate

public void setTaskCompletionDueDate(Date completeDueDate,
                                     String taskId)
                              throws ManagementException,
                                     RemoteException
Set the task completion due date.

Parameters:
completeDueDate -
taskId -
Throws:
ManagementException
RemoteException

setTaskClaimDueDate

public void setTaskClaimDueDate(Date claimDueDate,
                                String taskId)
                         throws ManagementException,
                                RemoteException
Set the task claim due date.

Parameters:
claimDueDate -
taskId -
Throws:
ManagementException
RemoteException

setTaskCompletionDueBusinessDate

public void setTaskCompletionDueBusinessDate(BusinessTime time,
                                             String taskId)
                                      throws ManagementException,
                                             BusinessCalendarException,
                                             RemoteException
Set the task completion due date using a business time.

Parameters:
time -
taskId -
Throws:
ManagementException
RemoteException
BusinessCalendarException

setTaskClaimDueBusinessDate

public void setTaskClaimDueBusinessDate(BusinessTime time,
                                        String taskId)
                                 throws ManagementException,
                                        BusinessCalendarException,
                                        RemoteException
Set the task claim due date using a business time.

Parameters:
time -
taskId -
Throws:
ManagementException
RemoteException
BusinessCalendarException

setTaskOwner

public void setTaskOwner(String owner,
                         String taskId)
                  throws ManagementException,
                         RemoteException
Set the task owner. The current user must be worklist admin or task owner.

Parameters:
owner -
taskId -
Throws:
ManagementException
RemoteException

setTaskCanBeReassigned

public void setTaskCanBeReassigned(Boolean value,
                                   String taskId)
                            throws ManagementException,
                                   RemoteException
Specify if a task assignee can reassign the task.

Parameters:
value -
taskId -
Throws:
ManagementException
RemoteException

setTaskCanBeReturned

public void setTaskCanBeReturned(Boolean value,
                                 String taskId)
                          throws ManagementException,
                                 RemoteException
Specify if the claimant can return the task.

Parameters:
value -
taskId -
Throws:
ManagementException
RemoteException

setTaskCanBeAborted

public void setTaskCanBeAborted(Boolean value,
                                String taskId)
                         throws ManagementException,
                                RemoteException
Specify if an assignee or the claimant can abort the task.

Parameters:
value -
taskId -
Throws:
ManagementException
RemoteException

getTaskRequest

public TaskMessage getTaskRequest(String taskId)
                           throws ManagementException,
                                  RemoteException
Get the task request.

Parameters:
taskId -
Returns:
the task request as TaskMessage
Throws:
ManagementException
RemoteException

getTaskRequestAsXmlObject

public com.bea.xml.XmlObject getTaskRequestAsXmlObject(String taskId)
                                                throws ManagementException,
                                                       RemoteException
Get the task request as XmlObject

Parameters:
taskId -
Returns:
the task request as XmlObject
Throws:
ManagementException
RemoteException

setTaskRequest

public void setTaskRequest(TaskMessage request,
                           String taskId)
                    throws ManagementException,
                           RemoteException
Set the task request.

Parameters:
request -
taskId -
Throws:
ManagementException
RemoteException

setTaskRequestAsXmlObject

public void setTaskRequestAsXmlObject(com.bea.xml.XmlObject request,
                                      String mimeType,
                                      String taskId)
                               throws ManagementException,
                                      RemoteException
Set the task request as XmlObject.

Parameters:
request -
mimeType -
taskId -
Throws:
ManagementException
RemoteException

getTaskResponse

public TaskMessage getTaskResponse(String taskId)
                            throws ManagementException,
                                   RemoteException
Get the task response.

Parameters:
taskId -
Returns:
the task response as TaskMessage
Throws:
ManagementException
RemoteException

getTaskResponseAsXmlObject

public com.bea.xml.XmlObject getTaskResponseAsXmlObject(String taskId)
                                                 throws ManagementException,
                                                        RemoteException
Get the task response as XmlObject.

Parameters:
taskId -
Returns:
the task response as XmlObject
Throws:
ManagementException
RemoteException

setTaskResponse

public void setTaskResponse(TaskMessage response,
                            String taskId)
                     throws ManagementException,
                            RemoteException
Set the task response.

Parameters:
response -
taskId -
Throws:
ManagementException
RemoteException

setTaskResponseAsXmlObject

public void setTaskResponseAsXmlObject(com.bea.xml.XmlObject response,
                                       String mimeType,
                                       String taskId)
                                throws ManagementException,
                                       RemoteException
Set the task response as XmlObject.

Parameters:
response -
mimeType -
taskId -
Throws:
ManagementException
RemoteException

getTaskProperty

public String getTaskProperty(String propertyName,
                              String taskId)
                       throws ManagementException,
                              RemoteException
Get a user defined task property value.

A property is made up of a name and a value.

Parameters:
propertyName -
taskId -
Returns:
property value as string
Throws:
ManagementException
RemoteException

getTaskProperties

public String[] getTaskProperties(String[] propertyNames,
                                  String taskId)
                           throws ManagementException,
                                  RemoteException
Get user defined task property values.

Parameters:
propertyNames -
taskId -
Returns:
array of property values
Throws:
ManagementException
RemoteException

setTaskProperty

public String setTaskProperty(String propertyName,
                              String value,
                              String taskId)
                       throws ManagementException,
                              RemoteException
Update/Create a user defined task property.

Parameters:
propertyName -
value -
taskId -
Returns:
old property value as string
Throws:
ManagementException
RemoteException

setTaskProperties

public String[] setTaskProperties(String[] propertyNames,
                                  String[] values,
                                  String taskId)
                           throws ManagementException,
                                  RemoteException
Update/Create user defined task properties.

Parameters:
propertyNames -
values -
taskId -
Returns:
old property values as string array
Throws:
ManagementException
RemoteException

getTaskPropertiesNames

public String[] getTaskPropertiesNames(String taskId)
                                throws ManagementException,
                                       RemoteException
Return all the user defined task property names.

Parameters:
taskId -
Returns:
string array containing names of all defined properties
Throws:
ManagementException
RemoteException

removeTaskProperties

public String[] removeTaskProperties(String[] propertyNames,
                                     String taskId)
                              throws ManagementException,
                                     RemoteException
Remove user defined task properties

Parameters:
propertyNames -
Returns:
string array containing existing property values before deletion
Throws:
ManagementException
RemoteException

archiveTasks

public void archiveTasks()
                  throws ManagementException,
                         RemoteException
Archive all the tasks in their final state (COMPLETED or ABORTED) if the archiver is on.

Throws:
ManagementException
RemoteException

purgeTasks

public void purgeTasks()
                throws ManagementException,
                       RemoteException
Purge all the tasks that have been in their final state for more than the purge delay value. If the archiver is on and the task has not been archived yet, the task cannot be purged.

Throws:
ManagementException
RemoteException

deleteTask

public void deleteTask(String taskId)
                throws ManagementException,
                       RemoteException
Delete the task.

Parameters:
taskId -
Throws:
ManagementException
RemoteException

deleteTasks

public void deleteTasks(TaskSelector selector)
                 throws ManagementException,
                        RemoteException
Delete the selected tasks.

Parameters:
selector - containing selection criteria
Throws:
ManagementException
RemoteException

getUsersInGroup

public String[] getUsersInGroup(String group)
                         throws ManagementException,
                                RemoteException
Return all the members of a WLS group

Parameters:
group -
Returns:
list of user names in the given group
Throws:
ManagementException
RemoteException

getContainingGroups

public String[] getContainingGroups(String userOrGroup)
                             throws ManagementException,
                                    RemoteException
Return all the groups containing this user or group

Parameters:
userOrGroup -
Returns:
list of group names containing this user or group
Throws:
ManagementException
RemoteException