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