---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    funktion.fabric8.io/kind: Connector
  name: jing
data:
  deployment.yml: |
    ---
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      labels:
        funktion.fabric8.io/kind: Subscription
        connector: jing
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            funktion.fabric8.io/kind: Subscription
            connector: jing
        spec:
          containers:
          - image: funktion/connector-jing:${project.version}
            name: connector
  schema.yml: |
    ---
    component:
      kind: component
      scheme: jing
      syntax: jing:resourceUri
      title: Jing
      description: Validates the payload of a message using RelaxNG Syntax using Jing library.
      label: validation
      deprecated: false
      async: false
      producerOnly: true
      javaType: org.apache.camel.component.validator.jing.JingComponent
      groupId: org.apache.camel
      artifactId: camel-jing
      version: 2.18.3
    componentProperties: {}
    properties:
      resourceUri:
        kind: path
        group: producer
        required: true
        type: string
        javaType: java.lang.String
        deprecated: false
        secret: false
        description: URL to a local resource on the classpath or a full URL to a remote resource or resource on the file system which contains the schema to validate against.
        order: 0
      compactSyntax:
        kind: parameter
        group: producer
        type: boolean
        javaType: boolean
        deprecated: false
        secret: false
        defaultValue: false
        description: Whether to validate using RelaxNG compact syntax or not. By default this is false for using RelaxNG XML Syntax (rng) And true is for using RelaxNG Compact Syntax (rnc)
        order: 1
      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: 2
  documentation.adoc: |+
    [[Jing-JingComponent]]
    Jing Component
    ~~~~~~~~~~~~~~

    The Jing component uses the
    http://www.thaiopensource.com/relaxng/jing.html[Jing Library] to perform
    XML validation of the message body using either

    * http://relaxng.org/[RelaxNG XML Syntax]
    * http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
    Syntax]

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

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

    Note that the link:msv.html[MSV] component can also support RelaxNG XML
    syntax.

    [[Jing-URIformatCamel2.16]]
    URI format Camel 2.16
    ^^^^^^^^^^^^^^^^^^^^^

    [source,java]
    ------------------------------
    jing:someLocalOrRemoteResource
    ------------------------------

    From Camel 2.16 the component use jing as name, and you can use the
    option compactSyntax to turn on either RNG or RNC mode.

    [[Jing-Options]]
    Options
    ^^^^^^^


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




    // endpoint options: START
    The Jing component supports 3 endpoint options which are listed below:

    {% raw %}
    [width="100%",cols="2,1,1m,1m,5",options="header"]
    |=======================================================================
    | Name | Group | Default | Java Type | Description
    | resourceUri | producer |  | String | *Required* URL to a local resource on the classpath or a full URL to a remote resource or resource on the file system which contains the schema to validate against.
    | compactSyntax | producer | false | boolean | Whether to validate using RelaxNG compact syntax or not. By default this is false for using RelaxNG XML Syntax (rng) And true is for using RelaxNG Compact Syntax (rnc)
    | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
    |=======================================================================
    {% endraw %}
    // endpoint options: END



    [[Jing-Example]]
    Example
    ^^^^^^^

    The following
    http://svn.apache.org/repos/asf/camel/trunk/components/camel-jing/src/test/resources/org/apache/camel/component/validator/jing/rnc-context.xml[example]
    shows how to configure a route from the endpoint *direct:start* which
    then goes to one of two endpoints, either *mock:valid* or *mock:invalid*
    based on whether or not the XML matches the given
    http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
    Syntax] schema (which is supplied on the classpath).

    [[Jing-SeeAlso]]
    See Also
    ^^^^^^^^

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

