---
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    labels:
      funktion.fabric8.io/kind: Connector
      provider: fabric8
      project: connector-fop
      version: 1.1.9
      group: io.fabric8.funktion.connector
    name: fop
  data:
    deployment.yml: |
      ---
      apiVersion: extensions/v1beta1
      kind: Deployment
      metadata:
        labels:
          funktion.fabric8.io/kind: Subscription
          connector: fop
      spec:
        replicas: 1
        template:
          metadata:
            labels:
              funktion.fabric8.io/kind: Subscription
              connector: fop
          spec:
            containers:
            - image: fabric8/connector-fop:1.1.9
              name: connector
    schema.yml: |
      ---
      component:
        kind: component
        scheme: fop
        syntax: fop:outputType
        title: FOP
        description: The fop component allows you to render a message into different output formats using Apache FOP.
        label: transformation
        deprecated: false
        async: false
        producerOnly: true
        javaType: org.apache.camel.component.fop.FopComponent
        groupId: org.apache.camel
        artifactId: camel-fop
        version: 2.18.1
      componentProperties: {}
      properties:
        outputType:
          kind: path
          group: producer
          required: true
          type: string
          javaType: org.apache.camel.component.fop.FopOutputType
          enum:
          - pdf
          - ps
          - pcl
          - png
          - jpeg
          - svg
          - xml
          - mif
          - rtf
          - txt
          deprecated: false
          secret: false
          description: The primary output format is PDF but other output formats are also supported.
        fopFactory:
          kind: parameter
          group: producer
          type: object
          javaType: org.apache.fop.apps.FopFactory
          deprecated: false
          secret: false
          description: Allows to use a custom configured or implementation of org.apache.fop.apps.FopFactory.
        userConfigURL:
          kind: parameter
          group: producer
          type: string
          javaType: java.lang.String
          deprecated: false
          secret: false
          description: The location of a configuration file which can be loaded from classpath or file system.
        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).
    documentation.adoc: |+
      [[FOP-FOPComponent]]
      FOP Component
      ~~~~~~~~~~~~~

      *Available as of Camel 2.10*

      The FOP component allows you to render a message into different output
      formats using http://xmlgraphics.apache.org/fop/index.html[Apache FOP].

      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-fop</artifactId>
          <version>x.x.x</version>
          <!-- use the same version as your Camel core version -->
      </dependency>
      ------------------------------------------------------------

      [[FOP-URIformat]]
      URI format
      ^^^^^^^^^^

      [source,java]
      ----------------------------
      fop://outputFormat?[options]
      ----------------------------

      [[FOP-OutputFormats]]
      Output Formats
      ^^^^^^^^^^^^^^

      The primary output format is PDF but other output
      http://xmlgraphics.apache.org/fop/0.95/output.html[formats] are also
      supported:

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |name |outputFormat |description

      |PDF |application/pdf |Portable Document Format

      |PS |application/postscript |Adobe Postscript

      |PCL |application/x-pcl |Printer Control Language

      |PNG |image/png |PNG images

      |JPEG |image/jpeg |JPEG images

      |SVG |image/svg+xml |Scalable Vector Graphics

      |XML |application/X-fop-areatree |Area tree representation

      |MIF |application/mif |FrameMaker's MIF

      |RTF |application/rtf |Rich Text Format

      |TXT |text/plain |Text
      |=======================================================================

      The complete list of valid output formats can be found
      http://svn.apache.org/repos/asf/xmlgraphics/commons/trunk/src/java/org/apache/xmlgraphics/util/MimeConstants.java[here]

      [[FOP-EndpointOptions]]
      Endpoint Options
      ^^^^^^^^^^^^^^^^

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



      // endpoint options: START
      The FOP component supports 4 endpoint options which are listed below:

      {% raw %}
      [width="100%",cols="2,1,1m,1m,5",options="header"]
      |=======================================================================
      | Name | Group | Default | Java Type | Description
      | outputType | producer |  | FopOutputType | *Required* The primary output format is PDF but other output formats are also supported.
      | fopFactory | producer |  | FopFactory | Allows to use a custom configured or implementation of org.apache.fop.apps.FopFactory.
      | userConfigURL | producer |  | String | The location of a configuration file which can be loaded from classpath or file system.
      | 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


      The location of a configuration file with the following
      http://xmlgraphics.apache.org/fop/1.0/configuration.html[structure].
      From *Camel 2.12* onwards the file is loaded from the classpath by
      default. You can use `file:`, or `classpath:` as prefix to load the
      resource from file or classpath. In previous releases the file is always
      loaded from file system.

      fopFactory

      ??

      Allows to use a custom configured or implementation of
      `org.apache.fop.apps.FopFactory`.

      [[FOP-MessageOperations]]
      Message Operations
      ^^^^^^^^^^^^^^^^^^

      [width="100%",cols="10%,10%,80%",options="header",]
      |=======================================================================
      |name |default value |description

      |CamelFop.Output.Format |  | Overrides the output format for that message

      |CamelFop.Encrypt.userPassword |  | PDF user password

      |CamelFop.Encrypt.ownerPassword |  | PDF owner passoword

      |CamelFop.Encrypt.allowPrint | true |Allows printing the PDF

      |CamelFop.Encrypt.allowCopyContent |true |Allows copying content of the PDF

      |CamelFop.Encrypt.allowEditContent |true |Allows editing content of the PDF

      |CamelFop.Encrypt.allowEditAnnotations |true |Allows editing annotation of the PDF

      |CamelFop.Render.producer |Apache FOP |Metadata element for the system/software that produces the document

      |CamelFop.Render.creator |  | Metadata element for the user that created the document

      |CamelFop.Render.creationDate |  | Creation Date

      |CamelFop.Render.author |  | Author of the content of the document

      |CamelFop.Render.title |  | Title of the document

      |CamelFop.Render.subject |  | Subject of the document

      |CamelFop.Render.keywords |  | Set of keywords applicable to this document
      |=======================================================================

      [[FOP-Example]]
      Example
      ^^^^^^^

      Below is an example route that renders PDFs from xml data and xslt
      template and saves the PDF files in target folder:

      [source,java]
      ---------------------------------
      from("file:source/data/xml")
          .to("xslt:xslt/template.xsl")
          .to("fop:application/pdf")
          .to("file:target/data");
      ---------------------------------

      For more information, see these resources...

      [[FOP-SeeAlso]]
      See Also
      ^^^^^^^^

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

