org.camunda.bpm.engine.impl
Class RepositoryServiceImpl

java.lang.Object
  extended by org.camunda.bpm.engine.impl.ServiceImpl
      extended by org.camunda.bpm.engine.impl.RepositoryServiceImpl
All Implemented Interfaces:
RepositoryService

public class RepositoryServiceImpl
extends ServiceImpl
implements RepositoryService

Author:
Tom Baeyens, Falko Menge, Joram Barrez

Field Summary
 
Fields inherited from class org.camunda.bpm.engine.impl.ServiceImpl
commandExecutor
 
Constructor Summary
RepositoryServiceImpl()
           
 
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)
          Authorizes a candidate group for a process definition.
 void addCandidateStarterUser(String processDefinitionId, String userId)
          Authorizes a candidate user for a process definition.
 CaseDefinitionQuery createCaseDefinitionQuery()
          Query case 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)
          Removes the authorization of a candidate group for a process definition.
 void deleteCandidateStarterUser(String processDefinitionId, String userId)
          Removes the authorization of a candidate user for a process definition.
 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 deleteDeploymentCascade(String deploymentId)
          Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.
 Deployment deploy(DeploymentBuilderImpl deploymentBuilder)
           
 org.camunda.bpm.model.bpmn.BpmnModelInstance getBpmnModelInstance(String processDefinitionId)
          Returns the BpmnModelInstance for the given processDefinitionId.
 CaseDefinition getCaseDefinition(String caseDefinitionId)
          Returns the CaseDefinition.
 InputStream getCaseModel(String caseDefinitionId)
          Gives access to a deployed case model, e.g., a CMMN 1.0 XML file, through a stream of bytes.
 ReadOnlyProcessDefinition getDeployedProcessDefinition(String processDefinitionId)
           
 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.
 List<IdentityLink> getIdentityLinksForProcessDefinition(String processDefinitionId)
          Retrieves the IdentityLinks associated with the given process definition.
 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 RepositoryService.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).
 
Methods inherited from class org.camunda.bpm.engine.impl.ServiceImpl
getCommandExecutor, setCommandExecutor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryServiceImpl

public RepositoryServiceImpl()
Method Detail

createDeployment

public DeploymentBuilder createDeployment()
Description copied from interface: RepositoryService
Starts creating a new deployment

Specified by:
createDeployment in interface RepositoryService

createDeployment

public ProcessApplicationDeploymentBuilder createDeployment(ProcessApplicationReference processApplication)
Description copied from interface: RepositoryService
Starts creating a new ProcessApplicationDeployment.

Specified by:
createDeployment in interface RepositoryService
See Also:
ProcessApplicationDeploymentBuilder

deploy

public Deployment deploy(DeploymentBuilderImpl deploymentBuilder)

deleteDeployment

public void deleteDeployment(String deploymentId)
Description copied from interface: RepositoryService
Deletes the given deployment.

Specified by:
deleteDeployment in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.

deleteDeploymentCascade

public void deleteDeploymentCascade(String deploymentId)
Description copied from interface: RepositoryService
Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.

Specified by:
deleteDeploymentCascade in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.

deleteDeployment

public void deleteDeployment(String deploymentId,
                             boolean cascade)
Description copied from interface: RepositoryService
Deletes the given deployment and cascade deletion to process instances, history process instances and jobs.

Specified by:
deleteDeployment in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.

createProcessDefinitionQuery

public ProcessDefinitionQuery createProcessDefinitionQuery()
Description copied from interface: RepositoryService
Query process definitions.

Specified by:
createProcessDefinitionQuery in interface RepositoryService

createCaseDefinitionQuery

public CaseDefinitionQuery createCaseDefinitionQuery()
Description copied from interface: RepositoryService
Query case definitions.

Specified by:
createCaseDefinitionQuery in interface RepositoryService

getDeploymentResourceNames

public List<String> getDeploymentResourceNames(String deploymentId)
Description copied from interface: RepositoryService
Retrieves a list of deployment resource names for the given deployment, ordered alphabetically.

Specified by:
getDeploymentResourceNames in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.

getDeploymentResources

public List<Resource> getDeploymentResources(String deploymentId)
Description copied from interface: RepositoryService
Retrieves a list of deployment resources for the given deployment, ordered alphabetically by name.

Specified by:
getDeploymentResources in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.

getResourceAsStream

public InputStream getResourceAsStream(String deploymentId,
                                       String resourceName)
Description copied from interface: RepositoryService
Gives access to a deployment resource through a stream of bytes.

Specified by:
getResourceAsStream in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.
resourceName - name of the resource, cannot be null.

getResourceAsStreamById

public InputStream getResourceAsStreamById(String deploymentId,
                                           String resourceId)
Description copied from interface: RepositoryService
Gives access to a deployment resource through a stream of bytes.

Specified by:
getResourceAsStreamById in interface RepositoryService
Parameters:
deploymentId - id of the deployment, cannot be null.
resourceId - id of the resource, cannot be null.

createDeploymentQuery

public DeploymentQuery createDeploymentQuery()
Description copied from interface: RepositoryService
Query process definitions.

Specified by:
createDeploymentQuery in interface RepositoryService

getProcessDefinition

public ProcessDefinition getProcessDefinition(String processDefinitionId)
Description copied from interface: RepositoryService
Returns the ProcessDefinition including all BPMN information like additional Properties (e.g. documentation).

Specified by:
getProcessDefinition in interface RepositoryService

getDeployedProcessDefinition

public ReadOnlyProcessDefinition getDeployedProcessDefinition(String processDefinitionId)

suspendProcessDefinitionById

public void suspendProcessDefinitionById(String processDefinitionId)
Description copied from interface: RepositoryService
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)!

Specified by:
suspendProcessDefinitionById in interface RepositoryService

suspendProcessDefinitionById

public void suspendProcessDefinitionById(String processDefinitionId,
                                         boolean suspendProcessInstances,
                                         Date suspensionDate)
Description copied from interface: RepositoryService
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.

Specified by:
suspendProcessDefinitionById in interface RepositoryService
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!
See Also:
RuntimeService.suspendProcessInstanceById(String)

suspendProcessDefinitionByKey

public void suspendProcessDefinitionByKey(String processDefinitionKey)
Description copied from interface: RepositoryService
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)!

Specified by:
suspendProcessDefinitionByKey in interface RepositoryService

suspendProcessDefinitionByKey

public void suspendProcessDefinitionByKey(String processDefinitionKey,
                                          boolean suspendProcessInstances,
                                          Date suspensionDate)
Description copied from interface: RepositoryService
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.

Specified by:
suspendProcessDefinitionByKey in interface RepositoryService
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!
See Also:
RuntimeService.suspendProcessInstanceById(String)

activateProcessDefinitionById

public void activateProcessDefinitionById(String processDefinitionId)
Description copied from interface: RepositoryService
Activates the process definition with the given id.

Specified by:
activateProcessDefinitionById in interface RepositoryService

activateProcessDefinitionById

public void activateProcessDefinitionById(String processDefinitionId,
                                          boolean activateProcessInstances,
                                          Date activationDate)
Description copied from interface: RepositoryService
Activates the process definition with the given id.

Specified by:
activateProcessDefinitionById in interface RepositoryService
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!
See Also:
RuntimeService.activateProcessInstanceById(String)

activateProcessDefinitionByKey

public void activateProcessDefinitionByKey(String processDefinitionKey)
Description copied from interface: RepositoryService
Activates the process definition with the given key (=id in the bpmn20.xml file).

Specified by:
activateProcessDefinitionByKey in interface RepositoryService

activateProcessDefinitionByKey

public void activateProcessDefinitionByKey(String processDefinitionKey,
                                           boolean activateProcessInstances,
                                           Date activationDate)
Description copied from interface: RepositoryService
Activates the process definition with the given key (=id in the bpmn20.xml file).

Specified by:
activateProcessDefinitionByKey in interface RepositoryService
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!
See Also:
RuntimeService.activateProcessInstanceById(String)

getProcessModel

public InputStream getProcessModel(String processDefinitionId)
Description copied from interface: RepositoryService
Gives access to a deployed process model, e.g., a BPMN 2.0 XML file, through a stream of bytes.

Specified by:
getProcessModel in interface RepositoryService
Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.

getProcessDiagram

public InputStream getProcessDiagram(String processDefinitionId)
Description copied from interface: RepositoryService
Gives access to a deployed process diagram, e.g., a PNG image, through a stream of bytes.

Specified by:
getProcessDiagram in interface RepositoryService
Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.
Returns:
null when the diagram resource name of a ProcessDefinition is null.

getProcessDiagramLayout

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

Specified by:
getProcessDiagramLayout in interface RepositoryService
Parameters:
processDefinitionId - id of a ProcessDefinition, cannot be null.
Returns:
Map with process element ids as keys and positions and dimensions as values.

getBpmnModelInstance

public org.camunda.bpm.model.bpmn.BpmnModelInstance getBpmnModelInstance(String processDefinitionId)
Description copied from interface: RepositoryService
Returns the BpmnModelInstance for the given processDefinitionId.

Specified by:
getBpmnModelInstance in interface RepositoryService
Parameters:
processDefinitionId - the id of the Process Definition for which the BpmnModelInstance should be retrieved.
Returns:
the BpmnModelInstance

addCandidateStarterUser

public void addCandidateStarterUser(String processDefinitionId,
                                    String userId)
Description copied from interface: RepositoryService
Authorizes a candidate user for a process definition.

Specified by:
addCandidateStarterUser in interface RepositoryService
Parameters:
processDefinitionId - id of the process definition, cannot be null.
userId - id of the user involve, cannot be null.

addCandidateStarterGroup

public void addCandidateStarterGroup(String processDefinitionId,
                                     String groupId)
Description copied from interface: RepositoryService
Authorizes a candidate group for a process definition.

Specified by:
addCandidateStarterGroup in interface RepositoryService
Parameters:
processDefinitionId - id of the process definition, cannot be null.
groupId - id of the group involve, cannot be null.

deleteCandidateStarterGroup

public void deleteCandidateStarterGroup(String processDefinitionId,
                                        String groupId)
Description copied from interface: RepositoryService
Removes the authorization of a candidate group for a process definition.

Specified by:
deleteCandidateStarterGroup in interface RepositoryService
Parameters:
processDefinitionId - id of the process definition, cannot be null.
groupId - id of the group involve, cannot be null.

deleteCandidateStarterUser

public void deleteCandidateStarterUser(String processDefinitionId,
                                       String userId)
Description copied from interface: RepositoryService
Removes the authorization of a candidate user for a process definition.

Specified by:
deleteCandidateStarterUser in interface RepositoryService
Parameters:
processDefinitionId - id of the process definition, cannot be null.
userId - id of the user involve, cannot be null.

getIdentityLinksForProcessDefinition

public List<IdentityLink> getIdentityLinksForProcessDefinition(String processDefinitionId)
Description copied from interface: RepositoryService
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

Specified by:
getIdentityLinksForProcessDefinition in interface RepositoryService

getCaseDefinition

public CaseDefinition getCaseDefinition(String caseDefinitionId)
Description copied from interface: RepositoryService
Returns the CaseDefinition.

Specified by:
getCaseDefinition in interface RepositoryService

getCaseModel

public InputStream getCaseModel(String caseDefinitionId)
Description copied from interface: RepositoryService
Gives access to a deployed case model, e.g., a CMMN 1.0 XML file, through a stream of bytes.

Specified by:
getCaseModel in interface RepositoryService
Parameters:
caseDefinitionId - id of a CaseDefinition, cannot be null.


Copyright © 2014 camunda services GmbH. All Rights Reserved.