in geoentitylinker-addon/src/main/java/opennlp/addons/geoentitylinker/AdminBoundaryContextGenerator.java [334:375]
private void loadMaps(List<AdminBoundary> boundaries) {
for (AdminBoundary adm : boundaries) {
if (!adm.getCountryCode().equals("null")) {
countryMap.put(adm.getCountryCode(), adm.getCountryName());
if (countryRegexMap.containsKey(adm.getCountryCode())) {
String currentRegex = countryRegexMap.get(adm.getCountryCode());
if (currentRegex.length() > adm.getCountryRegex().length()) {
// the longest one wins if they are not all the same for each entry in the file
countryRegexMap.put(adm.getCountryCode(), currentRegex);
}//else do nothing
} else {
countryRegexMap.put(adm.getCountryCode(), adm.getCountryRegex());
}
if (!adm.getProvCode().equals("null")) {
Map<String, String> provs = provMap.get(adm.getCountryCode());
if (provs == null) {
provs = new HashMap<>();
}
//if (!provs.containsKey(adm.getProvCode())) {
provs.put(adm.getCountryCode() + "." + adm.getProvCode(), adm.getProvinceName());
provMap.put(adm.getCountryCode(), provs);
// }
if (!adm.getCountyCode().equalsIgnoreCase("no_data_found") && !adm.getCountyName().equalsIgnoreCase("no_data_found")) {
Map<String, String> counties = countyMap.get(adm.getCountryCode() + "." + adm.getProvCode());
if (counties == null) {
counties = new HashMap<>();
} // if (!counties.containsKey(adm.getCountyCode())) {
String countyid = adm.getCountryCode() + "." + adm.getProvCode() + "." + adm.getCountyCode();
counties.put(countyid, adm.getCountyName());
countyMap.put(adm.getCountryCode() + "." + adm.getProvCode(), counties);
// }
}
}
}
}
fillProvRegexMap();
fillCountyRegexMap();
}