public class CmmnCaseProvider extends AbstractUserDashboardProvider implements AnyWorkObjectProvider
Provider implementation for CMMN Case Work Objects.
<p>See https://confluence.edorasware.com/display/EDWDEV/Case+Creation+Sequence</p>
Constructor and Description |
---|
CmmnCaseProvider(org.springframework.context.ApplicationContext applicationContext)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
String |
create(AnyWorkObject template,
String parentWorkObjectId)
Case creation.
|
String |
createCmmnSubCase(AnyWorkObject template,
String parentCaseId,
Map<String,Object> caseTaskParameters,
CaseTask.CaseTaskScope caseTaskScope,
boolean isBlockingTask,
String planItemId)
Case creation.
|
static boolean |
isCmmnCase(Entity workObject)
Check for a CMMN case.
|
static boolean |
isCmmnCase(WorkObject workObject) |
void |
notifyCreationEvent(AnyWorkObject caze,
String parentId) |
void |
update(String caseId,
List<FieldChange> changes)
Updates the entity with the given id by applying the submitted changes.
|
delete, setApplicationContext
cancel
deployDefinitions, getDefinitions, getWorkObjectType
addListener, getId, removeListener
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
cancel
delete, deployDefinitions, getDefinitions, getWorkObjectType
addListener, removeListener
getId
public static final String ID
public CmmnCaseProvider(org.springframework.context.ApplicationContext applicationContext)
Constructor. Passes timeProvider, CaseManager and provider Id to superclass. Assigns method parameters to members. TODO (guy.brand): find a better way to deal with those dependencies. See CLD-11237
applicationContext
- the application contextpublic String create(AnyWorkObject template, String parentWorkObjectId)
Case creation. Instantiate a state machine for the case.
create
in interface DomainObjectProvider
create
in class AbstractUserDashboardProvider
template
- the definition id of the entity to createparentWorkObjectId
- the parent work object ID (may be null
)RuntimeException
- if the case could not be created due to an CMN XML parsing problem or due to a general IO-exception.public String createCmmnSubCase(AnyWorkObject template, String parentCaseId, Map<String,Object> caseTaskParameters, CaseTask.CaseTaskScope caseTaskScope, boolean isBlockingTask, String planItemId)
Case creation.
Instantiate a state machine for the case.
This mothod is used for cases created as a result of starting a CMMN CaseTask.
RuntimeException
- if the case could not be created due to an CMN XML parsing problem or due to a general IO-exception.public void notifyCreationEvent(AnyWorkObject caze, String parentId)
public void update(String caseId, List<FieldChange> changes)
DomainObjectProvider
Updates the entity with the given id by applying the submitted changes.
update
in interface DomainObjectProvider
update
in class AbstractUserDashboardProvider
caseId
- the external id of the entity to updatechanges
- the changes to apply on the entitypublic static boolean isCmmnCase(Entity workObject)
Check for a CMMN case. The check is performed on work object type and provider.
true
, if the passed work object has been identified as a CMMN Case Work Object. Returns false
otherwiese.public static boolean isCmmnCase(WorkObject workObject)
Copyright © 2010 - 2019 edorasware ag. All Rights Reserved.