1 package org.onap.aai.sparky.util;
3 import java.util.HashSet;
6 import org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup;
7 import org.onap.aai.sparky.config.oxm.GeoEntityLookup;
8 import org.onap.aai.sparky.config.oxm.OxmEntityContainerLookup;
9 import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
10 import org.onap.aai.sparky.config.oxm.OxmModelLoader;
11 import org.onap.aai.sparky.config.oxm.OxmModelProcessor;
12 import org.onap.aai.sparky.config.oxm.SearchableEntityLookup;
13 import org.onap.aai.sparky.config.oxm.SuggestionEntityLookup;
14 import org.onap.aai.sparky.search.filters.config.FiltersConfig;
16 public class OxmModelAndProcessorHelper {
18 public static int API_VERSION_OVERRIDE = -1;
20 private OxmModelLoader modelLoader;
21 private Set<OxmModelProcessor> processors;
23 private CrossEntityReferenceLookup crossEntityReferenceLookup;
24 private GeoEntityLookup geoEntityLookup;
25 private OxmEntityLookup oxmEntityLookup;
26 private SearchableEntityLookup searchableEntityLookup;
27 private SuggestionEntityLookup suggestionEntityLookup;
28 private OxmEntityContainerLookup oxmEntityContainerLookup;
29 private FiltersConfig filtersConfig;
31 private static OxmModelAndProcessorHelper instance = null;
33 private OxmModelAndProcessorHelper() {
35 this.filtersConfig = new FiltersConfig(SparkyTestConstants.FILTERS_JSON_FILE,
36 SparkyTestConstants.VIEWS_JSON_FILE);
38 this.crossEntityReferenceLookup = new CrossEntityReferenceLookup();
39 this.geoEntityLookup = new GeoEntityLookup();
40 this.oxmEntityLookup = new OxmEntityLookup();
41 this.searchableEntityLookup = new SearchableEntityLookup();
42 this.suggestionEntityLookup = new SuggestionEntityLookup(filtersConfig);
43 this.oxmEntityContainerLookup = new OxmEntityContainerLookup();
45 this.processors = new HashSet<OxmModelProcessor>();
46 processors.add(crossEntityReferenceLookup);
47 processors.add(geoEntityLookup);
48 processors.add(oxmEntityLookup);
49 processors.add(searchableEntityLookup);
50 processors.add(suggestionEntityLookup);
51 processors.add(oxmEntityContainerLookup);
53 this.modelLoader = new OxmModelLoader(API_VERSION_OVERRIDE, processors);
54 modelLoader.loadLatestOxmModel();
57 public static OxmModelAndProcessorHelper getInstance() {
58 if (instance == null) {
59 instance = new OxmModelAndProcessorHelper();
64 public OxmModelLoader getModelLoader() {
68 public void setModelLoader(OxmModelLoader modelLoader) {
69 this.modelLoader = modelLoader;
72 public Set<OxmModelProcessor> getProcessors() {
76 public void setProcessors(Set<OxmModelProcessor> processors) {
77 this.processors = processors;
80 public CrossEntityReferenceLookup getCrossEntityReferenceLookup() {
81 return crossEntityReferenceLookup;
84 public void setCrossEntityReferenceLookup(CrossEntityReferenceLookup crossEntityReferenceLookup) {
85 this.crossEntityReferenceLookup = crossEntityReferenceLookup;
88 public GeoEntityLookup getGeoEntityLookup() {
89 return geoEntityLookup;
92 public void setGeoEntityLookup(GeoEntityLookup geoEntityLookup) {
93 this.geoEntityLookup = geoEntityLookup;
96 public OxmEntityLookup getOxmEntityLookup() {
97 return oxmEntityLookup;
100 public void setOxmEntityLookup(OxmEntityLookup oxmEntityLookup) {
101 this.oxmEntityLookup = oxmEntityLookup;
104 public SearchableEntityLookup getSearchableEntityLookup() {
105 return searchableEntityLookup;
108 public void setSearchableEntityLookup(SearchableEntityLookup searchableEntityLookup) {
109 this.searchableEntityLookup = searchableEntityLookup;
112 public SuggestionEntityLookup getSuggestionEntityLookup() {
113 return suggestionEntityLookup;
116 public void setSuggestionEntityLookup(SuggestionEntityLookup suggestionEntityLookup) {
117 this.suggestionEntityLookup = suggestionEntityLookup;
120 public FiltersConfig getFiltersConfig() {
121 return filtersConfig;
124 public void setFiltersConfig(FiltersConfig filtersConfig) {
125 this.filtersConfig = filtersConfig;
128 public OxmEntityContainerLookup getOxmEntityContainerLookup() {
129 return oxmEntityContainerLookup;
132 public void setOxmEntityContainerLookup(OxmEntityContainerLookup oxmEntityContainerLookup) {
133 this.oxmEntityContainerLookup = oxmEntityContainerLookup;