package me.osm.gazetteer.web.utils; import java.util.Arrays; import java.util.HashSet; import java.util.Properties; import java.util.Set; import org.apache.commons.lang3.StringUtils; public class OSMDocProperties { public void load(Properties p) { setImportDefaultHierarchy(p.getProperty("import.default-hierarchy")); setApiDefaultHierarchy(p.getProperty("api.default-hierarchy")); String[] branches = StringUtils.split(p.getProperty("ignore.branch"), " ,;"); if(branches != null) { setIgnoreBranches(new HashSet<String>(Arrays.asList(branches))); } String[] types = StringUtils.split(p.getProperty("ignore.type"), " ,;"); if(types != null) { setIgnoreBranches(new HashSet<String>(Arrays.asList(types))); } String[] tags = StringUtils.split(p.getProperty("ignore.tags.aggregation"), " ,;"); if(tags != null) { setIgnoreTagsGrouping(new HashSet<String>(Arrays.asList(tags))); } } private String importDefaultHierarchy; private String apiDefaultHierarchy; private Set<String> ignoreBranches = new HashSet<>(); private Set<String> ignoreTypes = new HashSet<>(); private Set<String> ignoreTagsGrouping = new HashSet<>(); public String getImportDefaultHierarchy() { return importDefaultHierarchy; } public void setImportDefaultHierarchy(String importDefaultHierarchy) { this.importDefaultHierarchy = importDefaultHierarchy; } public String getApiDefaultHierarchy() { return apiDefaultHierarchy; } public void setApiDefaultHierarchy(String apiDefaultHierarchy) { this.apiDefaultHierarchy = apiDefaultHierarchy; } public Set<String> getIgnoreBranches() { return ignoreBranches; } public void setIgnoreBranches(Set<String> ignoreBranches) { this.ignoreBranches = ignoreBranches; } public Set<String> getIgnoreTypes() { return ignoreTypes; } public void setIgnoreTypes(Set<String> ignoreTypes) { this.ignoreTypes = ignoreTypes; } public Set<String> getIgnore() { HashSet<String> result = new HashSet<>(); result.addAll(getIgnoreBranches()); result.addAll(getIgnoreTypes()); return result; } public Set<String> getIgnoreTagsGrouping() { return ignoreTagsGrouping; } public void setIgnoreTagsGrouping(Set<String> ignoreTagsGrouping) { this.ignoreTagsGrouping = ignoreTagsGrouping; } }