Class CmmnDeployer
- java.lang.Object
-
- org.flowable.cmmn.engine.impl.deployer.CmmnDeployer
-
- All Implemented Interfaces:
EngineDeployer
public class CmmnDeployer extends Object implements EngineDeployer
TODO: many similarities with BpmnDeployer, see if it can be merged to the common module- Author:
- Joram Barrez
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classCmmnDeployer.CmmnParseContextImpl
-
Field Summary
Fields Modifier and Type Field Description protected CaseDefinitionDiagramHelpercaseDefinitionDiagramHelperstatic String[]CMMN_RESOURCE_SUFFIXESprotected CmmnEngineConfigurationcmmnEngineConfigurationprotected CmmnParsercmmnParserprotected IdGeneratoridGeneratorprotected booleanusePrefixId
-
Constructor Summary
Constructors Constructor Description CmmnDeployer(CmmnEngineConfiguration cmmnEngineConfiguration)
-
Method Summary
-
-
-
Field Detail
-
CMMN_RESOURCE_SUFFIXES
public static final String[] CMMN_RESOURCE_SUFFIXES
-
cmmnEngineConfiguration
protected CmmnEngineConfiguration cmmnEngineConfiguration
-
idGenerator
protected IdGenerator idGenerator
-
cmmnParser
protected CmmnParser cmmnParser
-
caseDefinitionDiagramHelper
protected CaseDefinitionDiagramHelper caseDefinitionDiagramHelper
-
usePrefixId
protected boolean usePrefixId
-
-
Constructor Detail
-
CmmnDeployer
public CmmnDeployer(CmmnEngineConfiguration cmmnEngineConfiguration)
-
-
Method Detail
-
deploy
public void deploy(EngineDeployment deployment, Map<String,Object> deploymentSettings)
- Specified by:
deployin interfaceEngineDeployer
-
isCmmnResource
public static boolean isCmmnResource(String resourceName)
-
createAndPersistNewDiagramsIfNeeded
protected void createAndPersistNewDiagramsIfNeeded(CmmnParseResult parseResult)
Creates new diagrams for case definitions if the deployment is new, the case definition in question supports it, and the engine is configured to make new diagrams. When this method creates a new diagram, it also persists it via the ResourceEntityManager and adds it to the resources of the deployment.
-
setCaseDefinitionDiagramNames
protected void setCaseDefinitionDiagramNames(CmmnParseResult parseResult)
Updates all the case definition entities to have the correct diagram resource name. Must be called after createAndPersistNewDiagramsAsNeeded to ensure that any newly-created diagrams already have their resources attached to the deployment.
-
getPreviousVersionsOfCaseDefinitions
protected Map<CaseDefinitionEntity,CaseDefinitionEntity> getPreviousVersionsOfCaseDefinitions(CmmnParseResult parseResult)
-
setCaseDefinitionVersionsAndIds
protected void setCaseDefinitionVersionsAndIds(CmmnParseResult parseResult, Map<CaseDefinitionEntity,CaseDefinitionEntity> mapNewToOldCaseDefinitions)
-
persistCaseDefinitions
protected void persistCaseDefinitions(CmmnParseResult parseResult)
-
updateEventSubscriptions
protected void updateEventSubscriptions(CmmnParseResult parseResult, Map<CaseDefinitionEntity,CaseDefinitionEntity> mapOfNewCaseDefinitionToPreviousVersion)
-
getEventCorrelationKey
protected String getEventCorrelationKey(org.flowable.cmmn.model.Case caseModel)
-
makeCaseDefinitionsConsistentWithPersistedVersions
protected void makeCaseDefinitionsConsistentWithPersistedVersions(CmmnParseResult parseResult)
-
verifyCaseDefinitionsDoNotShareKeys
protected void verifyCaseDefinitionsDoNotShareKeys(Collection<CaseDefinitionEntity> caseDefinitionEntities)
-
copyDeploymentValuesToCaseDefinitions
protected void copyDeploymentValuesToCaseDefinitions(EngineDeployment deployment, List<CaseDefinitionEntity> caseDefinitionEntities)
-
setResourceNamesOnCaseDefinitions
protected void setResourceNamesOnCaseDefinitions(CmmnParseResult parseResult)
-
getMostRecentVersionOfCaseDefinition
protected CaseDefinitionEntity getMostRecentVersionOfCaseDefinition(CaseDefinitionEntity caseDefinitionEntity)
-
getPersistedInstanceOfCaseDefinition
protected CaseDefinitionEntity getPersistedInstanceOfCaseDefinition(CaseDefinitionEntity caseDefinitionEntity)
-
updateCachingAndArtifacts
protected void updateCachingAndArtifacts(CmmnParseResult parseResult)
-
addAuthorizationsForNewCaseDefinition
public void addAuthorizationsForNewCaseDefinition(org.flowable.cmmn.model.Case caze, CaseDefinitionEntity caseDefinition)
-
addAuthorizationsFromIterator
protected void addAuthorizationsFromIterator(List<String> expressions, CaseDefinitionEntity caseDefinition, String expressionType)
-
getIdGenerator
public IdGenerator getIdGenerator()
-
setIdGenerator
public void setIdGenerator(IdGenerator idGenerator)
-
getCmmnParser
public CmmnParser getCmmnParser()
-
setCmmnParser
public void setCmmnParser(CmmnParser cmmnParser)
-
getCaseDefinitionDiagramHelper
public CaseDefinitionDiagramHelper getCaseDefinitionDiagramHelper()
-
setCaseDefinitionDiagramHelper
public void setCaseDefinitionDiagramHelper(CaseDefinitionDiagramHelper caseDefinitionDiagramHelper)
-
isUsePrefixId
public boolean isUsePrefixId()
-
setUsePrefixId
public void setUsePrefixId(boolean usePrefixId)
-
-