Author: mikemccand
Date: Tue Sep 11 15:02:34 2012
New Revision: 1383442

URL: http://svn.apache.org/viewvc?rev=1383442&view=rev
Log:
TIKA-920: handle multi-valued metadata keys

Added:
    tika/trunk/tika-app/src/test/resources/test-data/testMultipleSheets.numbers 
  (with props)
Modified:
    tika/trunk/CHANGES.txt
    tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
    tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java

Modified: tika/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1383442&r1=1383441&r2=1383442&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Tue Sep 11 15:02:34 2012
@@ -14,6 +14,9 @@ Release 1.3 - Current Development
   * iWork: The chart name for charts embedded in numbers documents is
     now extracted (TIKA-918).
 
+  * CLI: TikaCLI -m now handles multi-valued metadata keys correctly
+    (previously it only printed the first value).  (TIKA-920)
+
 Release 1.2 - 07/10/2012
 ---------------------------------
 

Modified: tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java?rev=1383442&r1=1383441&r2=1383442&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java 
(original)
+++ tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java Tue Sep 
11 15:02:34 2012
@@ -824,8 +824,10 @@ public class TikaCLI {
         
         public void outputMetadata(String[] names) {
            for (String name : names) {
-              writer.println(name + ": " + metadata.get(name));
-          }
+              for(String value : metadata.getValues(name)) {
+                 writer.println(name + ": " + value);
+              }
+           }
         }
         
         public boolean metOutput(){

Modified: tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java?rev=1383442&r1=1383441&r2=1383442&view=diff
==============================================================================
--- tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java 
(original)
+++ tika/trunk/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java Tue 
Sep 11 15:02:34 2012
@@ -35,7 +35,7 @@ public class TikaCLITest extends TestCas
     private ByteArrayOutputStream outContent = null;
     private PrintStream stdout = null;
     private URI testDataURI = new 
File("src/test/resources/test-data/").toURI();
-    private String resorcePrefix = testDataURI.toString();
+    private String resourcePrefix = testDataURI.toString();
 
     public void setUp() throws Exception {
         profile = new File("welsh.ngp");
@@ -50,7 +50,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testCreateProfile() throws Exception {
-        String[] params = {"--create-profile=welsh", "-eUTF-8", resorcePrefix 
+ "welsh_corpus.txt"};
+        String[] params = {"--create-profile=welsh", "-eUTF-8", resourcePrefix 
+ "welsh_corpus.txt"};
         TikaCLI.main(params);
         Assert.assertTrue(profile.exists());
     }
@@ -84,7 +84,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testXMLOutput() throws Exception{
-        String[] params = {"-x", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-x", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("?xml version=\"1.0\" 
encoding=\"UTF-8\"?"));
     }
@@ -95,7 +95,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testHTMLOutput() throws Exception{
-        String[] params = {"-h", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-h", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("html 
xmlns=\"http://www.w3.org/1999/xhtml";));
     }
@@ -106,7 +106,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testTextOutput() throws Exception{
-        String[] params = {"-t", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-t", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("finished off the 
cake"));
     }
@@ -116,7 +116,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testMetadataOutput() throws Exception{
-        String[] params = {"-m", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-m", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("text/plain"));
     }
@@ -127,7 +127,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testLanguageOutput() throws Exception{
-        String[] params = {"-l", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-l", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("en"));
     }
@@ -138,7 +138,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testDetectOutput() throws Exception{
-        String[] params = {"-d", resorcePrefix + "alice.cli.test"};
+        String[] params = {"-d", resourcePrefix + "alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("text/plain"));
     }
@@ -149,7 +149,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testListMetModels() throws Exception{
-        String[] params = {"--list-met-models", resorcePrefix + 
"alice.cli.test"};
+        String[] params = {"--list-met-models", resourcePrefix + 
"alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("text/plain"));
     }
@@ -160,7 +160,7 @@ public class TikaCLITest extends TestCas
      * @throws Exception
      */
     public void testListSupportedTypes() throws Exception{
-        String[] params = {"--list-supported-types", resorcePrefix + 
"alice.cli.test"};
+        String[] params = {"--list-supported-types", resourcePrefix + 
"alice.cli.test"};
         TikaCLI.main(params);
         Assert.assertTrue(outContent.toString().contains("supertype: 
application/octet-stream"));
     }
@@ -181,7 +181,7 @@ public class TikaCLITest extends TestCas
                           // google guava library has better solution
 
         try {
-            String[] params = 
{"--extract-dir="+tempFile.getAbsolutePath(),"-z", resorcePrefix + 
"/coffee.xls"};
+            String[] params = 
{"--extract-dir="+tempFile.getAbsolutePath(),"-z", resourcePrefix + 
"/coffee.xls"};
             
             TikaCLI.main(params);
             
@@ -204,4 +204,15 @@ public class TikaCLITest extends TestCas
         }
 
     }
+
+    // TIKA-920
+    public void testMultiValuedMetadata() throws Exception {
+        String[] params = {"-m", resourcePrefix + 
"testMultipleSheets.numbers"};
+        TikaCLI.main(params);
+        String content = outContent.toString();
+        assertTrue(content.contains("sheetNames: Checking"));
+        assertTrue(content.contains("sheetNames: Secon sheet"));
+        assertTrue(content.contains("sheetNames: Logical Sheet 3"));
+        assertTrue(content.contains("sheetNames: Sheet 4"));
+    }
 }

Added: 
tika/trunk/tika-app/src/test/resources/test-data/testMultipleSheets.numbers
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-app/src/test/resources/test-data/testMultipleSheets.numbers?rev=1383442&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
tika/trunk/tika-app/src/test/resources/test-data/testMultipleSheets.numbers
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream


Reply via email to