Class NullProcessCaseDao
java.lang.Object
com.aquima.interactions.process.dao.impl.NullProcessCaseDao
- All Implemented Interfaces:
IProcessCaseDao
Empty implementation of IProcessCaseDao which will be used when no other implementation is found. Throws exception
whenever it is used, as the process engine needs a proper implementation of the
IProcessCaseDao
, either the
one instantiated by enabling the process-sql-store profile or a custom implementation.- Since:
- 10.0
- Author:
- Emoke Olti
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionacquireLock
(long id, String lockedBy) Method for locking a Case.void
clearDelayedEvent
(long caseId, long eventId) Notifies the persistence layer that an event is no longer delayed.createCase
(String name, String appId, CaseStatusType status, String lockedBy, IMultilingualText displayName) This method creates a case.createEvent
(ApplicationID appId, String name, Long caseId, Long taskId, CaseEventType type, CaseEventStatusType status, Date timestamp, String user, Map<String, IValue> content) This method creates a case event.createInstance
(long caseId, String entityName, GUID instanceId, String instanceName) This method creates an instance for a certain case.createTask
(long caseId, Long parentId, String name, TaskType type, TaskStatusType status, IAssigneeInfo assignee, GUID nodeId, DateTimeValue startDate, DateTimeValue timeoutDate, DateTimeValue dueDate, String exitState, String eventName, boolean isConditional, boolean isRequired, boolean isUserSet, Integer priority, DateTimeValue lastPriorityCheck, Map<String, String> properties, String[] unauthorizedUserIds, IMultilingualText displayName) This method creates a task.createValue
(long instanceId, String attributeName, IValue attrValue) This method creates a value for an instance.void
delayEvent
(long caseId, ICaseEventModel caseEventModel) Delays the event with the given id for the case with the given id.void
Deletes all broadcast events.void
deleteCase
(long id) This method deletes a case.void
deleteInstance
(long instanceId) This method deletes an instancevoid
deleteValue
(long instanceId, String attributeName) This method deletes a value of an instance.This method finds the list all case events.findByCriteria
(CaseViewCriteria criteria) Finds case views based on the specified criteria.findByCriteria
(TaskViewCriteria criteria) Finds task views based on the specified criteria.findCaseEventById
(Long eventId) This method finds a case event by id.findCaseEventsByCriteria
(CaseEventCriteria criteria) This method finds a list of case events by criteria.long[]
findCaseIds
(CaseCriteria caseFilter, TaskCriteria taskFilter) Searches for cases matching the specified case and task filters and returns their IDs.findCases
(CaseCriteria caseFilter, TaskCriteria taskFilter) This method searches for cases containing tasks matching the filter.findDelayedEvents
(long caseId) Returns events whose processing has been delayed due to the case being locked.findExtendedCases
(CaseCriteria caseFilter) This method searches for cases matching the task filter.findExtendedTasks
(TaskCriteria taskFilter) This method searches for tasks matching the task filter.findTasks
(TaskCriteria taskFilter) This method searches for tasks matching the task filter.findTimerEvent
(Long caseId, Long taskId) Returns the timer event associated with the given case and timer task, or null if it does not exist.getCase
(long caseId) This method returns the case for the specified id.getCaseState
(long caseId) This method returns the CaseState for the specific case including all tasks that belong to it.getChildTasks
(long parentTaskId) This method returns the child tasks of a certain task.getInstancesForCase
(long caseId) This method returns the instances of a certain case.getInstancesForCases
(long[] caseIds) Returns the instances of the specified cases.getTask
(long id) This method returns the task of a certain id.getTasksForCase
(long caseId) This method returns the tasks of a certain case.getValuesForCase
(long caseId) This method returns all the values belonging to a case.getValuesForInstances
(long[] instanceIds) Returns all the values for the specified instances.boolean
isCaseLocked
(long caseId) Checks is a case is locked in the databasereplayEvent
(ICaseEventModel original, Long caseId, String user) Creates a copy of a case event.void
setCaseEventStatus
(ICaseEventModel caseEvent, CaseEventStatusType status) This method updates the status of a case event.unlockCase
(long id) Method for unlocking a case.updateCase
(long id, CaseStatusType status, String lockedBy) This method updates a case.updateCaseApplicationId
(long id, String applicationId) Updates the application id of a case.updateCaseDisplayName
(long id, IMultilingualText displayName) This method will remove the current display names and will add the new new display names provided as parameter In case of null, the case name will be setupdateDueDate
(long taskId, DateTimeValue dueDate) This methods updates the due date of the task.updateLastPriorityCheck
(long taskId, DateTimeValue lastPriorityCheck) This method updates the last priority check of the task with the specified id.updatePriority
(long taskId, Integer priority, DateTimeValue lastPriorityCheck) This methods updates the priority and the last priority check of the task with the specified id.updateStartDate
(long taskId, DateTimeValue startDate) This methods updates the start date of the task.updateTask
(long taskId, TaskStatusType status, IAssigneeInfo assigneeInfo, DateTimeValue timeoutDate, String exitState, String executedBy, boolean isRequired, boolean isUserSet, Integer priority, DateTimeValue lastPriorityCheck, IMultilingualText displayName) This method updates a task with the specified id.updateTaskDisplayName
(long taskId, IMultilingualText displayName) Updates the display name of the task with the specified id.updateTaskExitState
(long taskId, String newExitState) Method for updating the taskExitStateupdateTaskUnauthorizedUsers
(long taskId, String[] unauthorizedUsers) This method updates the unauthorizedUsers property of a task.updateTimeoutDate
(long taskId, DateTimeValue timeoutDate) This methods updates the timeout date of the task.updateValue
(long instanceId, String attributeName, IValue attrValue) This method updates a value of an instance.
-
Constructor Details
-
NullProcessCaseDao
public NullProcessCaseDao()
-
-
Method Details
-
getCase
Description copied from interface:IProcessCaseDao
This method returns the case for the specified id.- Specified by:
getCase
in interfaceIProcessCaseDao
- Parameters:
caseId
- The id of the case.- Returns:
- The model of the case for the specified id, or null if the case could not be found.
-
findCases
Description copied from interface:IProcessCaseDao
This method searches for cases containing tasks matching the filter.- Specified by:
findCases
in interfaceIProcessCaseDao
- Parameters:
caseFilter
- The case filter.taskFilter
- The task filter.- Returns:
- The matching cases.
-
findCaseIds
Description copied from interface:IProcessCaseDao
Searches for cases matching the specified case and task filters and returns their IDs.- Specified by:
findCaseIds
in interfaceIProcessCaseDao
- Parameters:
caseFilter
- the filter cases should matchtaskFilter
- the filter tasks should match- Returns:
- the IDs of the matching cases.
-
getCaseState
Description copied from interface:IProcessCaseDao
This method returns the CaseState for the specific case including all tasks that belong to it.- Specified by:
getCaseState
in interfaceIProcessCaseDao
- Parameters:
caseId
- the id of the case.- Returns:
- the caseState model of the specified case or null
-
createCase
public ICaseModel createCase(String name, String appId, CaseStatusType status, String lockedBy, IMultilingualText displayName) Description copied from interface:IProcessCaseDao
This method creates a case.- Specified by:
createCase
in interfaceIProcessCaseDao
- Parameters:
name
- The name of the case.appId
- The application id.status
- The status of the case.lockedBy
- The user locking the case.displayName
- the display name- Returns:
- The model for the case.
-
updateCase
Description copied from interface:IProcessCaseDao
This method updates a case.- Specified by:
updateCase
in interfaceIProcessCaseDao
- Parameters:
id
- The id of the case.status
- The new status of the case.lockedBy
- The user locking the case.- Returns:
- The model for the case.
-
updateCaseDisplayName
Description copied from interface:IProcessCaseDao
This method will remove the current display names and will add the new new display names provided as parameter In case of null, the case name will be set- Specified by:
updateCaseDisplayName
in interfaceIProcessCaseDao
- Parameters:
id
- The id of the case.displayName
- the display name to set- Returns:
- The model for the case.
-
updateTaskDisplayName
Description copied from interface:IProcessCaseDao
Updates the display name of the task with the specified id.- Specified by:
updateTaskDisplayName
in interfaceIProcessCaseDao
- Parameters:
taskId
- the id of the taskdisplayName
- the display name- Returns:
- the updated task model
-
deleteCase
public void deleteCase(long id) Description copied from interface:IProcessCaseDao
This method deletes a case.- Specified by:
deleteCase
in interfaceIProcessCaseDao
- Parameters:
id
- The id of the case.
-
getTask
Description copied from interface:IProcessCaseDao
This method returns the task of a certain id.- Specified by:
getTask
in interfaceIProcessCaseDao
- Parameters:
id
- The id of the task.- Returns:
- The model for the task, or null if a task model with the given id is not found.
-
findTasks
Description copied from interface:IProcessCaseDao
This method searches for tasks matching the task filter.- Specified by:
findTasks
in interfaceIProcessCaseDao
- Parameters:
taskFilter
- The filter tasks should match.- Returns:
- The models of tasks matching the filter.
-
findExtendedTasks
Description copied from interface:IProcessCaseDao
This method searches for tasks matching the task filter.- Specified by:
findExtendedTasks
in interfaceIProcessCaseDao
- Parameters:
taskFilter
- The filter tasks should match.- Returns:
- The result of the tasks, case and values.
-
findExtendedCases
Description copied from interface:IProcessCaseDao
This method searches for cases matching the task filter.- Specified by:
findExtendedCases
in interfaceIProcessCaseDao
- Parameters:
caseFilter
- The filter cases should match.- Returns:
- The result of the case and values.
-
getTasksForCase
Description copied from interface:IProcessCaseDao
This method returns the tasks of a certain case.- Specified by:
getTasksForCase
in interfaceIProcessCaseDao
- Parameters:
caseId
- The id of the case.- Returns:
- The models of the tasks belonging to the case.
-
getChildTasks
Description copied from interface:IProcessCaseDao
This method returns the child tasks of a certain task.- Specified by:
getChildTasks
in interfaceIProcessCaseDao
- Parameters:
parentTaskId
- The id of the parent task.- Returns:
- The models of the tasks being a child of the parent.
-
createTask
public ITaskModel createTask(long caseId, Long parentId, String name, TaskType type, TaskStatusType status, IAssigneeInfo assignee, GUID nodeId, DateTimeValue startDate, DateTimeValue timeoutDate, DateTimeValue dueDate, String exitState, String eventName, boolean isConditional, boolean isRequired, boolean isUserSet, Integer priority, DateTimeValue lastPriorityCheck, Map<String, String> properties, String[] unauthorizedUserIds, IMultilingualText displayName) Description copied from interface:IProcessCaseDao
This method creates a task.- Specified by:
createTask
in interfaceIProcessCaseDao
- Parameters:
caseId
- The id of the case.parentId
- The id of the parent task.name
- The name of the case.type
- The type of the task.status
- The status of the task.assignee
- The assignee of the task.nodeId
- The definition node id of the task.startDate
- The startData of the task.timeoutDate
- The timeoutDate of the task.dueDate
- The dueDate of the taskexitState
- The exitState of the task.eventName
- The eventName this task is waiting for.isConditional
- Indicator whether the task is conditional.isRequired
- Indicator whether the task is required.isUserSet
- Indicator whether the task was assigned by an user manually or by a routing algorithmpriority
- The priority of the task.lastPriorityCheck
- The last date priority was checked.properties
- propertiesunauthorizedUserIds
- ids of users that are unauthorizeddisplayName
- the display name- Returns:
- The model of the task.
-
updateTask
public ITaskModel updateTask(long taskId, TaskStatusType status, IAssigneeInfo assigneeInfo, DateTimeValue timeoutDate, String exitState, String executedBy, boolean isRequired, boolean isUserSet, Integer priority, DateTimeValue lastPriorityCheck, IMultilingualText displayName) Description copied from interface:IProcessCaseDao
This method updates a task with the specified id.- Specified by:
updateTask
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.status
- The status of the task.assigneeInfo
- The assignee of the task.timeoutDate
- The duedate of the task.exitState
- The exitstate of the task.executedBy
- The user who executed the update.isRequired
- The required flag of the task.isUserSet
- Indicator whether the task was assigned by an user manually or by a routing algorithm.priority
- The priority of the task.lastPriorityCheck
- The last time priority was checked.displayName
- The display name of the task.- Returns:
- The updated model of the task.
-
updateStartDate
Description copied from interface:IProcessCaseDao
This methods updates the start date of the task.- Specified by:
updateStartDate
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.startDate
- The start date of the task.- Returns:
- the updated model of the task.
-
updateDueDate
Description copied from interface:IProcessCaseDao
This methods updates the due date of the task.- Specified by:
updateDueDate
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.dueDate
- The due date of the task.- Returns:
- the updated model of the task.
-
updateTimeoutDate
Description copied from interface:IProcessCaseDao
This methods updates the timeout date of the task.- Specified by:
updateTimeoutDate
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.timeoutDate
- The timeout date of the task.- Returns:
- the updated model of the task.
-
updatePriority
Description copied from interface:IProcessCaseDao
This methods updates the priority and the last priority check of the task with the specified id. This method should be used when the priority of a task changes to a new value.- Specified by:
updatePriority
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.priority
- the priority of the tasklastPriorityCheck
- The last time priority was checked.- Returns:
- the updated model of the task.
-
updateLastPriorityCheck
Description copied from interface:IProcessCaseDao
This method updates the last priority check of the task with the specified id. This method should be used when the priority of a task was checked and it did not change to a new value.- Specified by:
updateLastPriorityCheck
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.lastPriorityCheck
- the last time priority was checked.- Returns:
- the updated model of the task.
-
updateTaskUnauthorizedUsers
Description copied from interface:IProcessCaseDao
This method updates the unauthorizedUsers property of a task.- Specified by:
updateTaskUnauthorizedUsers
in interfaceIProcessCaseDao
- Parameters:
taskId
- the id of the taskunauthorizedUsers
- the unauthorized users- Returns:
- The model of the task.
-
getInstancesForCase
Description copied from interface:IProcessCaseDao
This method returns the instances of a certain case.- Specified by:
getInstancesForCase
in interfaceIProcessCaseDao
- Parameters:
caseId
- The id of the case.- Returns:
- The instances for the specified case.
-
getInstancesForCases
Description copied from interface:IProcessCaseDao
Returns the instances of the specified cases.- Specified by:
getInstancesForCases
in interfaceIProcessCaseDao
- Parameters:
caseIds
- case IDs, must not be null- Returns:
- instances for the specified cases (never null)
-
createInstance
public ICaseDataInstance createInstance(long caseId, String entityName, GUID instanceId, String instanceName) Description copied from interface:IProcessCaseDao
This method creates an instance for a certain case.- Specified by:
createInstance
in interfaceIProcessCaseDao
- Parameters:
caseId
- the id of the case.entityName
- The name of the entity.instanceId
- The id of the instance.instanceName
- The name of the instance.- Returns:
- The newly created instance.
-
deleteInstance
public void deleteInstance(long instanceId) Description copied from interface:IProcessCaseDao
This method deletes an instance- Specified by:
deleteInstance
in interfaceIProcessCaseDao
- Parameters:
instanceId
- The id of the instance to delete.
-
getValuesForCase
Description copied from interface:IProcessCaseDao
This method returns all the values belonging to a case.- Specified by:
getValuesForCase
in interfaceIProcessCaseDao
- Parameters:
caseId
- The case id for the values.- Returns:
- All values of the specified case.
-
getValuesForInstances
Description copied from interface:IProcessCaseDao
Returns all the values for the specified instances.- Specified by:
getValuesForInstances
in interfaceIProcessCaseDao
- Parameters:
instanceIds
- the (persistence) IDs of the instances, must not be null.- Returns:
- the values for the specified instances, never null.
-
createValue
Description copied from interface:IProcessCaseDao
This method creates a value for an instance.- Specified by:
createValue
in interfaceIProcessCaseDao
- Parameters:
instanceId
- The id of the instance.attributeName
- The value attribute.attrValue
- The value of the attribute.- Returns:
- The value model.
-
updateValue
Description copied from interface:IProcessCaseDao
This method updates a value of an instance.- Specified by:
updateValue
in interfaceIProcessCaseDao
- Parameters:
instanceId
- The id of the instance.attributeName
- The value attribute.attrValue
- The value of the attribute.- Returns:
- The updated value model.
-
deleteValue
Description copied from interface:IProcessCaseDao
This method deletes a value of an instance.- Specified by:
deleteValue
in interfaceIProcessCaseDao
- Parameters:
instanceId
- The id of the instance.attributeName
- The name of the attribute.
-
createEvent
public ICaseEventModel createEvent(ApplicationID appId, String name, Long caseId, Long taskId, CaseEventType type, CaseEventStatusType status, Date timestamp, String user, Map<String, IValue> content) Description copied from interface:IProcessCaseDao
This method creates a case event.- Specified by:
createEvent
in interfaceIProcessCaseDao
- Parameters:
appId
- The application ID where the event occurred.name
- The name of the event.caseId
- The case id of the case this message is intended for.taskId
- The task id of the task associated with this event (may be null).type
- The type of the event (message or timer).status
- The status of the event (waiting or processed).timestamp
- The timestamp of the event;user
- The user name of the event creator.content
- A Map of custom data to be persisted.- Returns:
- The case event model object.
-
replayEvent
Description copied from interface:IProcessCaseDao
Creates a copy of a case event.The following properties are different in the copy compared to the original:
- caseId - is set to the specified caseId
- status - is set to WAITING
- timestamp - is set to current datetime
- user - is set to the specified user
- replayEventId - is set to the id of the original case event
- Specified by:
replayEvent
in interfaceIProcessCaseDao
- Parameters:
original
- the original case event.caseId
- optional caseId, may be null.user
- the user that is replaying the event.- Returns:
- the copied event.
-
deleteBroadcastEvents
public void deleteBroadcastEvents()Description copied from interface:IProcessCaseDao
Deletes all broadcast events.- Specified by:
deleteBroadcastEvents
in interfaceIProcessCaseDao
-
findTimerEvent
Description copied from interface:IProcessCaseDao
Returns the timer event associated with the given case and timer task, or null if it does not exist.- Specified by:
findTimerEvent
in interfaceIProcessCaseDao
- Parameters:
caseId
- the case id, must not be null.taskId
- the task id, must not be null.- Returns:
- the timer event or null.
-
setCaseEventStatus
Description copied from interface:IProcessCaseDao
This method updates the status of a case event.- Specified by:
setCaseEventStatus
in interfaceIProcessCaseDao
- Parameters:
caseEvent
- The case event to be updated.status
- The new status.
-
findCaseEventById
Description copied from interface:IProcessCaseDao
This method finds a case event by id.- Specified by:
findCaseEventById
in interfaceIProcessCaseDao
- Parameters:
eventId
- The id of the case event.- Returns:
- The case event.
-
findAllCaseEvents
Description copied from interface:IProcessCaseDao
This method finds the list all case events.- Specified by:
findAllCaseEvents
in interfaceIProcessCaseDao
- Returns:
- The list with all case events.
-
findCaseEventsByCriteria
Description copied from interface:IProcessCaseDao
This method finds a list of case events by criteria.- Specified by:
findCaseEventsByCriteria
in interfaceIProcessCaseDao
- Parameters:
criteria
- The case events criteria used for finding case events.- Returns:
- A list of case events.
-
findDelayedEvents
Description copied from interface:IProcessCaseDao
Returns events whose processing has been delayed due to the case being locked. The returned events are ordered by timestamp ascending.- Specified by:
findDelayedEvents
in interfaceIProcessCaseDao
- Parameters:
caseId
- the ID of the case for which delayed events are retrieved.- Returns:
- the delayed events for the given case, never null.
-
delayEvent
Description copied from interface:IProcessCaseDao
Delays the event with the given id for the case with the given id. If the event with the given id is already delayed for the given case, this method has no effect.- Specified by:
delayEvent
in interfaceIProcessCaseDao
- Parameters:
caseId
- the ID of the case.caseEventModel
- the event.
-
clearDelayedEvent
public void clearDelayedEvent(long caseId, long eventId) Description copied from interface:IProcessCaseDao
Notifies the persistence layer that an event is no longer delayed.- Specified by:
clearDelayedEvent
in interfaceIProcessCaseDao
- Parameters:
caseId
- the ID of the case.eventId
- the ID of the event.
-
findByCriteria
Description copied from interface:IProcessCaseDao
Finds task views based on the specified criteria.Unlike
IProcessData.findByCriteria(TaskViewCriteria)
, this method does not alter the criteria.- Specified by:
findByCriteria
in interfaceIProcessCaseDao
- Parameters:
criteria
- the criteria- Returns:
- The task view result object.
-
findByCriteria
Description copied from interface:IProcessCaseDao
Finds case views based on the specified criteria.Unlike
IProcessData.findByCriteria(CaseViewCriteria)
, this method does not alter the criteria.- Specified by:
findByCriteria
in interfaceIProcessCaseDao
- Parameters:
criteria
- the criteria- Returns:
- The case view result object.
-
updateCaseApplicationId
Description copied from interface:IProcessCaseDao
Updates the application id of a case.- Specified by:
updateCaseApplicationId
in interfaceIProcessCaseDao
- Parameters:
id
- the id of the case which has to be updatedapplicationId
- the new application id- Returns:
- The model of the case for the specified id, or null if the case could not be found.
-
acquireLock
Description copied from interface:IProcessCaseDao
Method for locking a Case. This method can only lock a case if it not already locked. this is needed in order not override a lock of another user.- Specified by:
acquireLock
in interfaceIProcessCaseDao
- Parameters:
id
- the id of the case which has to be updatedlockedBy
- The user locking the case.- Returns:
- The updated model of the case for the specified id
-
unlockCase
Description copied from interface:IProcessCaseDao
Method for unlocking a case. This method only unlocks a case if it was locked.- Specified by:
unlockCase
in interfaceIProcessCaseDao
- Parameters:
id
- The id of the case to unlock- Returns:
- The updated model for the case.
-
updateTaskExitState
Description copied from interface:IProcessCaseDao
Method for updating the taskExitState- Specified by:
updateTaskExitState
in interfaceIProcessCaseDao
- Parameters:
taskId
- The id of the task.newExitState
- The new Task Exit State to set- Returns:
- The updated model of the task.
-
isCaseLocked
public boolean isCaseLocked(long caseId) Description copied from interface:IProcessCaseDao
Checks is a case is locked in the database- Specified by:
isCaseLocked
in interfaceIProcessCaseDao
- Parameters:
caseId
- the id of the case to check- Returns:
- true if the case is locked, false otherwise
-