package eu.dnetlib.pace.config; import java.io.Serializable; import java.util.List; import java.util.Map; import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.collect.Maps; import com.ibm.icu.text.Transliterator; import eu.dnetlib.pace.common.AbstractPaceFunctions; import eu.dnetlib.pace.model.ClusteringDef; import eu.dnetlib.pace.model.FieldDef; import eu.dnetlib.pace.tree.support.TreeNodeDef; import eu.dnetlib.pace.util.PaceResolver; public class PaceConfig extends AbstractPaceFunctions implements Serializable { private List model; private List clustering; private Map decisionTree; private Map> blacklists; private Map> synonyms; @JsonIgnore private Map translationMap; public Map getModelMap() { return modelMap; } @JsonIgnore private Map modelMap; @JsonIgnore public static PaceResolver resolver = new PaceResolver(); public PaceConfig() { } public void initModel() { modelMap = Maps.newHashMap(); for (FieldDef fd : getModel()) { modelMap.put(fd.getName(), fd); } } public void initTranslationMap() { translationMap = Maps.newHashMap(); Transliterator transliterator = Transliterator.getInstance("Any-Eng"); for (String key : synonyms.keySet()) { for (String term : synonyms.get(key)) { translationMap .put( fixAliases(transliterator.transliterate(term.toLowerCase())), key); } } } public Map translationMap() { return translationMap; } public List getModel() { return model; } public void setModel(final List model) { this.model = model; } public List getClustering() { return clustering; } public void setClustering(final List clustering) { this.clustering = clustering; } public Map getDecisionTree() { return decisionTree; } public void setDecisionTree(Map decisionTree) { this.decisionTree = decisionTree; } public Map> getBlacklists() { return blacklists; } public void setBlacklists(final Map> blacklists) { this.blacklists = blacklists; } public Map> getSynonyms() { return synonyms; } public void setSynonyms(Map> synonyms) { this.synonyms = synonyms; } }