You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ma...@apache.org on 2014/05/07 00:18:03 UTC
svn commit: r1592912 - in /tika/trunk/tika-parsers/src:
main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
Author: mattmann
Date: Tue May 6 22:18:02 2014
New Revision: 1592912
URL: http://svn.apache.org/r1592912
Log:
Patch from Annie Bryant Burgess contributed to address TIKA-1265.
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java?rev=1592912&r1=1592911&r2=1592912&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java Tue May 6 22:18:02 2014
@@ -22,6 +22,8 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
import java.util.Set;
+import java.util.List;
+import java.util.Iterator;
import org.apache.tika.exception.TikaException;
import org.apache.tika.io.IOUtils;
@@ -38,6 +40,8 @@ import org.xml.sax.SAXException;
import ucar.nc2.Attribute;
import ucar.nc2.NetcdfFile;
+import ucar.nc2.Variable;
+import ucar.nc2.Dimension;
/**
* A {@link Parser} for <a
@@ -96,13 +100,54 @@ public class NetCDFParser extends Abstra
metadata.add(property, String.valueOf(value));
}
}
+
+
+ XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
+ xhtml.startDocument();
+
+ xhtml.characters("dimensions:");
+ xhtml.newline();
+
+ for (Dimension dim : ncFile.getDimensions()){
+ xhtml.characters(dim.getName());
+ xhtml.characters(" = ");
+ xhtml.characters(String.valueOf(dim.getLength()));
+ xhtml.characters(";");
+ xhtml.newline();
+ }
+
+ xhtml.newline();
+ xhtml.characters("variables:");
+
+ for (Variable var : ncFile.getVariables()){
+ xhtml.newline();
+ xhtml.characters(String.valueOf(var.getDataType())); // data type
+ xhtml.characters(" ");
+ xhtml.characters(var.getNameAndDimensions()); //variable name and dimensions
+ xhtml.characters(";");
+ //xhtml.newline();
+
+ xhtml.newline();
+
+ List<Attribute> list = (var.getAttributes()); //list of variable attributes
+
+ for(int i=0; i < list.size(); i++){
+
+ Attribute element = (list.get(i));
+ String text = element.toString();
+
+ xhtml.characters(" :");
+ xhtml.characters(text);
+ xhtml.characters(";");
+ xhtml.newline();
+ }
+ }
+
+ xhtml.endDocument();
+
} catch (IOException e) {
throw new TikaException("NetCDF parse error", e);
}
-
- XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
- xhtml.startDocument();
- xhtml.endDocument();
}
private Property resolveMetadataKey(String localName) {
@@ -111,5 +156,4 @@ public class NetCDFParser extends Abstra
}
return Property.internalText(localName);
}
-
-}
+}
\ No newline at end of file
Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java?rev=1592912&r1=1592911&r2=1592912&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/netcdf/NetCDFParserTest.java Tue May 6 22:18:02 2014
@@ -18,11 +18,10 @@ package org.apache.tika.parser.netcdf;
//JDK imports
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.io.InputStream;
-
-
//TIKA imports
import org.apache.tika.metadata.Metadata;
import org.apache.tika.metadata.TikaCoreProperties;
@@ -31,7 +30,6 @@ import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import org.junit.Test;
import org.xml.sax.ContentHandler;
-
/**
* Test cases to exercise the {@link NetCDFParser}.
*
@@ -65,7 +63,15 @@ public class NetCDFParserTest {
assertEquals(metadata.get(Metadata.REALIZATION), "1");
assertEquals(metadata.get(Metadata.EXPERIMENT_ID),
"720 ppm stabilization experiment (SRESA1B)");
-
+
+ String content = handler.toString();
+ assertTrue(content.contains(":long_name = \"Surface area\";"));
+ assertTrue(content.contains("float area(lat=128, lon=256);"));
+ assertTrue(content.contains("float lat(lat=128);"));
+ assertTrue(content.contains("double lat_bnds(lat=128, bnds=2);"));
+ assertTrue(content.contains("double lon_bnds(lon=256, bnds=2);"));
+
+
}
}