svn commit: r1502623 - in /cocoon/cocoon3/trunk: cocoon-optional/ cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/ cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/ cocoon-optional/src/test/java/o...

[email protected]
Newsgroups gmane.text.xml.cocoon.cvs
Message-ID <[email protected]>
Author: javier
Date: Fri Jul 12 17:16:22 2013
New Revision: 1502623

URL: http://svn.apache.org/r1502623
Log:
COCOON3-128: Add Tika generator.

Added:
    cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/
    cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGenerator.java
    cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/package-info.java
      - copied, changed from r1499532, cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/solr/package-info.java
    cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-tika.xml
      - copied, changed from r1502503, cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-fop.xml
    cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/
    cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGeneratorTestCase.java
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/cocoon-logo.jpg   (with props)
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.odt   (with props)
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.pdf   (with props)
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-jpg.xml
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-odt.xml
    cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-pdf.xml
Modified:
    cocoon/cocoon3/trunk/cocoon-optional/pom.xml
    cocoon/cocoon3/trunk/parent/pom.xml

Modified: cocoon/cocoon3/trunk/cocoon-optional/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/pom.xml?rev=1502623&r1=1502622&r2=1502623&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/pom.xml (original)
+++ cocoon/cocoon3/trunk/cocoon-optional/pom.xml Fri Jul 12 17:16:22 2013
@@ -150,6 +150,11 @@
       <artifactId>jettison</artifactId>
       <optional>true</optional>
     </dependency>
+    <dependency>
+      <groupId>org.apache.tika</groupId>
+      <artifactId>tika-parsers</artifactId>
+      <optional>true</optional>
+    </dependency>
 
     <!-- Test libraries -->
     <dependency>

Added: cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGenerator.java?rev=1502623&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGenerator.java (added)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGenerator.java Fri Jul 12 17:16:22 2013
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.optional.pipeline.components.sax.tika;
+
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Map;
+
+import org.apache.cocoon.pipeline.ProcessingException;
+import org.apache.cocoon.pipeline.caching.CacheKey;
+import org.apache.cocoon.pipeline.caching.CachedCacheKey;
+import org.apache.cocoon.pipeline.caching.URLListCacheKey;
+import org.apache.cocoon.pipeline.component.CachingPipelineComponent;
+import org.apache.cocoon.sax.AbstractSAXGenerator;
+import org.apache.commons.io.IOUtils;
+import org.apache.tika.io.TikaInputStream;
+import org.apache.tika.metadata.Metadata;
+import org.apache.tika.parser.AutoDetectParser;
+import org.apache.tika.parser.ParseContext;
+import org.apache.tika.parser.Parser;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * General metadata extractor based on Apache Tika
+ * {@link http://tika.apache.org/}.
+ */
+public class TikaGenerator extends AbstractSAXGenerator implements
+        CachingPipelineComponent {
+
+    /**
+     * Logger.
+     */
+    private static final Logger LOG = LoggerFactory.getLogger(
+            TikaGenerator.class);
+
+    private CachedCacheKey key;
+    private URL url;
+    private Parser parser = new AutoDetectParser();
+
+    @Override
+    public void setConfiguration(
+            Map<String, ? extends Object> configuration) {
+        this.url = (URL) configuration.get("source");
+        LOG.debug("Using \"" + this.url.toString() + "\" as cache key.");
+    }
+
+    @Override
+    public void execute() throws ProcessingException {
+        InputStream is = null;
+        try {
+            Metadata metadata = new Metadata();
+            is = TikaInputStream.get(url, metadata);
+            ParseContext context = new ParseContext();
+            context.set(Parser.class, parser);
+
+            parser.parse(is, this.getSAXConsumer(), metadata, context);
+            LOG.info("Source \"" + this.url.toString()
+                    + "\" parsed succesfully.");
+        } catch (Exception e) {
+            LOG.error("Error parsing source.", e);
+            throw new ProcessingException(e);
+        } finally {
+            IOUtils.closeQuietly(is);
+        }
+    }
+
+    @Override
+    public CacheKey constructCacheKey() {
+        this.key = new CachedCacheKey();
+        URLListCacheKey value = new URLListCacheKey();
+        value.addURL(url);
+        this.key.setKey(url.toString());
+        this.key.setValue(value);
+        return this.key;
+    }
+}

Copied: cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/package-info.java (from r1499532, cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/solr/package-info.java)
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/package-info.java?p2=cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/package-info.java&p1=cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/solr/package-info.java&r1=1499532&r2=1502623&rev=1502623&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/solr/package-info.java (original)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/main/java/org/apache/cocoon/optional/pipeline/components/sax/tika/package-info.java Fri Jul 12 17:16:22 2013
@@ -14,4 +14,4 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.cocoon.optional.pipeline.components.sax.solr;
\ No newline at end of file
+package org.apache.cocoon.optional.pipeline.components.sax.tika;
\ No newline at end of file

Copied: cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-tika.xml (from r1502503, cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-fop.xml)
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-tika.xml?p2=cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-tika.xml&p1=cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-fop.xml&r1=1502503&r2=1502623&rev=1502623&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-fop.xml (original)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/main/resources/META-INF/cocoon/spring-optional/cocoon-optional-tika.xml Fri Jul 12 17:16:22 2013
@@ -21,6 +21,6 @@
 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
-  <bean name="serializer:fo2pdf" class="org.apache.cocoon.optional.pipeline.components.sax.fop.FopSerializer" scope="prototype" />
+  <bean name="generator:tika" class="org.apache.cocoon.optional.pipeline.components.sax.tika.TikaGenerator" scope="prototype" />
   
 </beans>

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGeneratorTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGeneratorTestCase.java?rev=1502623&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGeneratorTestCase.java (added)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/test/java/org/apache/cocoon/optional/pipeline/components/sax/tika/TikaGeneratorTestCase.java Fri Jul 12 17:16:22 2013
@@ -0,0 +1,80 @@
+package org.apache.cocoon.optional.pipeline.components.sax.tika;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.cocoon.pipeline.NonCachingPipeline;
+import org.apache.cocoon.pipeline.Pipeline;
+import org.apache.cocoon.sax.SAXPipelineComponent;
+import org.apache.cocoon.sax.component.XMLSerializer;
+import org.custommonkey.xmlunit.DetailedDiff;
+import org.custommonkey.xmlunit.Diff;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+public class TikaGeneratorTestCase {
+    @Rule
+    public TemporaryFolder folder = new TemporaryFolder();
+
+    @Test
+    public void testTikaPDFParse() throws Exception {
+        URL source = this.getClass().getResource("hello.pdf");
+        InputSource controlSource = new InputSource(
+                this.getClass().getResourceAsStream("test-pdf.xml"));
+        processAndCompare(source, controlSource);
+    }
+
+    @Test
+    public void testTikaJPGParse() throws Exception {
+        URL source = this.getClass().getResource("cocoon-logo.jpg");
+        InputSource controlSource = new InputSource(
+                this.getClass().getResourceAsStream("test-jpg.xml"));
+        processAndCompare(source, controlSource);
+    }
+
+    @Test
+    public void testTikaODTParse() throws Exception {
+        URL source = this.getClass().getResource("hello.odt");
+        InputSource controlSource = new InputSource(
+                this.getClass().getResourceAsStream("test-odt.xml"));
+        processAndCompare(source, controlSource);
+    }
+
+    private void processAndCompare(URL source, InputSource controlSource) throws
+            SAXException, IOException, Exception, FileNotFoundException {
+        Pipeline<SAXPipelineComponent> pipeline =
+                new NonCachingPipeline<SAXPipelineComponent>();
+        TikaGenerator generator = new TikaGenerator();
+        Map<String, Object> config = new HashMap<String, Object>();
+        config.put("source", source);
+        generator.setConfiguration(config);
+        pipeline.addComponent(generator);
+        pipeline.addComponent(new XMLSerializer());
+
+        File testFile = this.folder.newFile();
+        FileOutputStream outputStream = new FileOutputStream(testFile);
+
+        pipeline.setup(outputStream);
+        pipeline.execute();
+
+        InputSource testSource = new InputSource(new FileInputStream(testFile));
+        DetailedDiff diff = new DetailedDiff(
+                new Diff(controlSource, testSource));
+        List allDifferences = diff.getAllDifferences();
+        assertEquals(diff.toString(), 0, allDifferences.size());
+    }
+}

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/cocoon-logo.jpg
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/cocoon-logo.jpg?rev=1502623&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/cocoon-logo.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.odt
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.odt?rev=1502623&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.odt
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.pdf
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.pdf?rev=1502623&view=auto
==============================================================================
Binary file - no diff available.

Propchange: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/hello.pdf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-jpg.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-jpg.xml?rev=1502623&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-jpg.xml (added)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-jpg.xml Fri Jul 12 17:16:22 2013
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="Number of Components" content="3"/>
+<meta name="Flags 0" content="192"/>
+<meta name="Resolution Units" content="none"/>
+<meta name="Image Height" content="55 pixels"/>
+<meta name="Data Precision" content="8 bits"/>
+<meta name="Content-Length" content="5084"/>
+<meta name="tiff:BitsPerSample" content="8"/>
+<meta name="Compression Type" content="Baseline"/>
+<meta name="Flags 1" content="0"/>
+<meta name="Component 1" content="Y component: Quantization table 0, Sampling factors 1 horiz/1 vert"/>
+<meta name="tiff:ImageLength" content="55"/>
+<meta name="Component 2" content="Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert"/>
+<meta name="Component 3" content="Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert"/>
+<meta name="DCT Encode Version" content="1"/>
+<meta name="X Resolution" content="100 dots"/>
+<meta name="Color Transform" content="YCbCr"/>
+<meta name="tiff:ImageWidth" content="210"/>
+<meta name="Image Width" content="210 pixels"/>
+<meta name="Content-Type" content="image/jpeg"/>
+<meta name="Y Resolution" content="100 dots"/>
+<meta name="resourceName" content="cocoon-logo.jpg"/>
+<title/>
+</head>
+<body/></html>
\ No newline at end of file

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-odt.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-odt.xml?rev=1502623&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-odt.xml (added)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-odt.xml Fri Jul 12 17:16:22 2013
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="Image-Count" content="0"/>
+<meta name="editing-cycles" content="1"/>
+<meta name="meta:save-date" content="2013-07-12T13:33:59"/>
+<meta name="Content-Length" content="8907"/>
+<meta name="dcterms:created" content="2013-07-12T13:31:40"/>
+<meta name="Author" content="Javier Puerto"/>
+<meta name="date" content="2013-07-12T13:33:59"/>
+<meta name="creator" content="Javier Puerto"/>
+<meta name="nbObject" content="0"/>
+<meta name="Word-Count" content="2"/>
+<meta name="meta:paragraph-count" content="1"/>
+<meta name="Edit-Time" content="P0D"/>
+<meta name="Creation-Date" content="2013-07-12T13:31:40"/>
+<meta name="Object-Count" content="0"/>
+<meta name="meta:author" content="Javier Puerto"/>
+<meta name="nbImg" content="0"/>
+<meta name="meta:object-count" content="0"/>
+<meta name="generator" content="LibreOffice/3.5$Linux_X86_64 LibreOffice_project/350m1$Build-2"/>
+<meta name="resourceName" content="hello.odt"/>
+<meta name="Paragraph-Count" content="1"/>
+<meta name="Last-Save-Date" content="2013-07-12T13:33:59"/>
+<meta name="dcterms:modified" content="2013-07-12T13:33:59"/>
+<meta name="meta:creation-date" content="2013-07-12T13:31:40"/>
+<meta name="Page-Count" content="1"/>
+<meta name="meta:character-count" content="11"/>
+<meta name="dc:creator" content="Javier Puerto"/>
+<meta name="nbTab" content="0"/>
+<meta name="meta:word-count" content="2"/>
+<meta name="Last-Modified" content="2013-07-12T13:33:59"/>
+<meta name="meta:table-count" content="0"/>
+<meta name="modified" content="2013-07-12T13:33:59"/>
+<meta name="meta:image-count" content="0"/>
+<meta name="xmpTPg:NPages" content="1"/>
+<meta name="Table-Count" content="0"/>
+<meta name="nbPara" content="1"/>
+<meta name="initial-creator" content="Javier Puerto"/>
+<meta name="Character Count" content="11"/>
+<meta name="meta:page-count" content="1"/>
+<meta name="meta:initial-author" content="Javier Puerto"/>
+<meta name="nbWord" content="2"/>
+<meta name="nbPage" content="1"/>
+<meta name="Content-Type" content="application/vnd.oasis.opendocument.text"/>
+<meta name="nbCharacter" content="11"/>
+<title/>
+</head>
+<body><p>Hello world</p>
+</body></html>
\ No newline at end of file

Added: cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-pdf.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-pdf.xml?rev=1502623&view=auto
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-pdf.xml (added)
+++ cocoon/cocoon3/trunk/cocoon-optional/src/test/resources/org/apache/cocoon/optional/pipeline/components/sax/tika/test-pdf.xml Fri Jul 12 17:16:22 2013
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="meta:creation-date" content="2013-07-03T20:34:05Z"/>
+<meta name="subject" content="Apache Cocoon 3.0 sample document."/>
+<meta name="Content-Length" content="5578"/>
+<meta name="dc:creator" content="Apache FOP"/>
+<meta name="dcterms:created" content="2013-07-03T20:34:05Z"/>
+<meta name="Author" content="Apache FOP"/>
+<meta name="creator" content="Apache FOP"/>
+<meta name="xmpTPg:NPages" content="1"/>
+<meta name="Creation-Date" content="2013-07-03T20:34:05Z"/>
+<meta name="meta:author" content="Apache FOP"/>
+<meta name="created" content="Wed Jul 03 22:34:05 CEST 2013"/>
+<meta name="cp:subject" content="Apache Cocoon 3.0 sample document."/>
+<meta name="producer" content="Apache FOP Version 1.1"/>
+<meta name="Content-Type" content="application/pdf"/>
+<meta name="resourceName" content="hello.pdf"/>
+<meta name="dc:title" content="Hello world"/>
+<title>Hello world</title>
+</head>
+<body><div class="page"><p/>
+<p>page 1
+</p>
+<p>Hello
+This is my first Cocoon PDF page!</p>
+<p/>
+</div>
+</body></html>
\ No newline at end of file

Modified: cocoon/cocoon3/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/parent/pom.xml?rev=1502623&r1=1502622&r2=1502623&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/parent/pom.xml (original)
+++ cocoon/cocoon3/trunk/parent/pom.xml Fri Jul 12 17:16:22 2013
@@ -553,6 +553,13 @@
         <version>${slf4j.version}</version>
       </dependency>
 
+      <!-- Apache Tika -->
+      <dependency>
+        <groupId>org.apache.tika</groupId>
+        <artifactId>tika-parsers</artifactId>
+        <version>1.4</version>
+      </dependency>
+
       <!-- Cocoon internal dependencies -->
       <dependency>
         <groupId>org.apache.cocoon.cli</groupId>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.