for (Triple<String, Integer, Integer> t: triples) {
w = str.substring(t.second, t.third);
if (!config.isBlacklistedEntity(w) && !entities.contains(w))
- entities.add(w);
+ entities.add(config.getEntityAlias(w));
}
LOG.exiting(CLASS_NAME, FUNCTION_NAME, entities);
private Category[] categories;
private Language[] languages;
private final Set<String> blacklistedEntities = new HashSet<>();
+ private final HashMap<String, String> entityAliases = new HashMap<>();
private static final String CLASS_NAME = Config.class.getName();
/**
}
private void loadEntities(JsonObject jroot) {
- JsonObject jentities;
+ JsonObject jentities, jaliases;
JsonArray jblacklist;
final String METHOD_NAME = "loadEntities";
jentities = jroot.getJsonObject("entities");
- jblacklist = jentities.getJsonArray("blacklist");
+ jblacklist = jentities.getJsonArray("blacklist");
jblacklist.forEach((jv)-> {
JsonString js;
blacklistedEntities.add(js.getString());
});
+ jaliases = jentities.getJsonObject("aliases");
+ jaliases.forEach((k, v)-> {
+ JsonArray jsources = (JsonArray)v;
+
+ jsources.forEach((jsource)-> {
+ entityAliases.put(((JsonString)jsource).getString(), k);
+ });
+ });
+
LOG.logp(Level.FINEST, CLASS_NAME, METHOD_NAME, " blacklistedEntities=" + blacklistedEntities);
+ LOG.logp(Level.FINEST, CLASS_NAME, METHOD_NAME, " entityAliases=" + entityAliases);
+ }
+
+ public String getEntityAlias(String entity) {
+ String result;
+
+ result = entityAliases.get(entity);
+
+ if (result == null)
+ return entity;
+ else
+ return result;
}
public void loadConfig() throws UnsupportedEncodingException {