camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From g prav <praveen_g...@yahoo.com.INVALID>
Subject Fw: Fwd: Camel FOP component for PDF(and other output formats) generation
Date Wed, 21 Oct 2015 12:27:36 GMT

Hi,
I had  a look at the post created on Camel and FOP by Bilgin Ibryam  on Nov 4, 2011 at
12:20 pm ,but did not find any sample code.I have followed the instructions given in the
post and created the below files.
XML
<?xml version="1.0" encoding="UTF-8"?><Employees> <Employee> <Name>PG /Name>
<Occupation>Sr. Developer</Occupation> <Email>PG@dwp.com</Email> </Employee>
 <Employee> <Name>SM </Name> <Occupation>Manager</Occupation>
<Email>SM@dwp.com</Email> </Employee>
 <Employee> <Name>NJ</Name> <Occupation>Tech Lead</Occupation>
<Email>NJ@dwp.com</Email> </Employee>
 <Employee> <Name>DH /Name> <Occupation>Sr. Developer</Occupation>
<Email>DH@dwp.com</Email> </Employee></Employees>--------------XSL
<xsl:stylesheet version="1.1"                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
   <!--  xmlns:xsl="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="xsl"--> 
 <xsl:template match="/">   <xsl:root xmlns:xsl="http://www.w3.org/1999/XSL/Format">
      <xsl:layout-master-set>        <xsl:simple-page-master master-name="simpleA4"
page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm"
margin-right="2cm">          <xsl:region-body/>        </xsl:simple-page-master> 
    </xsl:layout-master-set>      <xsl:page-sequence master-reference="simpleA4"> 
      <xsl:flow flow-name="xsl-region-body">          <xsl:block xslnt-size="20pt"
xslnt-weight="bold" space-after="5mm">Employees List: <xsl:value-of select="Employees"/> 
        </xsl:block>          <xsl:block xslnt-size="10pt">       
    <xsl:table table-layout="fixed" width="100%" border-collapse="separate">   
          <xsl:table-column column-width="8cm"/>              <xsl:table-column
column-width="6cm"/>              <xsl:table-column column-width="5cm"/>  
           
              <xsl:table-body>                <xsl:apply-templates
select="Employee"/>              </xsl:table-body>            </xsl:table> 
        </xsl:block>        </xsl:flow>      </xsl:page-sequence> 
  </xsl:root> </xsl:template> 
  <!-- ========================= -->  <!-- child element: Employee     --> 
<!-- ========================= -->  <xsl:template match="Employee">    <xsl:table-row> 
    <xsl:if test="occupation = 'Tech Lead'">        <xsl:attribute name="xslnt-weight">bold</xsl:attribute> 
    </xsl:if>      <xsl:if test="occupation = 'Manager'">        <xsl:attribute
name="xslnt-weight">bold</xsl:attribute>        <xsl:attribute name="xslnt-color">Red</xsl:attribute> 
    </xsl:if>
      <xsl:table-cell>        <xsl:block>          <xsl:value-of
select="Name"/>        </xsl:block>      </xsl:table-cell>      <xsl:table-cell> 
      <xsl:block>          <xsl:value-of select="Occupation"/>     
  </xsl:block>      </xsl:table-cell>      <xsl:table-cell>   
    <xsl:block>          <xsl:value-of select="Email"/>        </xsl:block> 
    </xsl:table-cell>    </xsl:table-row>  </xsl:template></xsl:stylesheet>————————
Camel Context
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation="         http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd         http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
 <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring">
 <route> <from uri="file:///tmp/dave/" />  <setProperty propertyName="lostHeader"> 
       <simple>${header.lostHeader}</simple>     </setProperty> <to
uri="xslt:file:///Users/pgajula/MyWorkspace/PDFGenCamelXML/src/main/resources/xslt/employeeReport.xsl"
/> <to uri="fop:application/pdf" /> <to uri="file:///pdf/employeeReport.pdf" />
</route>
 </camelContext></beans>
POM
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>PDFGenCamelFOPXML</groupId>
<artifactId>PDFGenCamelXML</artifactId> <version>1.0</version> <name>PDFGenCamelXML</name>
 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<camel.version>2.10.4</camel.version> </properties>
 <dependencies> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId>
<version>${camel.version}</version> </dependency> <dependency> <groupId>org.apache.camel</groupId>
<artifactId>camel-fop</artifactId> <version>${camel.version}</version>
</dependency><!--  <dependency> <groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId> <version>2.0</version> </dependency> -->
 <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId>
<version>${camel.version}</version> </dependency>
 <!-- for testing --> <dependency> <groupId>org.apache.camel</groupId>
<artifactId>camel-test</artifactId> <version>${camel.version}</version>
<scope>test</scope> </dependency> 
<!--  <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId>
<version>1.6.0</version> <scope>test</scope> </dependency> -->
<!-- logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId>
<version>1.6.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> <scope>test</scope>
</dependency> 
 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId>
<version>1.2.16</version> <scope>test</scope> </dependency>
</dependencies>
 <build>
 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version> <configuration> <source>1.8</source>
<target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId> <configuration> <excludes>
<exclude>**/log4j.properties</exclude> </excludes>
 </configuration> </plugin>
 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId>
<version>2.6</version> <configuration> <encoding>UTF-8</encoding>
</configuration> </plugin>
 <plugin> <groupId>org.apache.camel</groupId> <artifactId>camel-maven-plugin</artifactId>
<version>${camel.version}</version> </plugin> </plugins> </build>
</project>

When I run the code it hangs saying the below
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation
(NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for
further details.Oct 21, 2015 1:22:51 PM org.springframework.context.support.AbstractApplicationContext
prepareRefreshINFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@621be5d1:
startup date [Wed Oct 21 13:22:51 BST 2015]; root of context hierarchyOct 21, 2015 1:22:51
PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitionsINFO:
Loading XML bean definitions from class path resource [META-INF/spring/camel-context.xml]Oct
21, 2015 1:22:51 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletonsINFO:
Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@56a6d5a6:
defining beans [template,consumerTemplate,camel-1:beanPostProcessor,camel-1]; root of factory
hierarchyCurrently, can only stop this by killing the JVM - needs fixing before going to productionWarning:
Could not get charToByteConverterClass!

Could you provide any advise/guidance to fix this or provide a working sample code please.
ThanksPraveen



  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message