Package org.jbpm.kie.services.impl.bpmn2

## Class BPMN2DataServiceImpl

- java.lang.Object
- - org.jbpm.kie.services.impl.bpmn2.BPMN2DataServiceImpl

- All Implemented Interfaces:
    `DefinitionService`, `DeploymentEventListener`
  Direct Known Subclasses:
    `BPMN2DataServiceCDIImpl`, `DefinitionServiceEJBImpl`

      public class BPMN2DataServiceImpl
      extends Object
      implements DefinitionService, DeploymentEventListener

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BPMN2DataServiceImpl()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addProcessDefinition​(String deploymentId, String processId, Object processDescriptor, org.kie.api.runtime.KieContainer kieContainer)` |
    `ProcessDefinition` | `buildProcessDefinition​(String deploymentId, String bpmn2Content, org.kie.api.runtime.KieContainer kieContainer, boolean cache)` | Performs build operation for given bpmn2content to produce fully populated `ProcessDefinition`
    `Map<String,​Collection<String>>` | `getAssociatedEntities​(String deploymentId, String processId)` | Returns all organizational entities identifiers involved in the process - like users and groups.
    `Set<String>` | `getJavaClasses​(String deploymentId, String processId)` | Returns a list of all referenced java classes defined in the given process.
    `ProcessDefinition` | `getProcessDefinition​(String deploymentId, String processId)` | Returns previously built `ProcessDefinition`.
    `Map<String,​String>` | `getProcessVariables​(String deploymentId, String processId)` | Returns all process variables defined in the given process where: key in the map is name of the process variable value in the map is type of the process variable NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
    `Collection<String>` | `getReusableSubProcesses​(String deploymentId, String processId)` | Returns collection of process identifiers of reusable processes used by given process.
    `Set<String>` | `getRuleSets​(String deploymentId, String processId)` | Returns a list of all referenced rules used in the given process.
    `Map<String,​String>` | `getServiceTasks​(String deploymentId, String processId)` | Returns service (domain specific) tasks defined in the process where: key in the map is name of the task node value in the map is name of the domain specific service (name that handler should be registered with) NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
    `Map<String,​String>` | `getTaskInputMappings​(String deploymentId, String processId, String taskName)` | Returns map of data input defined for given user task key in the map is identifier of dataInput value in the map is name dataInput NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
    `Map<String,​String>` | `getTaskOutputMappings​(String deploymentId, String processId, String taskName)` | Returns map of data output defined for given user task key in the map is identifier of dataOutput value in the map is name dataOutput NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
    `Collection<UserTaskDefinition>` | `getTasksDefinitions​(String deploymentId, String processId)` | Returns all user task definitions defined in given process NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
    `void` | `onActivate​(DeploymentEvent event)` |
    `void` | `onDeactivate​(DeploymentEvent event)` |
    `void` | `onDeploy​(DeploymentEvent event)` |
    `void` | `onUnDeploy​(DeploymentEvent event)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BPMN2DataServiceImpl

          public BPMN2DataServiceImpl()

  - ### Method Detail

    - #### addProcessDefinition

          public void addProcessDefinition​(String deploymentId,
                                           String processId,
                                           Object processDescriptor,
                                           org.kie.api.runtime.KieContainer kieContainer)

      Specified by:
        `addProcessDefinition` in interface `DefinitionService`

    - #### buildProcessDefinition

          public ProcessDefinition buildProcessDefinition​(String deploymentId,
                                                          String bpmn2Content,
                                                          org.kie.api.runtime.KieContainer kieContainer,
                                                          boolean cache)
                                                   throws IllegalArgumentException

      Description copied from interface: `DefinitionService`
      Performs build operation for given bpmn2content to produce fully populated `ProcessDefinition`
      Specified by:
        `buildProcessDefinition` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment this process belongs to, might be null if built definition does not need to be stored
        `bpmn2Content` - actual BPMN xml content as string to be parsed and processed
        `kieContainer` - the `KieContainer` instance that contains the deployment project: this should be used when parsing the BPMN2 in case custom classes or other project resources (processes, rules) are referenced
        `cache` - indicates if the definition service should cache this `ProcessDefinition`
      Returns:
        fully populated `ProcessDefinition`
      Throws:
        `IllegalArgumentException` - in case build operation cannot be completed

    - #### getServiceTasks

          public Map<String,​String> getServiceTasks​(String deploymentId,
                                                          String processId)

      Description copied from interface: `DefinitionService`
      Returns service (domain specific) tasks defined in the process where:
      - key in the map is name of the task node
      - value in the map is name of the domain specific service (name that handler should be registered with)
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getServiceTasks` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        returns map of all found service tasks or empty map if none are found

    - #### getProcessDefinition

          public ProcessDefinition getProcessDefinition​(String deploymentId,
                                                        String processId)

      Description copied from interface: `DefinitionService`
      Returns previously built `ProcessDefinition`.
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getProcessDefinition` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        returns complete `ProcessDefinition`

    - #### getReusableSubProcesses

          public Collection<String> getReusableSubProcesses​(String deploymentId,
                                                            String processId)

      Description copied from interface: `DefinitionService`
      Returns collection of process identifiers of reusable processes used by given process.
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getReusableSubProcesses` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        returns collection of found reusable subprocess identifiers, maybe an empty list if none were found

    - #### getProcessVariables

          public Map<String,​String> getProcessVariables​(String deploymentId,
                                                              String processId)

      Description copied from interface: `DefinitionService`
      Returns all process variables defined in the given process where:
      - key in the map is name of the process variable
      - value in the map is type of the process variable
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getProcessVariables` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        map of all process variables defined or empty map if none are found

    - #### getAssociatedEntities

          public Map<String,​Collection<String>> getAssociatedEntities​(String deploymentId,
                                                                            String processId)

      Description copied from interface: `DefinitionService`
      Returns all organizational entities identifiers involved in the process - like users and groups. Since this is based on definition and not runtime it can return references to process variables
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getAssociatedEntities` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        returns map of all found organizational entities grouped by task they are assigned to

    - #### getTasksDefinitions

          public Collection<UserTaskDefinition> getTasksDefinitions​(String deploymentId,
                                                                    String processId)

      Description copied from interface: `DefinitionService`
      Returns all user task definitions defined in given process
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getTasksDefinitions` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        returns collection of `UserTaskDefinition`s or empty collection if none were found

    - #### getTaskInputMappings

          public Map<String,​String> getTaskInputMappings​(String deploymentId,
                                                               String processId,
                                                               String taskName)

      Description copied from interface: `DefinitionService`
      Returns map of data input defined for given user task
      - key in the map is identifier of dataInput
      - value in the map is name dataInput
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getTaskInputMappings` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
        `taskName` - name of a task the data input should be collected for
      Returns:
        returns map of found data inputs or empty map if none were found

    - #### getTaskOutputMappings

          public Map<String,​String> getTaskOutputMappings​(String deploymentId,
                                                                String processId,
                                                                String taskName)

      Description copied from interface: `DefinitionService`
      Returns map of data output defined for given user task
      - key in the map is identifier of dataOutput
      - value in the map is name dataOutput
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getTaskOutputMappings` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
        `taskName` - name of a task the data output should be collected for
      Returns:
        returns map of found data outputs or empty map if none were found

    - #### onDeploy

          public void onDeploy​(DeploymentEvent event)

      Specified by:
        `onDeploy` in interface `DeploymentEventListener`

    - #### onUnDeploy

          public void onUnDeploy​(DeploymentEvent event)

      Specified by:
        `onUnDeploy` in interface `DeploymentEventListener`

    - #### onActivate

          public void onActivate​(DeploymentEvent event)

      Specified by:
        `onActivate` in interface `DeploymentEventListener`

    - #### onDeactivate

          public void onDeactivate​(DeploymentEvent event)

      Specified by:
        `onDeactivate` in interface `DeploymentEventListener`

    - #### getJavaClasses

          public Set<String> getJavaClasses​(String deploymentId,
                                            String processId)

      Description copied from interface: `DefinitionService`
      Returns a list of all referenced java classes defined in the given process.
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getJavaClasses` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        a list of all referenced classes defined or an empty list if none are found

    - #### getRuleSets

          public Set<String> getRuleSets​(String deploymentId,
                                         String processId)

      Description copied from interface: `DefinitionService`
      Returns a list of all referenced rules used in the given process.
      NOTE: This method assumes process has already been built by invoking `buildProcessDefinition` method
      Specified by:
        `getRuleSets` in interface `DefinitionService`
      Parameters:
        `deploymentId` - identifier of deployment that process belongs to
        `processId` - identifier of the process
      Returns:
        a list of all referenced rules or an empty list if none are found