Skip navigation links

Oracle BPEL Process Manager
Workflow Services API Reference
10g Release 3 (10.1.3)
B28985-02


oracle.bpel.services.workflow.query
Interface ITaskQueryService


public interface ITaskQueryService
 This class provides a programmatic means for retrieving tasks, task details, etc
 
 A typical usage would be as follows:
  1. Use an authentication method to authenticate a user and obtain a context
  2. Use the context and a task list method to retrieve tasks that match some filter criterion
  3. Use the context and a task details method to drill down on a task in the list (retrieve task details
        and actions that can be performed on the task)
  4. Use task service, to perform operations on the task
  
 A sample code fragment that shows the usage in the above pattern in shown below:
 
   import java.util.ArrayList;
   import java.util.Date;
   import java.util.List;    
   import oracle.bpel.services.workflow.IWorkflowConstants;
   import oracle.bpel.services.workflow.client.IWorkflowServiceClient;
   import oracle.bpel.services.workflow.client.IWorkflowServiceClientConstants;
   import oracle.bpel.services.workflow.client.WorkflowServiceClientFactory;
   import oracle.bpel.services.workflow.query.ITaskQueryService;
   import oracle.bpel.services.workflow.repos.Ordering;
   import oracle.bpel.services.workflow.repos.Predicate;
   import oracle.bpel.services.workflow.repos.TableConstants;
   import oracle.bpel.services.workflow.task.ITaskService;
   import oracle.bpel.services.workflow.task.model.Task;
   import oracle.bpel.services.workflow.verification.IWorkflowContext;      
   
   //User whose task list needs to be queried
   String userid="jstein";
   // Password for the user
   String password = "welcome1";
   
   // You can use keyword to specify sql % around the keyword like: %keyword% on the following
   // attributes: task title, identification key, all textAttributes in task, task number (only
   // if the keyword is a number)
   
   String keyword = null;
   String nullParam = null;
 
   // Get workflow service client
   IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.SOAP_CLIENT);
   // Get the workflow context
   IWorkflowContext wfCtx = wfSvcClient.getTaskQueryService().authenticate(userId, password, 
                                 oracle.tip.pc.services.identity.config.ISConfiguration.getDefaultRealmName(),
                                 null);
   // Admin can authenticate on behalf of another user
   //IWorkflowContext adminCtx = wfSvcClient.getTaskQueryService().authenticate(adminUserId, pwd, 
   //                              oracle.tip.pc.services.identity.config.ISConfiguration.getDefaultRealmName(),
   //                              userId);
   
   ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();      
   
   // Only for SOAP clients and it is mandatory for SOAP clients
   Predicate.enableXMLSerialization(true);
   
   // Build the predicate
   Predicate statePredicate = new Predicate(TableConstants.WFTASK_STATE_COLUMN,
                                Predicate.OP_NEQ,
                                IWorkflowConstants.TASK_STATE_ASSIGNED);
        statePredicate.addClause(Predicate.AND,
                         TableConstants.WFTASK_NUMBERATTRIBUTE1_COLUMN,
                         Predicate.OP_IS_NULL,
                         nullParam);
   Predicate datePredicate = new Predicate(TableConstants.WFTASK_ENDDATE_COLUMN,
                                Predicate.OP_ON,
                                new Date());
   Predicate predicate = new Predicate(statePredicate, Predicate.AND, datePredicate);
   
   // Create the ordering
   Ordering ordering = new Ordering(TableConstants.WFTASK_TITLE_COLUMN, true, true);        
     ordering.addClause(TableConstants.WFTASK_PRIORITY_COLUMN, true, true);
     
   // List of display columns
   // For those columns that are not specified here, the queried Task object will not hold any value.
   // For example: If TITLE is not specified, task.getTitle() will return null
   // For the list of most comonly used columns, check the table below
   // Note: TASKID is fetched by default. So there is no need to explicitly specity it.
   List queryColumns = new ArrayList();
     queryColumns.add("TASKNUMBER");     
     queryColumns.add("TITLE");
     queryColumns.add("PRIORITY");
     queryColumns.add("STATE");
     queryColumns.add("ENDDATE");
     queryColumns.add("NUMBERATTRIBUTE1");
     queryColumns.add("TEXTATTRIBUTE1");
     
   // List of optional info
   // For all possible values, check the optional info defined in this  
   // interface, like OPTIONAL_INFO_

// Any optionalInfo specified can be fetched from the Task object // For example: if you have specified OPTIONAL_INFO_CUSTOM_ACTIONS, you can retrieve // it using task.getSystemAttributes().getCustomActions(); // OPTIONAL_INFO_ALL_ACTIONS (All Actions) - task.getSystemAttributes().getSystemActions() // OPTIONAL_INFO_GROUP_ACTIONS (Only group Actions: Actions that can be permoded by the user as a member of a group) // OPTIONAL_INFO_CUSTOM_ACTIONS - task.getSystemAttributes().getSystemActions() // OPTIONAL_INFO_SHORT_HISTORY - task.getSystemAttributes().getShortHistory() List optionalInfo = new ArrayList(); optionalInfo.add(ITaskQueryService.OPTIONAL_INFO_ALL_ACTIONS); //optionalInfo.add(ITaskQueryService.OPTIONAL_INFO_GROUP_ACTIONS); //optionalInfo.add(ITaskQueryService.OPTIONAL_INFO_CUSTOM_ACTIONS); //optionalInfo.add(ITaskQueryService.OPTIONAL_INFO_SHORT_HISTORY); // The following is reserved for future use. // If you need them, please use getTaskDetailsById (or) getTaskDetailsByNumber, // which will fetch all information related to a task, which includes these //optionalInfo.add("Attachments"); //optionalInfo.add("Comments"); //optionalInfo.add("Payload"); List tasksList = querySvc.queryTasks(wfCtx, queryColumns, optionalInfo, ITaskQueryService.ASSIGNMENT_FILTER_MY_AND_GROUP, keyword, predicate, ordering, 0,0); // No Paging // How to use paging: // 1. If you need to dynamically calculate paging size (or) to display/find // out the number of pages, the user has to scroll (Like page X of Y) // Call queryTasks to find out the number of tasks it returns. Using this // calculate your paging size (The number of taks you want in a page) // Call queryTasks successively varing the startRow and endRow params. // For example: If the total number of tasks is 30 and your want a paging size // of 10, you can call with (startRow, endRow): (1, 10) (11, 20) (21, 30) // 2. If you have fixed paging size, just keep calling queryTasks successively with // the paging size (If your paging size is 10, you can call with (startRow, endRow): // (1, 10) (11, 20) (21, 30) (31, 40)..... until the number of tasks returned is // less than your paging size (or) there are no more tasks returned if (tasksList != null) { // There are tasks System.out.println("Total number of tasks: " + tasksList.size()); System.out.println("Tasks List: "); Task task = null; for (int i = 0; i < tasksList.size(); i++) { task = (Task) tasksList.get(i); System.out.println("Task Number: " + task.getSystemAttributes().getTaskNumber()); System.out.println("Task Id: " + task.getSystemAttributes().getTaskId()); System.out.println("Title: " + task.getTitle()); System.out.println("Priority: " + task.getPriority()); System.out.println("State: " + task.getSystemAttributes().getState()); System.out.println(); // Retrive any Optional Info specified // Use task service, to perform operations on the task } } Beyond authentication, all methods require the worklist context as the first argument. The worklist context helps the worklist service determine the user requesting the action, whether the user has permission to perform the requested action on the task and so forth. The context also contains information about the user's locale and timezone information.

Most commonly used columns
Column objects are defined in oracle.bpel.services.workflow.repos.TableConstants, and they can also be obtained by passing the column name to the static method getColumn() on oracle.bpel.services.workflow.repos.Column.
A list task attributes and column names can be obtained by calling the method ITaskMetadataService.getTaskAttributes(oracle.bpel.services.workflow.verification.IWorkflowContext) or ITaskMetadataService.getTaskAttributesForTaskDefinition(oracle.bpel.services.workflow.verification.IWorkflowContext, java.lang.String).

Column Description Column Object How to retrieve
ACQUIREDBY Acquired By WFTASK_ACQUIREDBY_COLUMN task.getSystemAttributes().getAcquiredBy()
ASSIGNEES Assignees WFTASK_ASSIGNEES_COLUMN task.getSystemAttributes().getAssignees()
REVIEWERS Reviewers WFTASK_REVIEWERS_COLUMN task.getSystemAttributes().getReviewers()
ASSIGNEEGROUPS Assignee Groups WFTASK_ASSIGNEEGROUPS_COLUMN task.getSystemAttributes().getAssigneeGroups()
ASSIGNEEUSERS Assignee Users WFTASK_ASSIGNEEUSERS_COLUMN task.getSystemAttributes().getAssigneeUsers()
CREATOR Creator WFTASK_CREATOR_COLUMN task.getCreator()
DIGITALSIGNATUREREQUIRED Digital Signature Required WFTASK_DIGITALSIGNATUREREQUIRED_COLUMN task.getSystemAttributes().isDigitalSignatureRequired()
EXPIRATIONDATE Expiration Date WFTASK_EXPIRATIONDATE_COLUMN task.getSystemAttributes().getExpirationDate()
IDENTITYCONTEXT Identity Context WFTASK_IDENTITYCONTEXT_COLUMN task.getIdentityContext()
OWNERUSER Owner User WFTASK_OWNERUSER_COLUMN task.getOwnerUser()
OWNERGROUP Owner Group WFTASK_OWNERGROUP_COLUMN task.getOwnerGroup()
PASSWORDREQUIREDONUPDATE Password Required On Update WFTASK_PASSWORDREQUIREDONUPDATE_COLUMN task.getSystemAttributes().isPasswordRequiredOnUpdate()
PRIORITY Priority WFTASK_PRIORITY_COLUMN task.getPriority()
DOMAINID Domain ID WFTASK_DOMAINID_COLUMN task.getProcessInfo().getDomainId()
INSTANCEID Instance ID WFTASK_INSTANCEID_COLUMN task.getProcessInfo().getInstanceId()
PROCESSNAME Process Name WFTASK_PROCESSNAME_COLUMN task.getProcessInfo().getProcessName()
PROCESSVERSION Process Version WFTASK_PROCESSVERSION_COLUMN task.getProcessInfo().getProcessVersion()
SECURENOTIFICATIONS Secure Notifications WFTASK_SECURENOTIFICATIONS_COLUMN task.getSystemAttributes().isSecureNotifications()
ASSIGNEDDATE Assigned Date WFTASK_ASSIGNEDDATE_COLUMN task.getSystemAttributes().getAssignedDate()
CREATEDDATE Created Date WFTASK_CREATEDDATE_COLUMN task.getSystemAttributes().getCreatedDate()
ENDDATE End Date WFTASK_ENDDATE_COLUMN task.getSystemAttributes().getEndDate()
FROMUSER From User WFTASK_FROMUSER_COLUMN task.getSystemAttributes().getFromUser()
HASSUBTASK Has Subtask WFTASK_HASSUBTASK_COLUMN task.getSystemAttributes().isHasSubTasks()
ISGROUP Is Group WFTASK_ISGROUP_COLUMN task.getSystemAttributes().isIsGroup()
ORIGINALASSIGNEEUSER Original Assignee User WFTASK_ORIGINALASSIGNEEUSER_COLUMN task.getSystemAttributes().()
OUTCOME Outcome WFTASK_OUTCOME_COLUMN task.getSystemAttributes().getOriginalAssigneeUser()
STATE State WFTASK_STATE_COLUMN task.getSystemAttributes().getState()
TASKID Task Id WFTASK_TASKID_COLUMN task.getSystemAttributes().getTaskId()
TASKNUMBER Task Number WFTASK_TASKNUMBER_COLUMN task.getSystemAttributes().getTaskNumber()
UPDATEDBY Updated By WFTASK_UPDATEDBY_COLUMN task.getSystemAttributes().getUpdatedBy()
UPDATEDDATE Updated Date WFTASK_UPDATEDDATE_COLUMN task.getSystemAttributes().getUpdatedDate()
TEXTATTRIBUTE1 to TEXTATTRIBUTE10 Textattribute1 to Textattribute10 WFTASK_TEXTATTRIBUTE1_COLUMN to WFTASK_TEXTATTRIBUTE10_COLUMN task.getSystemMessageAttributes().getTextAttribute1() to task.getSystemMessageAttributes().getTextAttribute10()
FORMATTRIBUTE1 to FORMATTRIBUTE5 FormAttribute1 to FormAttribute5 WFTASK_FORMATTRIBUTE1_COLUMN to WFTASK_FORMATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getFormAttribute1() to task.getSystemMessageAttributes().getFormAttribute5()
URLATTRIBUTE1 to URLATTRIBUTE5 UrlAttribute1 to UrlAttribute5 WFTASK_URLATTRIBUTE1_COLUMN to WFTASK_URLATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getUrlAttribute1() to task.getSystemMessageAttributes().getUrlAttribute5()
DATEATTRIBUTE1 to DATEATTRIBUTE5 DateAttribute1 to DateAttribute5 WFTASK_DATEATTRIBUTE1_COLUMN to WFTASK_DATEATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getDateAttribute1() to task.getSystemMessageAttributes().getDateAttribute5()
NUMBERATTRIBUTE1 to NUMBERATTRIBUTE5 NumberAttribute1 to NumberAttribute5 WFTASK_NUMBERATTRIBUTE1_COLUMN to WFTASK_NUMBERATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getNumberAttribute1() to task.getSystemMessageAttributes().getNumberAttribute5()
TITLE Title WFTASK_TITLE_COLUMN task.getTitle()
IDENTIFICATIONKEY Identification key WFTASK_IDENTIFICATIONKEY_COLUMN task.getIdentificationKey()
TASKDEFINITIONID Task Definition Id WFTASK_TASKDEFINITIONID_COLUMN task.getSystemAttributes().getTaskDefinitionId()
TASKDEFINITIONNAME Task Definition Name WFTASK_TASKDEFINITIONNAME_COLUMN task.getSystemAttributes().getTaskDefinitionName()
PROTECTEDTEXTATTRIBUTE1 to PROTECTEDTEXTATTRIBUTE10 ProtectedTextAttribute1 to ProtectedTextAttribute10 WFTASK_PROTECTEDTEXTATTRIBUTE1_COLUMN to WFTASK_PROTECTEDTEXTATTRIBUTE10_COLUMN task.getSystemMessageAttributes().getProtectedTextAttribute1() to task.getSystemMessageAttributes().getProtectedTextAttribute10()
PROTECTEDFORMATTRIBUTE1 to PROTECTEDFORMATTRIBUTE5 ProtectedFormAttribute1 to ProtectedFormAttribute5 WFTASK_PROTECTEDFORMATTRIBUTE1_COLUMN to WFTASK_PROTECTEDFORMATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getFormAttribute1() to task.getSystemMessageAttributes().getFormAttribute5()
PROTECTEDURLATTRIBUTE1 to PROTECTEDURLATTRIBUTE5 ProtectedURLAttribute1 to ProtectedURLAttribute5 WFTASK_PROTECTEDURLATTRIBUTE1_COLUMN to WFTASK_PROTECTEDURLATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getProtectedURLAttribute1() to task.getSystemMessageAttributes().getProtectedURLAttribute5()
PROTECTEDDATEATTRIBUTE1 to PROTECTEDDATEATTRIBUTE5 ProtectedDateAttribute1 to ProtectedDateAttribute5 WFTASK_PROTECTEDDATEATTRIBUTE1_COLUMN to WFTASK_PROTECTEDDATEATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getProtectedDateAttribute1() to task.getSystemMessageAttributes().getProtectedDateAttribute5()
PROTECTEDNUMBERATTRIBUTE1 to PROTECTEDNUMBERATTRIBUTE5 ProtectedNumberAttribute1 to ProtectedNumberAttribute5 WFTASK_PROTECTEDNUMBERATTRIBUTE1_COLUMN to WFTASK_PROTECTEDNUMBERATTRIBUTE5_COLUMN task.getSystemMessageAttributes().getProtectedNumberAttribute1() to task.getSystemMessageAttributes().getProtectedNumberAttribute5()

Field Summary
static java.lang.String ASSIGNMENT_FILTER_ADMIN
          Query tasks as an admin (admins only)
static java.lang.String ASSIGNMENT_FILTER_ALL
          All tasks (admins only)
static java.lang.String ASSIGNMENT_FILTER_CREATOR
          Tasks for which the context user is the creator
static java.lang.String ASSIGNMENT_FILTER_GROUP
          Tasks assigned non-exclusively to the context user
static java.lang.String ASSIGNMENT_FILTER_MY
          Tasks assigned exclusively to the context user
static java.lang.String ASSIGNMENT_FILTER_MY_AND_GROUP
          All tasks assigned to the context user, exclusively or non exclusively
static java.lang.String ASSIGNMENT_FILTER_OWNER
          Tasks for which the context user is the owner
static java.lang.String ASSIGNMENT_FILTER_PREVIOUS
          Tasks which the context user previously updated
static java.lang.String ASSIGNMENT_FILTER_REPORTEES
          Tasks assigned to the context user's reportees
static java.lang.String OPTIONAL_INFO_ALL_ACTIONS
          Get actions that can be performed on a task by a user
static java.lang.String OPTIONAL_INFO_CUSTOM_ACTIONS
          Get custom actions that can be performed on a task by a user
static java.lang.String OPTIONAL_INFO_GROUP_ACTIONS
          Get actions that can be performed on a task by a user, if the user belongs to the group, the task is assigned to
static java.lang.String OPTIONAL_INFO_SHORT_HISTORY
          Get a concise history of changes made to the task
static java.lang.String TASK_ACTIONS_TYPE_ALL_ACTIONS
          Actions that can be performed on a task by a user
static java.lang.String TASK_ACTIONS_TYPE_CUSTOM_ACTIONS
          Custom actions that can be performed on a task by a user
static java.lang.String TASK_ACTIONS_TYPE_GROUP_ACTIONS
          Actions that can be performed on a task by a user, if the user belongs to the group, the task is assigned to

 

Method Summary
 IWorkflowContext authenticate(java.lang.String user, java.lang.String password, java.lang.String identityContext, java.lang.String onBehalfOfUser)
          authenticate is used for authenticating a user with the identity authentication service based on the specified user/password and returns a workflow context
 IWorkflowContext createContext(javax.servlet.http.HttpServletRequest request)
          createContext is used for creating a context from a pre-authenticated environment such as a SSO based application.
 void destroyWorkflowContext(IWorkflowContext ctx)
          destroyWorkflowContext is used for cleaning up a workflow context that is no longer needed.
 Task getTaskDetailsById(IWorkflowContext ctx, java.lang.String taskId)
          getTaskDetailsById gets the details of a task whose id is taskId
 Task getTaskDetailsByNumber(IWorkflowContext ctx, int taskNumber)
          getTaskDetailsByNumber gets the details of a task whose number is taskNumber
 java.util.List getTaskHistory(IWorkflowContext ctx, java.lang.String taskId)
          getTaskHistory returns a list of history tasks for the specified taskId.
 Task getTaskVersionDetails(IWorkflowContext ctx, java.lang.String taskId, int versionNumber)
          getTaskVersionDetails gets the task version details of a task whose id is taskId for the version denoted by versionNumber
 IWorkflowContext getWorkflowContext(java.lang.String ctxToken)
          getWorkflowContext is used for retrieving a workflow context based on the given token.
 java.util.List queryTasks(IWorkflowContext ctx, java.util.List displayColumns, java.util.List optionalInformation, java.lang.String assignmentFilter, java.lang.String keywords, Predicate predicate, Ordering ordering, int startRow, int endRow)
          queryTasks returns a list of tasks (Task Objects).
 java.util.List queryViewTasks(IWorkflowContext ctx, java.lang.String viewId, Predicate extraPredicate, Ordering defaultOrdering, int startRow, int endRow)
          queryViewTasks returns a list of tasks that match the criterion specified in the view such as columns, optional info, assignmentFilter, keywords, predicate, ordering.

 

Field Detail

ASSIGNMENT_FILTER_MY

public static final java.lang.String ASSIGNMENT_FILTER_MY
Tasks assigned exclusively to the context user
See Also:
Constant Field Values

ASSIGNMENT_FILTER_GROUP

public static final java.lang.String ASSIGNMENT_FILTER_GROUP
Tasks assigned non-exclusively to the context user
See Also:
Constant Field Values

ASSIGNMENT_FILTER_MY_AND_GROUP

public static final java.lang.String ASSIGNMENT_FILTER_MY_AND_GROUP
All tasks assigned to the context user, exclusively or non exclusively
See Also:
Constant Field Values

ASSIGNMENT_FILTER_REPORTEES

public static final java.lang.String ASSIGNMENT_FILTER_REPORTEES
Tasks assigned to the context user's reportees
See Also:
Constant Field Values

ASSIGNMENT_FILTER_CREATOR

public static final java.lang.String ASSIGNMENT_FILTER_CREATOR
Tasks for which the context user is the creator
See Also:
Constant Field Values

ASSIGNMENT_FILTER_OWNER

public static final java.lang.String ASSIGNMENT_FILTER_OWNER
Tasks for which the context user is the owner
See Also:
Constant Field Values

ASSIGNMENT_FILTER_PREVIOUS

public static final java.lang.String ASSIGNMENT_FILTER_PREVIOUS
Tasks which the context user previously updated
See Also:
Constant Field Values

ASSIGNMENT_FILTER_ALL

public static final java.lang.String ASSIGNMENT_FILTER_ALL
All tasks (admins only)
See Also:
Constant Field Values

ASSIGNMENT_FILTER_ADMIN

public static final java.lang.String ASSIGNMENT_FILTER_ADMIN
Query tasks as an admin (admins only)
See Also:
Constant Field Values

TASK_ACTIONS_TYPE_ALL_ACTIONS

public static final java.lang.String TASK_ACTIONS_TYPE_ALL_ACTIONS
Actions that can be performed on a task by a user
See Also:
Constant Field Values

TASK_ACTIONS_TYPE_GROUP_ACTIONS

public static final java.lang.String TASK_ACTIONS_TYPE_GROUP_ACTIONS
Actions that can be performed on a task by a user, if the user belongs to the group, the task is assigned to
See Also:
Constant Field Values

TASK_ACTIONS_TYPE_CUSTOM_ACTIONS

public static final java.lang.String TASK_ACTIONS_TYPE_CUSTOM_ACTIONS
Custom actions that can be performed on a task by a user
See Also:
Constant Field Values

OPTIONAL_INFO_ALL_ACTIONS

public static final java.lang.String OPTIONAL_INFO_ALL_ACTIONS
Get actions that can be performed on a task by a user
See Also:
Constant Field Values

OPTIONAL_INFO_GROUP_ACTIONS

public static final java.lang.String OPTIONAL_INFO_GROUP_ACTIONS
Get actions that can be performed on a task by a user, if the user belongs to the group, the task is assigned to
See Also:
Constant Field Values

OPTIONAL_INFO_CUSTOM_ACTIONS

public static final java.lang.String OPTIONAL_INFO_CUSTOM_ACTIONS
Get custom actions that can be performed on a task by a user
See Also:
Constant Field Values

OPTIONAL_INFO_SHORT_HISTORY

public static final java.lang.String OPTIONAL_INFO_SHORT_HISTORY
Get a concise history of changes made to the task
See Also:
Constant Field Values

Method Detail

createContext

public IWorkflowContext createContext(javax.servlet.http.HttpServletRequest request)
                               throws WorkflowException
createContext is used for creating a context from a pre-authenticated environment such as a SSO based application. The user information is extracted from the authenticated environment and a workflow context is returned for that user (Assuming that HttpServletRequest is from an authenticated user, HttpServletRequest.getRemoteUser() should return the name of the user)
Parameters:
request - The pre-authenticated environment (request) to create the context for
Returns:
IWorkflowContext the workflow context
Throws:
WorkflowException - any exception thrown during authentication

authenticate

public IWorkflowContext authenticate(java.lang.String user,
                                     java.lang.String password,
                                     java.lang.String identityContext,
                                     java.lang.String onBehalfOfUser)
                              throws WorkflowException
authenticate is used for authenticating a user with the identity authentication service based on the specified user/password and returns a workflow context
Parameters:
user - the name of the user who needs to be authenticated
password - the password of the user who needs to be authenticated
identityContext - the identityContext (usually realm) of the user
onBehalfOfUser - The user on behalf of whom the context should be created (Admin can authenticate on behalf of another user, and get the workflow context for the user specified in onBehalfOfUser)
Returns:
IWorkflowContext the workflow context
Throws:
WorkflowException - any exception thrown during authentication

getWorkflowContext

public IWorkflowContext getWorkflowContext(java.lang.String ctxToken)
                                    throws WorkflowException
getWorkflowContext is used for retrieving a workflow context based on the given token.
Parameters:
ctxToken - the token to be used for retrieving the context
Returns:
IWorkflowContext the workflow context
Throws:
WorkflowException - any exception thrown during retrieval

destroyWorkflowContext

public void destroyWorkflowContext(IWorkflowContext ctx)
                            throws WorkflowException
destroyWorkflowContext is used for cleaning up a workflow context that is no longer needed. This will free up the memory used for storing the workflow context. This is used typically when a user logs out..
Parameters:
ctx - the workflow context
Throws:
WorkflowException - any exception thrown during authentication

queryTasks

public java.util.List queryTasks(IWorkflowContext ctx,
                                 java.util.List displayColumns,
                                 java.util.List optionalInformation,
                                 java.lang.String assignmentFilter,
                                 java.lang.String keywords,
                                 Predicate predicate,
                                 Ordering ordering,
                                 int startRow,
                                 int endRow)
                          throws WorkflowException
queryTasks returns a list of tasks (Task Objects). The assignmentFilter is used to filter the tasks based on the task assignment. The tasks returned can be restricted by specifying valid values (>0) for the startRow and endRow to facilitate database level paging. If these values are set to 0 then all qualifying tasks are returned.
Parameters:
ctx - the workflow context (can contain valid token or credentials)
assignmentFilter - the filter for task assignment
 For all possible values, check the assignment filters defined in this interface, 
 like ASSIGNMENT_FILTER_<Filter Name>
 
displayColumns - a list containing names of columns to be retrieved
 For those columns that are not specified here, the queried Task object will not hold any value.
 For example: If TITLE is not specified, task.getTitle() will return null
 For the complete list of columns that can be specified here, check the table shown above
 Note: TASKID is fetched by default. So there is no need to explicitly specity it.
 
optionalInformation - a list specifying optional information to be retrieved
 Possible Values:
 For all possible values, check the optional info defined in this interface, 
 like OPTIONAL_INFO_

1) OPTIONAL_INFO_ALL_ACTIONS (All actions that can be performed on the task) 2) OPTIONAL_INFO_GROUP_ACTIONS (Only group Actions: Actions that can be performed on a group of tasks) 3) OPTIONAL_INFO_CUSTOM_ACTIONS (Custom actions applicable to the specific task type) 4) OPTIONAL_INFO_SHORT_HISTORY (A concise history of changes made to the task) All optionalInfo specified can be fetched from the Task object For example: if you have specified OPTIONAL_INFO_CUSTOM_ACTIONS, you can retrieve it using task.getSystemAttributes().getCustomActions(); OPTIONAL_INFO_ALL_ACTIONS (All Actions) - task.getSystemAttributes().getSystemActions() OPTIONAL_INFO_GROUP_ACTIONS (Only group Actions)- task.getSystemAttributes().getSystemActions() OPTIONAL_INFO_SHORT_HISTORY - task.getSystemAttributes().getShortHistory() The following is reserved for future use. If you need them, please use getTaskDetailsById (or) getTaskDetailsByNumber, which will fetch all information related to a task, which includes these Attachments Comments Payload

keywords - an optional search string
 If this keyword is null, it is omitted from all query. If not null, predicates 
 will be added to the query predicate to perform SQL 'like' operation (this method 
 will add the sql % around the keyword: %<keyword>%) on the following task 
 attributes: task title, identification key, all textAttributes in task, task 
 number (only if the keyword is a number)
 
predicate - the predicate for filtering the tasks
ordering - the ordering criteria for sorting the tasks
startRow - the rownum of the starting row for this query
endRow - the rownum of the ending row for this query
Returns:
a list of Task objects
Throws:
WorkflowException - if any runtime error occurs while querying tasks

queryViewTasks

public java.util.List queryViewTasks(IWorkflowContext ctx,
                                     java.lang.String viewId,
                                     Predicate extraPredicate,
                                     Ordering defaultOrdering,
                                     int startRow,
                                     int endRow)
                              throws WorkflowException
queryViewTasks returns a list of tasks that match the criterion specified in the view such as columns, optional info, assignmentFilter, keywords, predicate, ordering. Methods for managing view definitions can be found in IUserMetadataService.
Parameters:
ctx - the workflow context (can contain valid token or credentials)
viewId - the view id of the view whose tasks need to be retrieved (Views can be created using User Metedata service)
extraPredicate - extra predicate on top of view predicate for filtering the tasks
defaultOrdering - the default ordering criteria that overrides view ordering for sorting the tasks
Returns:
a list of Task objects
Throws:
WorkflowException - if any runtime error occurs while querying tasks

getTaskHistory

public java.util.List getTaskHistory(IWorkflowContext ctx,
                                     java.lang.String taskId)
                              throws WorkflowException
getTaskHistory returns a list of history tasks for the specified taskId.
Parameters:
ctx - the workflow context (can contain valid token or credentials)
taskId - the id of the task whose history is needed
Returns:
a list of Task objects
Throws:
WorkflowException - if any runtime error occurs while getting tasks

getTaskDetailsById

public Task getTaskDetailsById(IWorkflowContext ctx,
                               java.lang.String taskId)
                        throws WorkflowException
getTaskDetailsById gets the details of a task whose id is taskId
Parameters:
ctx - the workflow context (can contain valid token or credentials)
taskId - the id of the task whose details are needed
Returns:
an Task object
Throws:
WorkflowException - if any runtime error occurs while getting task details

getTaskDetailsByNumber

public Task getTaskDetailsByNumber(IWorkflowContext ctx,
                                   int taskNumber)
                            throws WorkflowException
getTaskDetailsByNumber gets the details of a task whose number is taskNumber
Parameters:
ctx - the workflow context (can contain valid token or credentials)
taskNumber - the number of the task whose details are needed
Returns:
an Task object
Throws:
WorkflowException - if any runtime error occurs while getting task details

getTaskVersionDetails

public Task getTaskVersionDetails(IWorkflowContext ctx,
                                  java.lang.String taskId,
                                  int versionNumber)
                           throws WorkflowException
getTaskVersionDetails gets the task version details of a task whose id is taskId for the version denoted by versionNumber
Parameters:
ctx - the workflow context (can contain valid token or credentials)
taskId - the id of the task whose details are needed
versionNumber - the version number of the task
Returns:
an Task object
Throws:
WorkflowException - if any runtime error occurs while getting task details

Skip navigation links

Oracle BPEL Process Manager
Workflow Services API Reference
10g Release 3 (10.1.3)
B28985-02


Copyright © 2006, Oracle. All rights reserved.