The default behavior of the Inbox Actions, Task Actions and Task Search functionalities can be changed by using Guice to call custom code which overrides the default behavior.
Note: Guice is a framework developed by Google and is beyond the scope of this document. For more information on Guice please refer to the Guice user's guide.
The Cúram Workflow Management System contains the following customization points and their corresponding default implementations:
Table 1. Customization PointsCustomization Point
|
Interface Class
|
Default Implementation Class
|
Inbox Actions
|
curam.core.hook. task.impl.InboxActions
|
curam.core.hook. task.impl.InboxActionsImpl
|
Task Actions
|
curam.core.hook. task.impl.TaskActions
|
curam.core.hook. task.impl.TaskActionsImpl
|
Task Search and Available Task Search
|
curam.core.hook. task.impl.SearchTask
|
curam.core.hook. task.impl.SearchTaskImpl
|
Task Query
|
curam.core.hook. task.impl.TaskQuery
|
curam.core.hook. task.impl.TaskQueryImpl
|
Task Search SQL generation
|
curam.core.hook. task.impl.SearchTaskSQL
|
curam.core.hook. task.impl.SearchTaskSQLImpl
|
The following Inbox Actions may be customized:
- Get Next Task
- Get Next Task From Preferred Organization Unit
- Get Next Task From Preferred Queue
- Get Next Task From Work Queue
- Subscribe User To Work Queue
- Unsubscribe User From Work Queue
The following Task Actions may be customized:
- Add Comment
- Close
- Create
- Defer
- Restart
- Forward
- Modify Time Worked
- Modify Priority
- Modify Deadline
- Reallocate
- Add To My Tasks
The following Task Search and Available Task Search methods may be customized:
- countAvailableTasks
- countTasks
- searchAvailableTasks
- searchTask
- validateSearchTask
The following Task Query methods may be customized:
- createTaskQuery
- modifyTaskQuery
- runTaskQuery
- validateTaskQuery
The following Task Search SQL generation methods may be customized. These methods are used to generate the SQL for all of the above task search functionalities.
- getBusinessObjectTypeSQL
- getCategorySQL
- getCountSQLStatement
- getCreationDateSQL
- getDeadlineSQL
- getFromClause
- getOrderBySQL
- getOrgObjectSQL
- getPrioritySQL
- getReservedBySQL
- getRestartDateSQL
- getSelectClause
- getSQLStatement
- getStatusSQL
- getTaskIDSQL
- getWhereClause