org.camunda.bpm.engine.impl.cmmn.deployer
Class CmmnDeployer

java.lang.Object
  extended by org.camunda.bpm.engine.impl.cmmn.deployer.CmmnDeployer
All Implemented Interfaces:
Deployer

public class CmmnDeployer
extends Object
implements Deployer

Deployer responsible to parse CMMN 1.0 XML files and create the proper CaseDefinitionEntitys.

Author:
Roman Smirnov, Simon Zambrovski

Field Summary
static String[] CMMN_RESOURCE_SUFFIXES
           
static String[] DIAGRAM_SUFFIXES
           
protected  ExpressionManager expressionManager
           
protected  IdGenerator idGenerator
           
protected  CmmnTransformer transformer
           
 
Constructor Summary
CmmnDeployer()
           
 
Method Summary
protected  void addCaseDefinitionToDeploymentCache(CaseDefinitionEntity caseDefinition)
           
 void deploy(DeploymentEntity deployment)
           
protected  String generateCaseDefinitionId(CaseDefinitionEntity caseDefinition)
           
protected  String getCaseImageResourceName(String cmmnFileResource, String caseKey, String diagramSuffix)
           
protected  String getCmmnFileImageResourceName(String cmmnFileResource, String diagramSuffix)
           
protected  String getDiagramResourceForCase(String cmmnFileResource, String caseKey, Map<String,ResourceEntity> resources)
          Returns the default name of the image resource for a certain case.
 ExpressionManager getExpressionManager()
           
 IdGenerator getIdGenerator()
           
protected  int getNextVersion(CaseDefinitionEntity newCaseDefinition, CaseDefinitionEntity latestCaseDefinition)
           
 CmmnTransformer getTransformer()
           
protected  boolean isCmmnResource(ResourceEntity resource)
           
protected  void loadCaseDefinitions(DeploymentEntity deployment, Collection<CaseDefinitionEntity> caseDefinitions)
           
protected  void persistCaseDefinitions(DeploymentEntity deployment, Collection<CaseDefinitionEntity> caseDefinitions)
           
 void setExpressionManager(ExpressionManager expressionManager)
           
 void setIdGenerator(IdGenerator idGenerator)
           
 void setTransformer(CmmnTransformer transformer)
           
protected  String stripCmmnFileSuffix(String cmmnFileResource)
           
protected  List<CaseDefinitionEntity> transformResource(DeploymentEntity deployment, ResourceEntity resource)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CMMN_RESOURCE_SUFFIXES

public static final String[] CMMN_RESOURCE_SUFFIXES

DIAGRAM_SUFFIXES

public static final String[] DIAGRAM_SUFFIXES

expressionManager

protected ExpressionManager expressionManager

transformer

protected CmmnTransformer transformer

idGenerator

protected IdGenerator idGenerator
Constructor Detail

CmmnDeployer

public CmmnDeployer()
Method Detail

deploy

public void deploy(DeploymentEntity deployment)
Specified by:
deploy in interface Deployer

isCmmnResource

protected boolean isCmmnResource(ResourceEntity resource)

transformResource

protected List<CaseDefinitionEntity> transformResource(DeploymentEntity deployment,
                                                       ResourceEntity resource)

getDiagramResourceForCase

protected String getDiagramResourceForCase(String cmmnFileResource,
                                           String caseKey,
                                           Map<String,ResourceEntity> resources)
Returns the default name of the image resource for a certain case. It will first look for an image resource which matches the case specifically, before resorting to an image resource which matches the CMMN 1.0 xml file resource. Example: if the deployment contains a CMMN 1.0 xml resource called 'abc.cmmn' containing only one case with key 'myProcess', then this method will look for an image resources called 'abc.myProcess.png' (or .jpg, or .gif, etc.) or 'abc.png' if the previous one wasn't found. Example 2: if the deployment contains a CMMN 1.0 xml resource called 'abc.cmmn' containing three cases (with keys a, b and c), then this method will first look for an image resource called 'abc.a.png' before looking for 'abc.png' (likewise for b and c). Note that if abc.a.png, abc.b.png and abc.c.png don't exist, all casees will have the same image: abc.png.

Returns:
null if no matching image resource is found.

getCaseImageResourceName

protected String getCaseImageResourceName(String cmmnFileResource,
                                          String caseKey,
                                          String diagramSuffix)

getCmmnFileImageResourceName

protected String getCmmnFileImageResourceName(String cmmnFileResource,
                                              String diagramSuffix)

getNextVersion

protected int getNextVersion(CaseDefinitionEntity newCaseDefinition,
                             CaseDefinitionEntity latestCaseDefinition)

generateCaseDefinitionId

protected String generateCaseDefinitionId(CaseDefinitionEntity caseDefinition)

loadCaseDefinitions

protected void loadCaseDefinitions(DeploymentEntity deployment,
                                   Collection<CaseDefinitionEntity> caseDefinitions)

persistCaseDefinitions

protected void persistCaseDefinitions(DeploymentEntity deployment,
                                      Collection<CaseDefinitionEntity> caseDefinitions)

addCaseDefinitionToDeploymentCache

protected void addCaseDefinitionToDeploymentCache(CaseDefinitionEntity caseDefinition)

stripCmmnFileSuffix

protected String stripCmmnFileSuffix(String cmmnFileResource)

getExpressionManager

public ExpressionManager getExpressionManager()

setExpressionManager

public void setExpressionManager(ExpressionManager expressionManager)

getIdGenerator

public IdGenerator getIdGenerator()

setIdGenerator

public void setIdGenerator(IdGenerator idGenerator)

getTransformer

public CmmnTransformer getTransformer()

setTransformer

public void setTransformer(CmmnTransformer transformer)


Copyright © 2015 camunda services GmbH. All rights reserved.