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 2015/05/25 03:03:11 UTC
svn commit: r1681542 - in /tika/trunk/tika-parsers/src:
main/java/org/apache/tika/parser/geo/topic/
test/java/org/apache/tika/parser/geo/topic/
Author: mattmann
Date: Mon May 25 01:03:11 2015
New Revision: 1681542
URL: http://svn.apache.org/r1681542
Log:
- formatting
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParser.java
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParserConfig.java
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoTag.java
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/NameEntityExtractor.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/geo/topic/GeoParserTest.java
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParser.java?rev=1681542&r1=1681541&r2=1681542&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParser.java Mon May 25 01:03:11 2015
@@ -48,106 +48,108 @@ public class GeoParser extends AbstractP
private static final long serialVersionUID = -2241391757440215491L;
private static final MediaType MEDIA_TYPE = MediaType
- .application("geotopic");
- private static final Set<MediaType> SUPPORTED_TYPES = Collections
- .singleton(MEDIA_TYPE);
- private GeoParserConfig config = new GeoParserConfig();
- private static final Logger LOG = Logger.getLogger(GeoParser.class.getName());
-
- @Override
- public Set<MediaType> getSupportedTypes(ParseContext parseContext) {
- return SUPPORTED_TYPES;
- }
+ .application("geotopic");
+ private static final Set<MediaType> SUPPORTED_TYPES = Collections
+ .singleton(MEDIA_TYPE);
+ private GeoParserConfig config = new GeoParserConfig();
+ private static final Logger LOG = Logger.getLogger(GeoParser.class
+ .getName());
+
+ @Override
+ public Set<MediaType> getSupportedTypes(ParseContext parseContext) {
+ return SUPPORTED_TYPES;
+ }
@Override
public void parse(InputStream stream, ContentHandler handler,
- Metadata metadata, ParseContext context) throws IOException,
- SAXException, TikaException {
+ Metadata metadata, ParseContext context) throws IOException,
+ SAXException, TikaException {
/*----------------configure this parser by ParseContext Object---------------------*/
- config = context.get(GeoParserConfig.class,
- config);
- String nerModelPath = config.getNERPath();
-
- if(!isAvailable()){
- return;
- }
+ config = context.get(GeoParserConfig.class, config);
+ String nerModelPath = config.getNERPath();
+
+ if (!isAvailable()) {
+ return;
+ }
/*----------------get locationNameEntities and best nameEntity for the input stream---------------------*/
- NameEntityExtractor extractor = new NameEntityExtractor(nerModelPath);
- extractor.getAllNameEntitiesfromInput(stream);
- extractor.getBestNameEntity();
- ArrayList<String> locationNameEntities = extractor.locationNameEntities;
- String bestner = extractor.bestNameEntity;
+ NameEntityExtractor extractor = new NameEntityExtractor(nerModelPath);
+ extractor.getAllNameEntitiesfromInput(stream);
+ extractor.getBestNameEntity();
+ ArrayList<String> locationNameEntities = extractor.locationNameEntities;
+ String bestner = extractor.bestNameEntity;
/*------------------------resolve geonames for each ner, store results in a hashmap---------------------*/
- HashMap<String, ArrayList<String>> resolvedGeonames = searchGeoNames(locationNameEntities);
+ HashMap<String, ArrayList<String>> resolvedGeonames = searchGeoNames(locationNameEntities);
/*----------------store locationNameEntities and their geonames in a geotag, each input has one geotag---------------------*/
- GeoTag geotag = new GeoTag();
- geotag.toGeoTag(resolvedGeonames, bestner);
+ GeoTag geotag = new GeoTag();
+ geotag.toGeoTag(resolvedGeonames, bestner);
/* add resolved entities in metadata */
metadata.add("Geographic_NAME", geotag.Geographic_NAME);
- metadata.add("Geographic_LONGITUDE", geotag.Geographic_LONGTITUDE);
- metadata.add("Geographic_LATITUDE", geotag.Geographic_LATITUDE);
- for (int i = 0; i < geotag.alternatives.size(); ++i) {
- GeoTag alter = (GeoTag) geotag.alternatives.get(i);
- metadata.add("Optional_NAME" + (i + 1), alter.Geographic_NAME);
- metadata.add("Optional_LONGITUDE" + (i + 1),
- alter.Geographic_LONGTITUDE);
- metadata.add("Optional_LATITUDE" + (i + 1),
- alter.Geographic_LATITUDE);
- }
- }
+ metadata.add("Geographic_LONGITUDE", geotag.Geographic_LONGTITUDE);
+ metadata.add("Geographic_LATITUDE", geotag.Geographic_LATITUDE);
+ for (int i = 0; i < geotag.alternatives.size(); ++i) {
+ GeoTag alter = (GeoTag) geotag.alternatives.get(i);
+ metadata.add("Optional_NAME" + (i + 1), alter.Geographic_NAME);
+ metadata.add("Optional_LONGITUDE" + (i + 1),
+ alter.Geographic_LONGTITUDE);
+ metadata.add("Optional_LATITUDE" + (i + 1),
+ alter.Geographic_LATITUDE);
+ }
+ }
public HashMap<String, ArrayList<String>> searchGeoNames(
- ArrayList<String> locationNameEntities) throws ExecuteException,
- IOException {
- CommandLine cmdLine = new CommandLine("lucene-geo-gazetteer");
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- cmdLine.addArgument("-s");
- for (String name : locationNameEntities) {
- cmdLine.addArgument(name);
- }
+ ArrayList<String> locationNameEntities) throws ExecuteException,
+ IOException {
+ CommandLine cmdLine = new CommandLine("lucene-geo-gazetteer");
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ cmdLine.addArgument("-s");
+ for (String name : locationNameEntities) {
+ cmdLine.addArgument(name);
+ }
LOG.fine("Executing: " + cmdLine);
- DefaultExecutor exec = new DefaultExecutor();
- exec.setExitValue(0);
- ExecuteWatchdog watchdog = new ExecuteWatchdog(60000);
- exec.setWatchdog(watchdog);
- PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream);
- exec.setStreamHandler(streamHandler);
- int exitValue = exec.execute(cmdLine,
- EnvironmentUtils.getProcEnvironment());
- String outputJson = outputStream.toString("UTF-8");
- JSONArray json = (JSONArray) JSONValue.parse(outputJson);
+ DefaultExecutor exec = new DefaultExecutor();
+ exec.setExitValue(0);
+ ExecuteWatchdog watchdog = new ExecuteWatchdog(60000);
+ exec.setWatchdog(watchdog);
+ PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream);
+ exec.setStreamHandler(streamHandler);
+ int exitValue = exec.execute(cmdLine,
+ EnvironmentUtils.getProcEnvironment());
+ String outputJson = outputStream.toString("UTF-8");
+ JSONArray json = (JSONArray) JSONValue.parse(outputJson);
HashMap<String, ArrayList<String>> returnHash = new HashMap<String, ArrayList<String>>();
- for (int i = 0; i < json.size(); i++) {
- JSONObject obj = (JSONObject) json.get(i);
- for (Object key : obj.keySet()) {
- String theKey = (String) key;
- JSONArray vals = (JSONArray) obj.get(theKey);
- ArrayList<String> stringVals = new ArrayList<String>(
- vals.size());
- for (int j = 0; j < vals.size(); j++) {
- String val = (String) vals.get(j);
- stringVals.add(val);
- }
+ for (int i = 0; i < json.size(); i++) {
+ JSONObject obj = (JSONObject) json.get(i);
+ for (Object key : obj.keySet()) {
+ String theKey = (String) key;
+ JSONArray vals = (JSONArray) obj.get(theKey);
+ ArrayList<String> stringVals = new ArrayList<String>(
+ vals.size());
+ for (int j = 0; j < vals.size(); j++) {
+ String val = (String) vals.get(j);
+ stringVals.add(val);
+ }
returnHash.put(theKey, stringVals);
- }
- }
+ }
+ }
return returnHash;
}
-
- public boolean isAvailable(){
- return ExternalParser.check(new String[]{"lucene-geo-gazetteer", "--help"}, -1)
- && config.getNERPath() != null && !config.getNERPath().equals("");
- }
+
+ public boolean isAvailable() {
+ return ExternalParser.check(new String[] { "lucene-geo-gazetteer",
+ "--help" }, -1)
+ && config.getNERPath() != null
+ && !config.getNERPath().equals("");
+ }
}
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParserConfig.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParserConfig.java?rev=1681542&r1=1681541&r2=1681542&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParserConfig.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoParserConfig.java Mon May 25 01:03:11 2015
@@ -27,29 +27,28 @@ public class GeoParserConfig implements
private String nerModelPath = null;
public GeoParserConfig() {
- try {
- if (GeoParserConfig.class.getResource(
- "en-ner-location.bin") != null){
- this.nerModelPath = new File(GeoParserConfig.class.getResource(
- "en-ner-location.bin").toURI()).getAbsolutePath();
- }
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
+ try {
+ if (GeoParserConfig.class.getResource("en-ner-location.bin") != null) {
+ this.nerModelPath = new File(GeoParserConfig.class.getResource(
+ "en-ner-location.bin").toURI()).getAbsolutePath();
+ }
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
}
public void setNERModelPath(String path) {
- if (path == null)
- return;
- File file = new File(path);
- if (file.isDirectory() || !file.exists()) {
- return;
- }
- nerModelPath = path;
- }
+ if (path == null)
+ return;
+ File file = new File(path);
+ if (file.isDirectory() || !file.exists()) {
+ return;
+ }
+ nerModelPath = path;
+ }
public String getNERPath() {
- return nerModelPath;
- }
+ return nerModelPath;
+ }
}
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoTag.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoTag.java?rev=1681542&r1=1681541&r2=1681542&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoTag.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/GeoTag.java Mon May 25 01:03:11 2015
@@ -27,39 +27,39 @@ public class GeoTag {
ArrayList<GeoTag> alternatives = new ArrayList<GeoTag>();
public void setMain(String name, String longitude, String latitude) {
- Geographic_NAME = name;
- Geographic_LONGTITUDE = longitude;
- Geographic_LATITUDE = latitude;
- }
+ Geographic_NAME = name;
+ Geographic_LONGTITUDE = longitude;
+ Geographic_LATITUDE = latitude;
+ }
public void addAlternative(GeoTag geotag) {
- alternatives.add(geotag);
- }
+ alternatives.add(geotag);
+ }
/*
* Store resolved geoName entities in a GeoTag
- *
- * @param resolvedGeonames resolved entities
- *
- * @param bestNER best name entity among all the extracted entities for the
- * input stream
- */
- public void toGeoTag(HashMap<String, ArrayList<String>> resolvedGeonames,
- String bestNER) {
+ *
+ * @param resolvedGeonames resolved entities
+ *
+ * @param bestNER best name entity among all the extracted entities for the
+ * input stream
+ */
+ public void toGeoTag(HashMap<String, ArrayList<String>> resolvedGeonames,
+ String bestNER) {
for (String key : resolvedGeonames.keySet()) {
- ArrayList<String> cur = resolvedGeonames.get(key);
- if (key.equals(bestNER)) {
- this.Geographic_NAME = cur.get(0);
- this.Geographic_LONGTITUDE = cur.get(1);
- this.Geographic_LATITUDE = cur.get(2);
- } else {
- GeoTag alter = new GeoTag();
- alter.Geographic_NAME = cur.get(0);
- alter.Geographic_LONGTITUDE = cur.get(1);
- alter.Geographic_LATITUDE = cur.get(2);
- this.addAlternative(alter);
- }
- }
- }
+ ArrayList<String> cur = resolvedGeonames.get(key);
+ if (key.equals(bestNER)) {
+ this.Geographic_NAME = cur.get(0);
+ this.Geographic_LONGTITUDE = cur.get(1);
+ this.Geographic_LATITUDE = cur.get(2);
+ } else {
+ GeoTag alter = new GeoTag();
+ alter.Geographic_NAME = cur.get(0);
+ alter.Geographic_LONGTITUDE = cur.get(1);
+ alter.Geographic_LATITUDE = cur.get(2);
+ this.addAlternative(alter);
+ }
+ }
+ }
}
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/NameEntityExtractor.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/NameEntityExtractor.java?rev=1681542&r1=1681541&r2=1681542&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/NameEntityExtractor.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/geo/topic/NameEntityExtractor.java Mon May 25 01:03:11 2015
@@ -25,84 +25,84 @@ public class NameEntityExtractor {
private HashMap<String, Integer> tf;
public NameEntityExtractor(String nerModelpath) {
- this.locationNameEntities = new ArrayList<String>();
- this.bestNameEntity = null;
- this.nerModelPath = nerModelpath;
- tf = new HashMap<String, Integer>();
+ this.locationNameEntities = new ArrayList<String>();
+ this.bestNameEntity = null;
+ this.nerModelPath = nerModelpath;
+ tf = new HashMap<String, Integer>();
}
/*
* Use OpenNLP to extract location names that's appearing in the steam.
- * OpenNLP's default Name Finder accuracy is not very good, please refer to
- * its documentation.
- *
- * @param stream stream that passed from this.parse()
- */
+ * OpenNLP's default Name Finder accuracy is not very good, please refer to
+ * its documentation.
+ *
+ * @param stream stream that passed from this.parse()
+ */
public void getAllNameEntitiesfromInput(InputStream stream)
- throws InvalidFormatException, IOException {
+ throws InvalidFormatException, IOException {
InputStream modelIn = new FileInputStream(nerModelPath);
- TokenNameFinderModel model = new TokenNameFinderModel(modelIn);
- NameFinderME nameFinder = new NameFinderME(model);
- String[] in = IOUtils.toString(stream, "UTF-8").split(" ");
+ TokenNameFinderModel model = new TokenNameFinderModel(modelIn);
+ NameFinderME nameFinder = new NameFinderME(model);
+ String[] in = IOUtils.toString(stream, "UTF-8").split(" ");
Span nameE[] = nameFinder.find(in);
String spanNames = Arrays.toString(Span.spansToStrings(nameE, in));
- spanNames = spanNames.substring(1, spanNames.length() - 1);
- modelIn.close();
- String[] tmp = spanNames.split(",");
+ spanNames = spanNames.substring(1, spanNames.length() - 1);
+ modelIn.close();
+ String[] tmp = spanNames.split(",");
for (String name : tmp) {
- name = name.trim();
- this.locationNameEntities.add(name);
- }
+ name = name.trim();
+ this.locationNameEntities.add(name);
+ }
}
/*
* Get the best location entity extracted from the input stream. Simply
- * return the most frequent entity, If there several highest frequent
- * entity, pick one randomly. May not be the optimal solution, but works.
- *
- * @param locationNameEntities OpenNLP name finder's results, stored in
- * ArrayList
- */
- public void getBestNameEntity() {
- if (this.locationNameEntities.size() == 0)
- return;
+ * return the most frequent entity, If there several highest frequent
+ * entity, pick one randomly. May not be the optimal solution, but works.
+ *
+ * @param locationNameEntities OpenNLP name finder's results, stored in
+ * ArrayList
+ */
+ public void getBestNameEntity() {
+ if (this.locationNameEntities.size() == 0)
+ return;
for (int i = 0; i < this.locationNameEntities.size(); ++i) {
- if (tf.containsKey(this.locationNameEntities.get(i)))
- tf.put(this.locationNameEntities.get(i),
- tf.get(this.locationNameEntities.get(i)) + 1);
- else
- tf.put(this.locationNameEntities.get(i), 1);
- }
- int max = 0;
- List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(
- tf.entrySet());
- Collections.shuffle(list);
- Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
- public int compare(Map.Entry<String, Integer> o1,
- Map.Entry<String, Integer> o2) {
- return o2.getValue().compareTo(o1.getValue()); // descending
- // order
+ if (tf.containsKey(this.locationNameEntities.get(i)))
+ tf.put(this.locationNameEntities.get(i),
+ tf.get(this.locationNameEntities.get(i)) + 1);
+ else
+ tf.put(this.locationNameEntities.get(i), 1);
+ }
+ int max = 0;
+ List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(
+ tf.entrySet());
+ Collections.shuffle(list);
+ Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
+ public int compare(Map.Entry<String, Integer> o1,
+ Map.Entry<String, Integer> o2) {
+ return o2.getValue().compareTo(o1.getValue()); // descending
+ // order
}
- });
+ });
this.locationNameEntities.clear();// update so that they are in
- // descending order
- for (Map.Entry<String, Integer> entry : list) {
- this.locationNameEntities.add(entry.getKey());
- if (entry.getValue() > max) {
- max = entry.getValue();
- this.bestNameEntity = entry.getKey();
- }
- }
- }
+ // descending order
+ for (Map.Entry<String, Integer> entry : list) {
+ this.locationNameEntities.add(entry.getKey());
+ if (entry.getValue() > max) {
+ max = entry.getValue();
+ this.bestNameEntity = entry.getKey();
+ }
+ }
+ }
}
Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/geo/topic/GeoParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/geo/topic/GeoParserTest.java?rev=1681542&r1=1681541&r2=1681542&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/geo/topic/GeoParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/geo/topic/GeoParserTest.java Mon May 25 01:03:11 2015
@@ -45,52 +45,53 @@ public class GeoParserTest {
@Test
public void testFunctions() throws UnsupportedEncodingException,
- IOException, SAXException, TikaException {
- String text = "The millennial-scale cooling trend that followed the HTM coincides with the decrease in China "
- + "summer insolation driven by slow changes in Earth's orbit. Despite the nearly linear forcing, the transition from the HTM to "
- + "the Little Ice Age (1500-1900 AD) was neither gradual nor uniform. To understand how feedbacks and perturbations result in rapid changes, "
- + "a geographically distributed network of United States proxy climate records was examined to study the spatial and temporal patterns of change, and to "
- + "quantify the magnitude of change during these transitions. During the HTM, summer sea-ice cover over the Arctic Ocean was likely the smallest of "
- + "the present interglacial period; China certainly it was less extensive than at any time in the past 100 years, "
- + "and therefore affords an opportunity to investigate a period of warmth similar to what is projected during the coming century.";
+ IOException, SAXException, TikaException {
+ String text = "The millennial-scale cooling trend that followed the HTM coincides with the decrease in China "
+ + "summer insolation driven by slow changes in Earth's orbit. Despite the nearly linear forcing, the transition from the HTM to "
+ + "the Little Ice Age (1500-1900 AD) was neither gradual nor uniform. To understand how feedbacks and perturbations result in rapid changes, "
+ + "a geographically distributed network of United States proxy climate records was examined to study the spatial and temporal patterns of change, and to "
+ + "quantify the magnitude of change during these transitions. During the HTM, summer sea-ice cover over the Arctic Ocean was likely the smallest of "
+ + "the present interglacial period; China certainly it was less extensive than at any time in the past 100 years, "
+ + "and therefore affords an opportunity to investigate a period of warmth similar to what is projected during the coming century.";
Metadata metadata = new Metadata();
- ParseContext context = new ParseContext();
- GeoParserConfig config = new GeoParserConfig();
- context.set(GeoParserConfig.class, config);
+ ParseContext context = new ParseContext();
+ GeoParserConfig config = new GeoParserConfig();
+ context.set(GeoParserConfig.class, config);
InputStream s = new ByteArrayInputStream(text.getBytes("UTF-8"));
/* if it's not available no tests to run */
- if (!((GeoParser)geoparser).isAvailable()) return;
+ if (!((GeoParser) geoparser).isAvailable())
+ return;
geoparser.parse(s, new BodyContentHandler(), metadata, context);
assertNotNull(metadata.get("Geographic_NAME"));
- assertNotNull(metadata.get("Geographic_LONGITUDE"));
- assertNotNull(metadata.get("Geographic_LATITUDE"));
- assertEquals("China", metadata.get("Geographic_NAME"));
- assertEquals("United States", metadata.get("Optional_NAME1"));
- assertEquals("27.33931", metadata.get("Geographic_LATITUDE"));
- assertEquals("-108.60288", metadata.get("Geographic_LONGITUDE"));
- assertEquals("39.76", metadata.get("Optional_LATITUDE1"));
- assertEquals("-98.5", metadata.get("Optional_LONGITUDE1"));
+ assertNotNull(metadata.get("Geographic_LONGITUDE"));
+ assertNotNull(metadata.get("Geographic_LATITUDE"));
+ assertEquals("China", metadata.get("Geographic_NAME"));
+ assertEquals("United States", metadata.get("Optional_NAME1"));
+ assertEquals("27.33931", metadata.get("Geographic_LATITUDE"));
+ assertEquals("-108.60288", metadata.get("Geographic_LONGITUDE"));
+ assertEquals("39.76", metadata.get("Optional_LATITUDE1"));
+ assertEquals("-98.5", metadata.get("Optional_LONGITUDE1"));
}
@Test
public void testNulls() throws UnsupportedEncodingException, IOException,
- SAXException, TikaException {
- String text = "";
+ SAXException, TikaException {
+ String text = "";
Metadata metadata = new Metadata();
- ParseContext context = new ParseContext();
- GeoParserConfig config = new GeoParserConfig();
- context.set(GeoParserConfig.class, config);
- geoparser.parse(new ByteArrayInputStream(text.getBytes("UTF-8")),
- new BodyContentHandler(), metadata, context);
- assertNull(metadata.get("Geographic_NAME"));
- assertNull(metadata.get("Geographic_LONGITUDE"));
- assertNull(metadata.get("Geographic_LATITUDE"));
+ ParseContext context = new ParseContext();
+ GeoParserConfig config = new GeoParserConfig();
+ context.set(GeoParserConfig.class, config);
+ geoparser.parse(new ByteArrayInputStream(text.getBytes("UTF-8")),
+ new BodyContentHandler(), metadata, context);
+ assertNull(metadata.get("Geographic_NAME"));
+ assertNull(metadata.get("Geographic_LONGITUDE"));
+ assertNull(metadata.get("Geographic_LATITUDE"));
}
}