Interface DeploymentBuilder
-
- All Known Subinterfaces:
ProcessApplicationDeploymentBuilder
- All Known Implementing Classes:
DeploymentBuilderImpl
,ProcessApplicationDeploymentBuilderImpl
public interface DeploymentBuilder
Builder for creating new deployments.
A builder instance can be obtained through
RepositoryService.createDeployment()
.Multiple resources can be added to one deployment before calling the
deploy()
operation.After deploying, no more changes can be made to the returned deployment and the builder instance can be disposed.
In order the resources to be processed as definitions, their names must have one of allowed suffixes (file extensions in case of file reference).
Resource name suffix Will be treated as .bpmn20.xml, .bpmn BPMN process definition .cmmn11.xml, .cmmn10.xml, .cmmn CMMN case definition .dmn11.xml, .dmn DMN decision table Additionally resources with resource name suffixes .png, .jpg, .gif and .svg can be treated as diagram images. The deployment resource is considered to represent the specific model diagram by file name, e.g. bpmnDiagram1.png will be considered to be a diagram image for bpmnDiagram1.bpmn20.xml.
- Author:
- Tom Baeyens, Joram Barrez
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description DeploymentBuilder
activateProcessDefinitionsOn(Date date)
Sets the date on which the process definitions contained in this deployment will be activated.DeploymentBuilder
addClasspathResource(String resource)
DeploymentBuilder
addDeploymentResourceById(String deploymentId, String resourceId)
A given resource specified by id and deployment id will be added to the new deployment to re-deploy the given resource.DeploymentBuilder
addDeploymentResourceByName(String deploymentId, String resourceName)
A given resource specified by name and deployment id will be added to the new deployment to re-deploy the given resource.DeploymentBuilder
addDeploymentResources(String deploymentId)
All existing resources contained by the given deployment will be added to the new deployment to re-deploy them.DeploymentBuilder
addDeploymentResourcesById(String deploymentId, List<String> resourceIds)
All given resources specified by id and deployment id will be added to the new deployment to re-deploy the given resource.DeploymentBuilder
addDeploymentResourcesByName(String deploymentId, List<String> resourceNames)
All given resources specified by name and deployment id will be added to the new deployment to re-deploy the given resource.DeploymentBuilder
addInputStream(String resourceName, InputStream inputStream)
DeploymentBuilder
addModelInstance(String resourceName, BpmnModelInstance modelInstance)
Adds a BPMN model to the deployment.DeploymentBuilder
addModelInstance(String resourceName, CmmnModelInstance modelInstance)
Adds a CMMN model to the deployment.DeploymentBuilder
addModelInstance(String resourceName, DmnModelInstance modelInstance)
Adds a DMN model to the deployment.DeploymentBuilder
addString(String resourceName, String text)
DeploymentBuilder
addZipInputStream(ZipInputStream zipInputStream)
Deployment
deploy()
Deploys all provided sources to the process engine and returns the created deployment.DeploymentWithDefinitions
deployWithResult()
Deploys all provided sources to the process engine and returns the created deployment with the deployed definitions.DeploymentBuilder
enableDuplicateFiltering()
Deprecated.DeploymentBuilder
enableDuplicateFiltering(boolean deployChangedOnly)
Check the resources for duplicates in the set of previous deployments with same deployment source.Collection<String>
getResourceNames()
DeploymentBuilder
name(String name)
Gives the deployment the given name.DeploymentBuilder
nameFromDeployment(String deploymentId)
Sets the deployment id to retrieve the deployment name from it.DeploymentBuilder
source(String source)
Sets the source of a deployment.DeploymentBuilder
tenantId(String tenantId)
Sets the tenant id of a deployment.
-
-
-
Method Detail
-
addInputStream
DeploymentBuilder addInputStream(String resourceName, InputStream inputStream)
-
addClasspathResource
DeploymentBuilder addClasspathResource(String resource)
-
addString
DeploymentBuilder addString(String resourceName, String text)
-
addModelInstance
DeploymentBuilder addModelInstance(String resourceName, BpmnModelInstance modelInstance)
Adds a BPMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: {@see DeploymentBuilder}.modelInstance
- model instance- Returns:
-
addModelInstance
DeploymentBuilder addModelInstance(String resourceName, DmnModelInstance modelInstance)
Adds a DMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: {@see DeploymentBuilder}.modelInstance
- model instance- Returns:
-
addModelInstance
DeploymentBuilder addModelInstance(String resourceName, CmmnModelInstance modelInstance)
Adds a CMMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: {@see DeploymentBuilder}.modelInstance
- model instance- Returns:
-
addZipInputStream
DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream)
-
addDeploymentResources
DeploymentBuilder addDeploymentResources(String deploymentId)
All existing resources contained by the given deployment will be added to the new deployment to re-deploy them.- Throws:
NotValidException
- if deployment id is null.
-
addDeploymentResourceById
DeploymentBuilder addDeploymentResourceById(String deploymentId, String resourceId)
A given resource specified by id and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or resource id is null.
-
addDeploymentResourcesById
DeploymentBuilder addDeploymentResourcesById(String deploymentId, List<String> resourceIds)
All given resources specified by id and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or the list of resource ids is null.
-
addDeploymentResourceByName
DeploymentBuilder addDeploymentResourceByName(String deploymentId, String resourceName)
A given resource specified by name and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or resource name is null.
-
addDeploymentResourcesByName
DeploymentBuilder addDeploymentResourcesByName(String deploymentId, List<String> resourceNames)
All given resources specified by name and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or the list of resource names is null.
-
name
DeploymentBuilder name(String name)
Gives the deployment the given name.- Throws:
NotValidException
- ifnameFromDeployment(String)
has been called before.
-
nameFromDeployment
DeploymentBuilder nameFromDeployment(String deploymentId)
Sets the deployment id to retrieve the deployment name from it.- Throws:
NotValidException
- ifname(String)
has been called before.
-
enableDuplicateFiltering
@Deprecated DeploymentBuilder enableDuplicateFiltering()
Deprecated.If set, this deployment will be compared to any previous deployment. This means that every (non-generated) resource will be compared with the provided resources of this deployment. If any resource of this deployment is different to the existing resources, all resources are re-deployed.
Deprecated: use
enableDuplicateFiltering(boolean)
-
enableDuplicateFiltering
DeploymentBuilder enableDuplicateFiltering(boolean deployChangedOnly)
Check the resources for duplicates in the set of previous deployments with same deployment source. If no resources have changed in this deployment, its contained resources are not deployed at all. For further configuration, use the parameterdeployChangedOnly
.- Parameters:
deployChangedOnly
- determines whether only those resources should be deployed that have changed from the previous versions of the deployment. If false, all of the resources are re-deployed if any resource differs.
-
activateProcessDefinitionsOn
DeploymentBuilder activateProcessDefinitionsOn(Date date)
Sets the date on which the process definitions contained in this deployment will be activated. This means that all process definitions will be deployed as usual, but they will be suspended from the start until the given activation date.
-
source
DeploymentBuilder source(String source)
Sets the source of a deployment.
Furthermore if duplicate check of deployment resources is enabled (by calling
enableDuplicateFiltering(boolean)
) then only previous deployments with the same given source are considered to perform the duplicate check.
-
deploy
Deployment deploy()
Deploys all provided sources to the process engine and returns the created deployment.
The returned
Deployment
instance has no information about the definitions, which are deployed with that deployment. To access this information you can use thedeployWithResult()
method. This method will return an instance ofDeploymentWithDefinitions
, which contains the information about the successful deployed definitions.- Returns:
- the created deployment
- Throws:
NotFoundException
- thrown- if the deployment specified by
nameFromDeployment(String)
does not exist or - if at least one of given deployments provided by
addDeploymentResources(String)
does not exist.
- if the deployment specified by
NotValidException
- if there are duplicate resource names from different deployments to re-deploy.AuthorizationException
- thrown if the current user does not possess the following permissions:Permissions.CREATE
onResources.DEPLOYMENT
Permissions.READ
onResources.DEPLOYMENT
(if resources from previous deployments are redeployed)
-
deployWithResult
DeploymentWithDefinitions deployWithResult()
Deploys all provided sources to the process engine and returns the created deployment with the deployed definitions.- Returns:
- the created deployment, contains the deployed definitions
- Throws:
NotFoundException
- thrown- if the deployment specified by
nameFromDeployment(String)
does not exist or - if at least one of given deployments provided by
addDeploymentResources(String)
does not exist.
- if the deployment specified by
NotValidException
- if there are duplicate resource names from different deployments to re-deploy.AuthorizationException
- thrown if the current user does not possess the following permissions:Permissions.CREATE
onResources.DEPLOYMENT
Permissions.READ
onResources.DEPLOYMENT
(if resources from previous deployments are redeployed)
-
getResourceNames
Collection<String> getResourceNames()
- Returns:
- the names of the resources which were added to this builder.
-
tenantId
DeploymentBuilder tenantId(String tenantId)
Sets the tenant id of a deployment.
-
-