org.camunda.bpm.engine
Interface RepositoryService

All Known Implementing Classes:
RepositoryServiceImpl

public interface RepositoryService

Service providing access to the repository of process definitions and deployments.

Author:
Tom Baeyens, Falko Menge, Tijs Rademakers, Joram Barrez

Method Summary
 void activateProcessDefinitionById(String processDefinitionId)
          Activates the process definition with the given id.
 void activateProcessDefinitionById(String processDefinitionId, boolean activateProcessInstances, Date activationDate)
          Activates the process definition with the given id.
 void activateProcessDefinitionByKey(String processDefinitionKey)
          Activates the process definition with the given key (=id in the bpmn20.xml file).
 void activateProcessDefinitionByKey(String processDefinitionKey, boolean activateProcessInstances, Date activationDate)
          Activates the process definition with the given key (=id in the bpmn20.xml file).
 void addCandidateStarterGroup(String processDefinitionId, String groupId)
          Deprecated. Use authorization mechanism instead.
 void addCandidateStarterUser(String processDefinitionId, String userId)
          Deprecated. Use authorization mechanism instead.
 CaseDefinitionQuery createCaseDefinitionQuery()
          Query case definitions.
 DecisionDefinitionQuery createDecisionDefinitionQuery()
          Query decision definitions.
 DeploymentBuilder createDeployment()
          Starts creating a new deployment
 ProcessApplicationDeploymentBuilder createDeployment(ProcessApplicationReference processApplication)
          Starts creating a new ProcessApplicationDeployment.
 DeploymentQuery createDeploymentQuery()
          Query process definitions.
 ProcessDefinitionQuery createProcessDefinitionQuery()
          Query process definitions.
 void deleteCandidateStarterGroup(String processDefinitionId, String groupId)
          Deprecated. Use authorization mechanism instead.
 void deleteCandidateStarterUser(String processDefinitionId, String userId)
          Deprecated. Use authorization mechanism instead.
 void deleteDeployment(String deploymentId)
          Deletes the given deployment.
 void deleteDeployment(String deploymentId, boolean cascade)
          Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.
 void deleteDeployment(String deploymentId, boolean cascade, boolean skipCustomListeners)
          Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.
 void deleteDeploymentCascade(String deploymentId)
          Deprecated. use deleteDeployment(String, boolean). This methods may be deleted from 5.3.
 org.camunda.bpm.model.bpmn.BpmnModelInstance getBpmnModelInstance(String processDefinitionId)
          Returns the BpmnModelInstance for the given processDefinitionId.
 CaseDefinition getCaseDefinition(String caseDefinitionId)
          Returns the CaseDefinition.
 InputStream getCaseDiagram(String caseDefinitionId)
          Gives access to a deployed case diagram, e.g., a PNG image, through a stream of bytes.
 InputStream getCaseModel(String caseDefinitionId)
          Gives access to a deployed case model, e.g., a CMMN 1.0 XML file, through a stream of bytes.
 org.camunda.bpm.model.cmmn.CmmnModelInstance getCmmnModelInstance(String caseDefinitionId)
          Returns the CmmnModelInstance for the given caseDefinitionId.
 DecisionDefinition getDecisionDefinition(String decisionDefinitionId)
          Returns the DecisionDefinition.
 InputStream getDecisionDiagram(String decisionDefinitionId)
          Gives access to a deployed decision diagram, e.g., a PNG image, through a stream of bytes.
 InputStream getDecisionModel(String decisionDefinitionId)
          Gives access to a deployed decision model, e.g., a DMN 1.0 XML file, through a stream of bytes.
 List<String> getDeploymentResourceNames(String deploymentId)
          Retrieves a list of deployment resource names for the given deployment, ordered alphabetically.
 List<Resource> getDeploymentResources(String deploymentId)
          Retrieves a list of deployment resources for the given deployment, ordered alphabetically by name.
 org.camunda.bpm.model.dmn.DmnModelInstance getDmnModelInstance(String decisionDefinitionId)
          Returns the DmnModelInstance for the given decisionDefinitionId.
 List<IdentityLink> getIdentityLinksForProcessDefinition(String processDefinitionId)
          Deprecated. Use authorization mechanism instead.
 ProcessDefinition getProcessDefinition(String processDefinitionId)
          Returns the ProcessDefinition including all BPMN information like additional Properties (e.g.
 InputStream getProcessDiagram(String processDefinitionId)
          Gives access to a deployed process diagram, e.g., a PNG image, through a stream of bytes.
 DiagramLayout getProcessDiagramLayout(String processDefinitionId)
          Provides positions and dimensions of elements in a process diagram as provided by getProcessDiagram(String).
 InputStream getProcessModel(String processDefinitionId)
          Gives access to a deployed process model, e.g., a BPMN 2.0 XML file, through a stream of bytes.
 InputStream getResourceAsStream(String deploymentId, String resourceName)
          Gives access to a deployment resource through a stream of bytes.
 InputStream getResourceAsStreamById(String deploymentId, String resourceId)
          Gives access to a deployment resource through a stream of bytes.
 void suspendProcessDefinitionById(String processDefinitionId)
          Suspends the process definition with the given id.
 void suspendProcessDefinitionById(String processDefinitionId, boolean suspendProcessInstances, Date suspensionDate)
          Suspends the process definition with the given id.
 void suspendProcessDefinitionByKey(String processDefinitionKey)
          Suspends the all process definitions with the given key (= id in the bpmn20.xml file).
 void suspendProcessDefinitionByKey(String processDefinitionKey, boolean suspendProcessInstances, Date suspensionDate)
          Suspends the all process definitions with the given key (= id in the bpmn20.xml file).
 

Method Detail

createDeployment

DeploymentBuilder createDeployment()
Starts creating a new deployment


createDeployment

ProcessApplicationDeploymentBuilder createDeployment(ProcessApplicationReference processApplication)
Starts creating a new ProcessApplicationDeployment.

See Also:
ProcessApplicationDeploymentBuilder

deleteDeployment

void deleteDeployment(String deploymentId)
Deletes the given deployment.

Parameters:
deploymentId - id of the deployment, cannot be null.
Throws:
RuntimeException - If there are still runtime or history process instances or jobs.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.DEPLOYMENT.

deleteDeploymentCascade

@Deprecated
void deleteDeploymentCascade(String deploymentId)
Deprecated. use deleteDeployment(String, boolean). This methods may be deleted from 5.3.

Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.

Parameters:
deploymentId - id of the deployment, cannot be null.
Throws:
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.DEPLOYMENT.

deleteDeployment

void deleteDeployment(String deploymentId,
                      boolean cascade)
Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.

Parameters:
deploymentId - id of the deployment, cannot be null.
Throws:
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.DEPLOYMENT.

deleteDeployment

void deleteDeployment(String deploymentId,
                      boolean cascade,
                      boolean skipCustomListeners)
Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.

Parameters:
deploymentId - id of the deployment, cannot be null.
cascade - if set to true, all process instances (including) history are deleted
skipCustomListeners - if true, only the built-in ExecutionListeners are notified with the ExecutionListener.EVENTNAME_END event.
Throws:
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.DEPLOYMENT.

getDeploymentResourceNames

List<String> getDeploymentResourceNames(String deploymentId)
Retrieves a list of deployment resource names for the given deployment, ordered alphabetically.

Parameters:
deploymentId - id of the deployment, cannot be null.
Throws:
AuthorizationException - If the user has no Permissions.READ permission on Resources.DEPLOYMENT.

getDeploymentResources

List<Resource> getDeploymentResources(String deploymentId)
Retrieves a list of deployment resources for the given deployment, ordered alphabetically by name.

Parameters:
deploymentId - id of the deployment, cannot be null.
Throws:
AuthorizationException - If the user has no Permissions.READ permission on Resources.DEPLOYMENT.

getResourceAsStream

InputStream getResourceAsStream(String deploymentId,
                                String resourceName)
Gives access to a deployment resource through a stream of bytes.

Parameters:
deploymentId - id of the deployment, cannot be null.
resourceName - name of the resource, cannot be null.
Throws:
ProcessEngineException - When the resource doesn't exist in the given deployment or when no deployment exists for the given deploymentId.
AuthorizationException - If the user has no Permissions.READ permission on Resources.DEPLOYMENT.

getResourceAsStreamById

InputStream getResourceAsStreamById(String deploymentId,
                                    String resourceId)
Gives access to a deployment resource through a stream of bytes.

Parameters:
deploymentId - id of the deployment, cannot be null.
resourceId - id of the resource, cannot be null.
Throws:
ProcessEngineException - When the resource doesn't exist in the given deployment or when no deployment exists for the given deploymentId.
AuthorizationException - If the user has no Permissions.READ permission on Resources.DEPLOYMENT.

createProcessDefinitionQuery

ProcessDefinitionQuery createProcessDefinitionQuery()
Query process definitions.


createCaseDefinitionQuery

CaseDefinitionQuery createCaseDefinitionQuery()
Query case definitions.


createDecisionDefinitionQuery

DecisionDefinitionQuery createDecisionDefinitionQuery()
Query decision definitions.


createDeploymentQuery

DeploymentQuery createDeploymentQuery()
Query process definitions.


suspendProcessDefinitionById

void suspendProcessDefinitionById(String processDefinitionId)
Suspends the process definition with the given id. If a process definition is in state suspended, it will not be possible to start new process instances based on the process definition. Note: all the process instances of the process definition will still be active (ie. not suspended)!

Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION.

suspendProcessDefinitionById

void suspendProcessDefinitionById(String processDefinitionId,
                                  boolean suspendProcessInstances,
                                  Date suspensionDate)
Suspends the process definition with the given id. If a process definition is in state suspended, it will not be possible to start new process instances based on the process definition.

Parameters:
suspendProcessInstances - If true, all the process instances of the provided process definition will be suspended too.
suspensionDate - The date on which the process definition will be suspended. If null, the process definition is suspended immediately. Note: The job executor needs to be active to use this!
Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION and if suspendProcessInstances is set to true and the user have no Permissions.UPDATE permission on Resources.PROCESS_INSTANCE or no Permissions.UPDATE_INSTANCE permission on Resources.PROCESS_DEFINITION.
See Also:
RuntimeService.suspendProcessInstanceById(String)

suspendProcessDefinitionByKey

void suspendProcessDefinitionByKey(String processDefinitionKey)
Suspends the all process definitions with the given key (= id in the bpmn20.xml file). If a process definition is in state suspended, it will not be possible to start new process instances based on the process definition. Note: all the process instances of the process definition will still be active (ie. not suspended)!

Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION.

suspendProcessDefinitionByKey

void suspendProcessDefinitionByKey(String processDefinitionKey,
                                   boolean suspendProcessInstances,
                                   Date suspensionDate)
Suspends the all process definitions with the given key (= id in the bpmn20.xml file). If a process definition is in state suspended, it will not be possible to start new process instances based on the process definition.

Parameters:
suspendProcessInstances - If true, all the process instances of the provided process definition will be suspended too.
suspensionDate - The date on which the process definition will be suspended. If null, the process definition is suspended immediately. Note: The job executor needs to be active to use this!
Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION and if suspendProcessInstances is set to true and the user have no Permissions.UPDATE permission on Resources.PROCESS_INSTANCE or no Permissions.UPDATE_INSTANCE permission on Resources.PROCESS_DEFINITION.
See Also:
RuntimeService.suspendProcessInstanceById(String)

activateProcessDefinitionById

void activateProcessDefinitionById(String processDefinitionId)
Activates the process definition with the given id.

Throws:
ProcessEngineException - If no such processDefinition can be found or if the process definition is already in state active.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION.

activateProcessDefinitionById

void activateProcessDefinitionById(String processDefinitionId,
                                   boolean activateProcessInstances,
                                   Date activationDate)
Activates the process definition with the given id.

Parameters:
suspendProcessInstances - If true, all the process instances of the provided process definition will be activated too.
activationDate - The date on which the process definition will be activated. If null, the process definition is suspended immediately. Note: The job executor needs to be active to use this!
Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION and if activateProcessInstances is set to true and the user have no Permissions.UPDATE permission on Resources.PROCESS_INSTANCE or no Permissions.UPDATE_INSTANCE permission on Resources.PROCESS_DEFINITION.
See Also:
RuntimeService.activateProcessInstanceById(String)

activateProcessDefinitionByKey

void activateProcessDefinitionByKey(String processDefinitionKey)
Activates the process definition with the given key (=id in the bpmn20.xml file).

Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION.

activateProcessDefinitionByKey

void activateProcessDefinitionByKey(String processDefinitionKey,
                                    boolean activateProcessInstances,
                                    Date activationDate)
Activates the process definition with the given key (=id in the bpmn20.xml file).

Parameters:
suspendProcessInstances - If true, all the process instances of the provided process definition will be activated too.
activationDate - The date on which the process definition will be activated. If null, the process definition is suspended immediately. Note: The job executor needs to be active to use this!
Throws:
ProcessEngineException - If no such processDefinition can be found.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.PROCESS_DEFINITION and if activateProcessInstances is set to true and the user have no Permissions.UPDATE permission on Resources.PROCESS_INSTANCE or no Permissions.UPDATE_INSTANCE permission on Resources.PROCESS_DEFINITION.
See Also:
RuntimeService.activateProcessInstanceById(String)

getProcessModel

InputStream getProcessModel(String processDefinitionId)
Gives access to a deployed process model, e.g., a BPMN 2.0 XML file, through a stream of bytes.

Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.
Throws:
ProcessEngineException - when the process model doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.PROCESS_DEFINITION.

getProcessDiagram

InputStream getProcessDiagram(String processDefinitionId)
Gives access to a deployed process diagram, e.g., a PNG image, through a stream of bytes.

Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.
Returns:
null when the diagram resource name of a ProcessDefinition is null.
Throws:
ProcessEngineException - when the process diagram doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.PROCESS_DEFINITION.

getProcessDefinition

ProcessDefinition getProcessDefinition(String processDefinitionId)
Returns the ProcessDefinition including all BPMN information like additional Properties (e.g. documentation).

Throws:
AuthorizationException - If the user has no Permissions.READ permission on Resources.PROCESS_DEFINITION.

getProcessDiagramLayout

DiagramLayout getProcessDiagramLayout(String processDefinitionId)
Provides positions and dimensions of elements in a process diagram as provided by getProcessDiagram(String). This method requires a process model and a diagram image to be deployed.

Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.
Returns:
Map with process element ids as keys and positions and dimensions as values.
Throws:
ProcessEngineException - When the process model or diagram doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.PROCESS_DEFINITION.

getBpmnModelInstance

org.camunda.bpm.model.bpmn.BpmnModelInstance getBpmnModelInstance(String processDefinitionId)
Returns the BpmnModelInstance for the given processDefinitionId.

Parameters:
processDefinitionId - the id of the Process Definition for which the BpmnModelInstance should be retrieved.
Returns:
the BpmnModelInstance
Throws:
AuthorizationException - If the user has no Permissions.READ permission on Resources.PROCESS_DEFINITION.

getCmmnModelInstance

org.camunda.bpm.model.cmmn.CmmnModelInstance getCmmnModelInstance(String caseDefinitionId)
Returns the CmmnModelInstance for the given caseDefinitionId.

Parameters:
caseDefinitionId - the id of the Case Definition for which the CmmnModelInstance should be retrieved.
Returns:
the CmmnModelInstance
Throws:
NotValidException - when the given case definition id or deployment id or resource name is null
NotFoundException - when no CMMN model instance or deployment resource is found for the given case definition id
ProcessEngineException - when an internal exception happens during the execution of the command.

getDmnModelInstance

org.camunda.bpm.model.dmn.DmnModelInstance getDmnModelInstance(String decisionDefinitionId)
Returns the DmnModelInstance for the given decisionDefinitionId.

Parameters:
decisionDefinitionId - the id of the Decision Definition for which the DmnModelInstance should be retrieved.
Returns:
the DmnModelInstance
Throws:
NotValidException - when the given decision definition id or deployment id or resource name is null
NotFoundException - when no DMN model instance or deployment resource is found for the given decision definition id
ProcessEngineException - when an internal exception happens during the execution of the command.
AuthorizationException - If the user has no Permissions.READ permission on Resources.DECISION_DEFINITION.

addCandidateStarterUser

@Deprecated
void addCandidateStarterUser(String processDefinitionId,
                                        String userId)
Deprecated. Use authorization mechanism instead.

Authorizes a candidate user for a process definition.

Parameters:
processDefinitionId - id of the process definition, cannot be null.
userId - id of the user involve, cannot be null.
Throws:
ProcessEngineException - When the process definition or user doesn't exist.

addCandidateStarterGroup

@Deprecated
void addCandidateStarterGroup(String processDefinitionId,
                                         String groupId)
Deprecated. Use authorization mechanism instead.

Authorizes a candidate group for a process definition.

Parameters:
processDefinitionId - id of the process definition, cannot be null.
groupId - id of the group involve, cannot be null.
Throws:
ProcessEngineException - When the process definition or group doesn't exist.

deleteCandidateStarterUser

@Deprecated
void deleteCandidateStarterUser(String processDefinitionId,
                                           String userId)
Deprecated. Use authorization mechanism instead.

Removes the authorization of a candidate user for a process definition.

Parameters:
processDefinitionId - id of the process definition, cannot be null.
userId - id of the user involve, cannot be null.
Throws:
ProcessEngineException - When the process definition or user doesn't exist.

deleteCandidateStarterGroup

@Deprecated
void deleteCandidateStarterGroup(String processDefinitionId,
                                            String groupId)
Deprecated. Use authorization mechanism instead.

Removes the authorization of a candidate group for a process definition.

Parameters:
processDefinitionId - id of the process definition, cannot be null.
groupId - id of the group involve, cannot be null.
Throws:
ProcessEngineException - When the process definition or group doesn't exist.

getIdentityLinksForProcessDefinition

@Deprecated
List<IdentityLink> getIdentityLinksForProcessDefinition(String processDefinitionId)
Deprecated. Use authorization mechanism instead.

Retrieves the IdentityLinks associated with the given process definition. Such an IdentityLink informs how a certain identity (eg. group or user) is authorized for a certain process definition


getCaseDefinition

CaseDefinition getCaseDefinition(String caseDefinitionId)
Returns the CaseDefinition.

Throws:
NotValidException - when the given case definition id is null
NotFoundException - when no case definition is found for the given case definition id
ProcessEngineException - when an internal exception happens during the execution of the command.

getCaseModel

InputStream getCaseModel(String caseDefinitionId)
Gives access to a deployed case model, e.g., a CMMN 1.0 XML file, through a stream of bytes.

Parameters:
caseDefinitionId - id of a CaseDefinition, cannot be null.
Throws:
NotValidException - when the given case definition id or deployment id or resource name is null
NotFoundException - when no case definition or deployment resource is found for the given case definition id
ProcessEngineException - when an internal exception happens during the execution of the command

getCaseDiagram

InputStream getCaseDiagram(String caseDefinitionId)
Gives access to a deployed case diagram, e.g., a PNG image, through a stream of bytes.

Parameters:
caseDefinitionId - id of a CaseDefinition, cannot be null.
Returns:
null when the diagram resource name of a CaseDefinition is null.
Throws:
ProcessEngineException - when the process diagram doesn't exist.

getDecisionDefinition

DecisionDefinition getDecisionDefinition(String decisionDefinitionId)
Returns the DecisionDefinition.

Throws:
NotValidException - when the given decision definition id is null
NotFoundException - when no decision definition is found for the given decision definition id
ProcessEngineException - when an internal exception happens during the execution of the command.
AuthorizationException - If the user has no Permissions.READ permission on Resources.DECISION_DEFINITION.

getDecisionModel

InputStream getDecisionModel(String decisionDefinitionId)
Gives access to a deployed decision model, e.g., a DMN 1.0 XML file, through a stream of bytes.

Parameters:
decisionDefinitionId - id of a DecisionDefinition, cannot be null.
Throws:
NotValidException - when the given decision definition id or deployment id or resource name is null
NotFoundException - when no decision definition or deployment resource is found for the given decision definition id
ProcessEngineException - when an internal exception happens during the execution of the command
AuthorizationException - If the user has no Permissions.READ permission on Resources.DECISION_DEFINITION.

getDecisionDiagram

InputStream getDecisionDiagram(String decisionDefinitionId)
Gives access to a deployed decision diagram, e.g., a PNG image, through a stream of bytes.

Parameters:
decisionDefinitionId - id of a DecisionDefinition, cannot be null.
Returns:
null when the diagram resource name of a DecisionDefinition is null.
Throws:
ProcessEngineException - when the process diagram doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.DECISION_DEFINITION.


Copyright © 2015 camunda services GmbH. All rights reserved.