---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    funktion.fabric8.io/kind: Connector
  name: jbpm
data:
  deployment.yml: |
    ---
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      labels:
        funktion.fabric8.io/kind: Subscription
        connector: jbpm
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            funktion.fabric8.io/kind: Subscription
            connector: jbpm
        spec:
          containers:
          - image: funktion/connector-jbpm:${project.version}
            name: connector
  schema.yml: |
    ---
    component:
      kind: component
      scheme: jbpm
      syntax: jbpm:connectionURL
      title: JBPM
      description: The jbpm component provides integration with jBPM (Business Process Management).
      label: process
      deprecated: false
      async: false
      producerOnly: true
      javaType: org.apache.camel.component.jbpm.JBPMComponent
      groupId: org.apache.camel
      artifactId: camel-jbpm
      version: 2.18.3
    componentProperties: {}
    properties:
      connectionURL:
        kind: path
        group: producer
        required: true
        type: string
        javaType: java.net.URL
        deprecated: false
        secret: false
        description: The URL to the jBPM server.
        order: 0
      attachmentId:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Long
        deprecated: false
        secret: false
        description: attachId to use when retrieving attachments
        order: 1
      contentId:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Long
        deprecated: false
        secret: false
        description: contentId to use when retrieving attachments
        order: 2
      deploymentId:
        kind: parameter
        group: producer
        required: true
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: The id of the deployment
        order: 3
      event:
        kind: parameter
        group: producer
        type: object
        javaType: java.lang.Object
        deprecated: false
        secret: false
        description: the data associated with this event when signalEvent operation is performed
        order: 4
      eventType:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: the type of event to use when signalEvent operation is performed
        order: 5
      identifier:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: identifier the global identifier
        order: 6
      language:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: The language to use when filtering user tasks
        order: 7
      maxNumber:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Integer
        deprecated: false
        secret: false
        description: the maximum number of rules that should be fired
        order: 8
      operation:
        kind: parameter
        group: producer
        label: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        defaultValue: startProcess
        description: The operation to perform
        order: 9
      processId:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: the id of the process that should be acted upon
        order: 10
      processInstanceId:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Long
        deprecated: false
        secret: false
        description: the id of the process instance
        order: 11
      targetUserId:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: The targetUserId used when delegating a task
        order: 12
      task:
        kind: parameter
        group: producer
        type: object
        javaType: org.kie.api.task.model.Task
        deprecated: false
        secret: false
        description: The task instance to use with task operations
        order: 13
      taskId:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Long
        deprecated: false
        secret: false
        description: the id of the task
        order: 14
      timeout:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Integer
        deprecated: false
        secret: false
        description: A timeout value
        order: 15
      userId:
        kind: parameter
        group: producer
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: userId to use with task operations
        order: 16
      value:
        kind: parameter
        group: producer
        type: object
        javaType: java.lang.Object
        deprecated: false
        secret: false
        description: the value to assign to the global identifier
        order: 17
      workItemId:
        kind: parameter
        group: producer
        type: integer
        javaType: java.lang.Long
        deprecated: false
        secret: false
        description: the id of the work item
        order: 18
      entities:
        kind: parameter
        group: advanced
        label: advanced
        type: array
        javaType: java.util.List<org.kie.api.task.model.OrganizationalEntity>
        deprecated: false
        secret: false
        description: The potentialOwners when nominateTask operation is performed
        order: 19
      extraJaxbClasses:
        kind: parameter
        group: advanced
        label: advanced
        type: string
        javaType: java.lang.Class[]
        deprecated: false
        secret: false
        description: To load additional classes when working with XML
        order: 20
      parameters:
        kind: parameter
        group: advanced
        label: advanced
        type: object
        javaType: java.util.Map<java.lang.String,java.lang.Object>
        deprecated: false
        secret: false
        description: the variables that should be set for various operations
        order: 21
      synchronous:
        kind: parameter
        group: advanced
        label: advanced
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
        order: 22
      statuses:
        kind: parameter
        group: filter
        label: filter
        type: array
        javaType: java.util.List<org.kie.api.task.model.Status>
        deprecated: false
        secret: false
        description: The list of status to use when filtering tasks
        order: 23
      password:
        kind: parameter
        group: security
        label: security
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: true
        description: Password for authentication
        order: 24
      userName:
        kind: parameter
        group: security
        label: security
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: true
        description: Username for authentication
        order: 25
  documentation.adoc: |
    [[jBPM-jBPMComponent]]
    jBPM Component
    ~~~~~~~~~~~~~~

    *Available as of Camel 2.16*

    The *jbpm* component provides integration with Business Process
    Management (BPM) Suit http://www.jbpm.org/[jBPM]. It uses
    kie-remote-client API to interact with jBPM instance over REST. The
    component supports only producer.

    Maven users will need to add the following dependency to their `pom.xml`
    for this component:

    [source,xml]
    ------------------------------------------------------------------------------------
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jbpm</artifactId>
        <version>x.x.x</version><!-- use the same version as your Camel core version -->
    </dependency>
    ------------------------------------------------------------------------------------

    [[jBPM-URIformat]]
    URI format
    ^^^^^^^^^^

    [source,java]
    ---------------------------------------------
    jbpm::hostName[:port][/resourceUri][?options]
    ---------------------------------------------

    [[jBPM-URIOptions]]
    URI Options
    ^^^^^^^^^^^


    // component options: START
    The JBPM component has no options.
    // component options: END





    // endpoint options: START
    The JBPM component supports 26 endpoint options which are listed below:

    {% raw %}
    [width="100%",cols="2,1,1m,1m,5",options="header"]
    |=======================================================================
    | Name | Group | Default | Java Type | Description
    | connectionURL | producer |  | URL | *Required* The URL to the jBPM server.
    | attachmentId | producer |  | Long | attachId to use when retrieving attachments
    | contentId | producer |  | Long | contentId to use when retrieving attachments
    | deploymentId | producer |  | String | *Required* The id of the deployment
    | event | producer |  | Object | the data associated with this event when signalEvent operation is performed
    | eventType | producer |  | String | the type of event to use when signalEvent operation is performed
    | identifier | producer |  | String | identifier the global identifier
    | language | producer |  | String | The language to use when filtering user tasks
    | maxNumber | producer |  | Integer | the maximum number of rules that should be fired
    | operation | producer | startProcess | String | The operation to perform
    | processId | producer |  | String | the id of the process that should be acted upon
    | processInstanceId | producer |  | Long | the id of the process instance
    | targetUserId | producer |  | String | The targetUserId used when delegating a task
    | task | producer |  | Task | The task instance to use with task operations
    | taskId | producer |  | Long | the id of the task
    | timeout | producer |  | Integer | A timeout value
    | userId | producer |  | String | userId to use with task operations
    | value | producer |  | Object | the value to assign to the global identifier
    | workItemId | producer |  | Long | the id of the work item
    | entities | advanced |  | List | The potentialOwners when nominateTask operation is performed
    | extraJaxbClasses | advanced |  | Class[] | To load additional classes when working with XML
    | parameters | advanced |  | Map | the variables that should be set for various operations
    | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
    | statuses | filter |  | List | The list of status to use when filtering tasks
    | password | security |  | String | Password for authentication
    | userName | security |  | String | Username for authentication
    |=======================================================================
    {% endraw %}
    // endpoint options: END




    [[jBPM-MessageHeaders]]
    Message Headers
    ^^^^^^^^^^^^^^^

    [width="100%",cols="10%,10%,10%,70%",options="header",]
    |=======================================================================
    |Name |Default Value |Type |Description

    |CamelJBPMValue |null |Object |the value to assign to the global identifier

    |CamelJBPMOperation |PUT |String |The operation to perform. The operation name must be prefixed with
    CamelJBPMOperation and the name of the operation. See the full list
    above. It is case insensitive.

    |CamelJBPMProcessId |null |String |the id of the process that should be acted upon

    |CamelJBPMProcessInstanceId |0 |Long |the id of the process instance

    |CamelJBPMParameters |null |Map<String, Object> |the variables that should be set for various operations

    |CamelJBPMEventType |null |String |the type of event to use when signalEvent operation is performed

    |CamelJBPMEvent |null |String |The type of the received event. Possible values defined here
    org.infinispan.notifications.cachelistener.event.Event.Type

    |CamelJBPMMaxNumber |null |Integer |the maximum number of rules that should be fired

    |CamelJBPMIdentifier |null |long |identifier the global identifier

    |CamelJBPMWorkItemId |0 |Long |the id of the work item

    |CamelJBPMTaskId |0 |Long |the id of the task

    |CamelJBPMTask |null |Task |The task instance to use with task operations

    |CamelJBPMUserId |null |String |userId to use with task operations

    |CamelJBPMTargetUserId |null |String |The targetUserId used when delegating a task

    |CamelJBPMLanguage |null |String |The language to use when filtering user tasks

    |CamelJBPMAttachmentId |0 |Long |attachId to use when retrieving attachments

    |CamelJBPMContentId |0 |Long |contentId to use when retrieving attachments

    |CamelJBPMEntityList |null |List<OrganizationalEntity> |The potentialOwners when nominateTask operation is performed

    |CamelJBPMStatusList |null |List<Status> |The list of status to use when filtering tasks
    |=======================================================================

    [[jBPM-Example]]
    Example
    ^^^^^^^

    Below is an example route that starts a business process with id
    project1.integration-test and deploymentId
    org.kie.example:project1:1.0.0-SNAPSHOT

    [source,java]
    ----------------------------------------------------------------------------------------------
    from("direct:start")
            .setHeader(JBPMConstants.PROCESS_ID, constant("project1.integration-test"))
            .to("jbpm:http://localhost:8080/business-central?userName=bpmsAdmin&password=pa$word1"
     + "&deploymentId=org.kie.example:project1:1.0.0-SNAPSHOT");
    ----------------------------------------------------------------------------------------------

    [[jBPM-SeeAlso]]
    See Also
    ^^^^^^^^

    * link:configuring-camel.html[Configuring Camel]
    * link:component.html[Component]
    * link:endpoint.html[Endpoint]
    * link:getting-started.html[Getting Started]

     
