Map<String, Integer> unresolvedCodeMap = new TreeMap<String, Integer>();
Map<String, Integer> missingCodeMap = new TreeMap<String, Integer>();
for (Map.Entry<String, Set<GeoName>> entry : unresolvedMap.entrySet()) {
LOG.trace("{}: {} unresolved GeoNames", entry.getKey(), entry.getValue().size());
unresolvedGeoCount += entry.getValue().size();
FeatureCode code;
switch (entry.getKey().split("\\.").length) {
case 1:
code = FeatureCode.PCL;
break;
case 2:
code = FeatureCode.ADM1;
break;
case 3:
code = FeatureCode.ADM2;
break;
case 4:
code = FeatureCode.ADM3;
break;
case 5:
code = FeatureCode.ADM4;
break;
default:
LOG.error("Unexpected ancestry key: {}", entry.getKey());
code = FeatureCode.NULL;
break;
}
if (missingCodeMap.containsKey(code.name())) {
missingCodeMap.put(code.name(), missingCodeMap.get(code.name())+1);
} else {
missingCodeMap.put(code.name(), 1);
}
for (GeoName geo : entry.getValue()) {
String featKey = String.format("%s:%s", geo.getFeatureClass(), geo.getFeatureCode());
if (unresolvedCodeMap.containsKey(featKey)) {