You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by tp...@apache.org on 2014/07/21 17:32:24 UTC

svn commit: r1612314 - in /tika/trunk/tika-parsers/src: main/java/org/apache/tika/parser/envi/EnviHeaderParser.java test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java

Author: tpalsulich
Date: Mon Jul 21 15:32:23 2014
New Revision: 1612314

URL: http://svn.apache.org/r1612314
Log:
Fix for TIKA-1357: Use BufferedReader to parse ENVI files (from Ann Burgess).

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java?rev=1612314&r1=1612313&r2=1612314&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java Mon Jul 21 15:32:23 2014
@@ -73,14 +73,12 @@ public class EnviHeaderParser extends Ab
 			xhtml.startDocument();
 
 			// text contents of the xhtml
-			xhtml.startElement("p");
-			char[] buffer = new char[4096];
-			int n = reader.read(buffer);
-			while (n != -1) {
-				xhtml.characters(buffer, 0, n);
-				n = reader.read(buffer);
-			}
-			xhtml.endElement("p");
+            String line;
+            while ((line = reader.readLine()) != null) {
+                xhtml.startElement("p");
+                xhtml.characters(line);
+                xhtml.endElement("p");
+            }
 
 			xhtml.endDocument();
 		} finally {

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java?rev=1612314&r1=1612313&r2=1612314&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/envi/EnviHeaderParserTest.java Mon Jul 21 15:32:23 2014
@@ -20,6 +20,8 @@ package org.apache.tika.parser.envi;
 //Junit imports
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+
+import org.apache.tika.sax.ToXMLContentHandler;
 import org.junit.Test;
 
 import org.apache.tika.metadata.Metadata;
@@ -41,7 +43,7 @@ public class EnviHeaderParserTest {
 		}
 
 		Parser parser = new EnviHeaderParser();
-		ContentHandler handler = new BodyContentHandler();
+		ToXMLContentHandler handler = new ToXMLContentHandler();
 		Metadata metadata = new Metadata();
 
 		InputStream stream = EnviHeaderParser.class
@@ -55,12 +57,12 @@ public class EnviHeaderParserTest {
 
 		// Check content of test file
 		String content = handler.toString();
-		assertTrue(content.contains("ENVI"));
-		assertTrue(content.contains("samples = 2400"));
-		assertTrue(content.contains("lines   = 2400"));
-		assertTrue(content.contains("bands   = 7"));
-		assertTrue(content.contains("header offset = 0"));
-		assertTrue(content.contains("file type = ENVI Standard"));
+        System.err.println(content);
+        assertTrue(content.contains("<body><p>ENVI</p>"));
+		assertTrue(content.contains("<p>samples = 2400</p>"));
+		assertTrue(content.contains("<p>lines   = 2400</p>"));
+		assertTrue(content.contains("<p>map info = {Sinusoidal, 1.5000, 1.5000, -10007091.3643, 5559289.2856, 4.6331271653e+02, 4.6331271653e+02, , units=Meters}</p>"));
+		assertTrue(content.contains("content=\"application/envi.hdr\""));
 		assertTrue(content
 				.contains("projection info = {16, 6371007.2, 0.000000, 0.0, 0.0, Sinusoidal, units=Meters}"));
 	}