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 suffixWill be treated as
    .bpmn20.xml, .bpmnBPMN process definition
    .cmmn11.xml, .cmmn10.xml, .cmmnCMMN case definition
    .dmn11.xml, .dmnDMN 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 Detail

      • addInputStream

        DeploymentBuilder addInputStream​(java.lang.String resourceName,
                                         java.io.InputStream inputStream)
      • addClasspathResource

        DeploymentBuilder addClasspathResource​(java.lang.String resource)
      • addString

        DeploymentBuilder addString​(java.lang.String resourceName,
                                    java.lang.String text)
      • addModelInstance

        DeploymentBuilder addModelInstance​(java.lang.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​(java.lang.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​(java.lang.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​(java.util.zip.ZipInputStream zipInputStream)
      • addDeploymentResources

        DeploymentBuilder addDeploymentResources​(java.lang.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​(java.lang.String deploymentId,
                                                    java.lang.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​(java.lang.String deploymentId,
                                                     java.util.List<java.lang.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​(java.lang.String deploymentId,
                                                      java.lang.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​(java.lang.String deploymentId,
                                                       java.util.List<java.lang.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.
      • 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 parameter deployChangedOnly.
        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​(java.util.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​(java.lang.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.

      • getResourceNames

        java.util.Collection<java.lang.String> getResourceNames()
        Returns:
        the names of the resources which were added to this builder.
      • tenantId

        DeploymentBuilder tenantId​(java.lang.String tenantId)
        Sets the tenant id of a deployment.