public class CmmnCaseProvider extends AbstractUserDashboardProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.Case,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener,com.edorasware.gear.core.caze.Case.Builder,com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?>,com.edorasware.gear.core.caze.CaseManager> implements com.edorasware.gear.core.caze.support.CaseProvider
See https://confluence.edorasware.com/display/EDWDEV/Case+Creation+Sequence
Modifier and Type | Field and Description |
---|---|
protected com.edorasware.gear.core.caze.CaseDefinitionService |
caseDefinitionService
Not really needed.
|
protected com.edorasware.commons.core.identity.CurrentUserService |
currentUserService |
static com.edorasware.gear.core.caze.CaseProviderId |
ID |
protected com.edorasware.commons.core.persistence.PrimaryKeyGenerator |
keyGenerator
Used to create the case Id for new cases.
|
protected com.edorasware.commons.core.init.LifeCycle |
lifeCycle
Used to prevent update calls while in system initialization phase (e.g. during DB upgrades).
|
protected OneEngineListeners |
oneEngineListeners
The main set of call-backs for edoras one CMMN integration.
|
protected OnePersistenceListeners |
onePersistenceListeners
Call-backs providing persistence implementations.
|
protected com.edorasware.cmmn.engine.core.StateModelManager |
stateModelManager
Used to create new state models (new CMMN cases).
|
protected com.edorasware.cmmn.engine.core.SynchronizedLowLevelCmmnService |
synchronizedLowLevelCmmnService
A service implementation which provides synchronization by serializing access
to state models on the level of the case instance.
|
protected UserManager |
userManager
Used to get the current locale.
|
protected com.edorasware.commons.core.service.entity.WorkObjectService |
workObjectService
Used for case work object lookup.
|
applicationContext
Constructor and Description |
---|
CmmnCaseProvider(com.edorasware.cmmn.engine.core.StateModelManager stateModelManager,
com.edorasware.cmmn.engine.core.SynchronizedLowLevelCmmnService synchronizedLowLevelCmmnService,
OneEngineListeners oneEngineListeners,
OnePersistenceListeners onePersistenceListeners,
com.edorasware.commons.core.persistence.PrimaryKeyGenerator keyGenerator,
com.edorasware.commons.core.service.entity.WorkObjectService workObjectService,
com.edorasware.commons.core.identity.CurrentUserService currentUserService,
com.edorasware.commons.core.time.TimeProvider timeProvider,
UserManager userManager)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
com.edorasware.gear.core.caze.CaseId |
create(com.edorasware.gear.core.caze.CaseDefinitionId definitionId,
Map<String,Object> variables,
com.edorasware.commons.core.entity.WorkObjectId parentWorkObjectId)
Case creation.
|
com.edorasware.gear.core.caze.Case.Builder |
createCaseBuilder(com.edorasware.commons.core.entity.WorkObject<?,?,?> template,
com.edorasware.gear.core.caze.CaseDefinitionId definitionId,
com.edorasware.commons.core.entity.WorkObjectId parentId)
Set up a CMMN case builder given a work object as template.
|
protected com.edorasware.commons.core.field.FieldChange |
findFieldChange(List<com.edorasware.commons.core.field.FieldChange> changes,
String variableName) |
protected com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?> |
getGenericWorkObjectDefinitionService() |
protected Object |
getValue(Object fieldChangeList,
String variableName) |
protected boolean |
handleCaseVariableUpdate(String caseId,
List<com.edorasware.commons.core.field.FieldChange> changes,
String caseVariableName,
String caseFileItemId,
com.edorasware.cmmn.model.TransitionData transitionData) |
protected boolean |
handleCaseVariableUpdate(String caseId,
List<com.edorasware.commons.core.field.FieldChange> changes,
com.edorasware.cmmn.model.TransitionData transitionData) |
protected boolean |
hasBeenChanged(Object fieldChangeList,
String variableName) |
protected boolean |
isUpdateHandlingRequired(List<com.edorasware.commons.core.field.FieldChange> changes) |
void |
notifyCreationEvent(com.edorasware.gear.core.caze.Case caze) |
void |
update(com.edorasware.gear.core.caze.CaseId externalId,
List<com.edorasware.commons.core.field.FieldChange> changes) |
protected void |
update(List<com.edorasware.commons.core.field.FieldChange> changes,
com.edorasware.commons.core.any.AnyWorkObject caze,
com.edorasware.cmmn.model.TransitionData transitionData) |
adjustWithAssigneeAndOwner, adjustWithCandidates, create, delete
deployDefinitions, getDefinitions, requiresInitialSynchronization
addListener, execute, getId, getTimeProvider, removeListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
create, delete, deployDefinitions, getDefinitions, requiresInitialSynchronization
public static final com.edorasware.gear.core.caze.CaseProviderId ID
protected final com.edorasware.cmmn.engine.core.StateModelManager stateModelManager
protected final com.edorasware.cmmn.engine.core.SynchronizedLowLevelCmmnService synchronizedLowLevelCmmnService
protected final OneEngineListeners oneEngineListeners
protected final OnePersistenceListeners onePersistenceListeners
protected final com.edorasware.commons.core.persistence.PrimaryKeyGenerator keyGenerator
protected final UserManager userManager
protected final com.edorasware.commons.core.service.entity.WorkObjectService workObjectService
protected final com.edorasware.commons.core.identity.CurrentUserService currentUserService
protected com.edorasware.gear.core.caze.CaseDefinitionService caseDefinitionService
@Autowired protected com.edorasware.commons.core.init.LifeCycle lifeCycle
public CmmnCaseProvider(com.edorasware.cmmn.engine.core.StateModelManager stateModelManager, com.edorasware.cmmn.engine.core.SynchronizedLowLevelCmmnService synchronizedLowLevelCmmnService, OneEngineListeners oneEngineListeners, OnePersistenceListeners onePersistenceListeners, com.edorasware.commons.core.persistence.PrimaryKeyGenerator keyGenerator, com.edorasware.commons.core.service.entity.WorkObjectService workObjectService, com.edorasware.commons.core.identity.CurrentUserService currentUserService, com.edorasware.commons.core.time.TimeProvider timeProvider, UserManager userManager)
stateModelManager
- StateModelManagersynchronizedLowLevelCmmnService
- the cmmn service to use. Must be synchronizedoneEngineListeners
- engine listenersonePersistenceListeners
- persistence listenerskeyGenerator
- key generatorworkObjectService
- work object servicecurrentUserService
- current user servicetimeProvider
- time provideruserManager
- user managerpublic com.edorasware.gear.core.caze.CaseId create(com.edorasware.gear.core.caze.CaseDefinitionId definitionId, Map<String,Object> variables, com.edorasware.commons.core.entity.WorkObjectId parentWorkObjectId)
create
in interface com.edorasware.commons.core.provider.entity.WorkObjectProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener>
create
in class AbstractUserDashboardProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.Case,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener,com.edorasware.gear.core.caze.Case.Builder,com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?>,com.edorasware.gear.core.caze.CaseManager>
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(com.edorasware.gear.core.caze.Case caze)
notifyCreationEvent
in class AbstractUserDashboardProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.Case,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener,com.edorasware.gear.core.caze.Case.Builder,com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?>,com.edorasware.gear.core.caze.CaseManager>
public void update(com.edorasware.gear.core.caze.CaseId externalId, List<com.edorasware.commons.core.field.FieldChange> changes)
update
in interface com.edorasware.commons.core.provider.entity.DomainObjectProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener>
update
in class AbstractUserDashboardProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.Case,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener,com.edorasware.gear.core.caze.Case.Builder,com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?>,com.edorasware.gear.core.caze.CaseManager>
protected void update(List<com.edorasware.commons.core.field.FieldChange> changes, com.edorasware.commons.core.any.AnyWorkObject caze, com.edorasware.cmmn.model.TransitionData transitionData)
protected boolean handleCaseVariableUpdate(String caseId, List<com.edorasware.commons.core.field.FieldChange> changes, com.edorasware.cmmn.model.TransitionData transitionData) throws JAXBException, IOException
JAXBException
IOException
protected boolean handleCaseVariableUpdate(String caseId, List<com.edorasware.commons.core.field.FieldChange> changes, String caseVariableName, String caseFileItemId, com.edorasware.cmmn.model.TransitionData transitionData) throws IOException, JAXBException
IOException
JAXBException
protected com.edorasware.commons.core.field.FieldChange findFieldChange(List<com.edorasware.commons.core.field.FieldChange> changes, String variableName)
protected boolean isUpdateHandlingRequired(List<com.edorasware.commons.core.field.FieldChange> changes)
true
, if the detected field changes should cause CMMN engine update handling.
Return false
, if not.public com.edorasware.gear.core.caze.Case.Builder createCaseBuilder(com.edorasware.commons.core.entity.WorkObject<?,?,?> template, com.edorasware.gear.core.caze.CaseDefinitionId definitionId, com.edorasware.commons.core.entity.WorkObjectId parentId)
protected com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?> getGenericWorkObjectDefinitionService()
getGenericWorkObjectDefinitionService
in class AbstractUserDashboardProvider<com.edorasware.gear.core.caze.CaseId,com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.Case,com.edorasware.gear.core.caze.CaseDefinition,com.edorasware.gear.core.caze.support.CaseProviderListener,com.edorasware.gear.core.caze.Case.Builder,com.edorasware.commons.core.service.entity.WorkObjectDefinitionService<com.edorasware.gear.core.caze.CaseDefinitionId,com.edorasware.gear.core.caze.CaseProviderId,com.edorasware.gear.core.caze.CaseDefinition,?>,com.edorasware.gear.core.caze.CaseManager>
Copyright © 2010 - 2017 edorasware ag. All Rights Reserved.