1 package org.onap.aai.sparky.util;
3 import java.io.IOException;
4 import java.util.HashSet;
7 import org.onap.aai.sparky.config.SparkyResourceLoader;
8 import org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup;
9 import org.onap.aai.sparky.config.oxm.GeoEntityLookup;
10 import org.onap.aai.sparky.config.oxm.OxmEntityContainerLookup;
11 import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
12 import org.onap.aai.sparky.config.oxm.OxmModelLoader;
13 import org.onap.aai.sparky.config.oxm.OxmModelProcessor;
14 import org.onap.aai.sparky.config.oxm.SearchableEntityLookup;
15 import org.onap.aai.sparky.config.oxm.SuggestionEntityLookup;
16 import org.onap.aai.sparky.search.filters.config.FiltersConfig;
17 import org.springframework.core.io.DefaultResourceLoader;
19 public class OxmModelAndProcessorHelper {
21 public static String API_VERSION_OVERRIDE = "v11";
23 private OxmModelLoader modelLoader;
24 private Set<OxmModelProcessor> processors;
26 private CrossEntityReferenceLookup crossEntityReferenceLookup;
27 private GeoEntityLookup geoEntityLookup;
28 private OxmEntityLookup oxmEntityLookup;
29 private SearchableEntityLookup searchableEntityLookup;
30 private SuggestionEntityLookup suggestionEntityLookup;
31 private OxmEntityContainerLookup oxmEntityContainerLookup;
32 private FiltersConfig filtersConfig;
34 private static OxmModelAndProcessorHelper instance = null;
36 private OxmModelAndProcessorHelper() throws IOException {
38 SparkyResourceLoader resourceLoader = new SparkyResourceLoader();
39 resourceLoader.setResourceLoader(new DefaultResourceLoader());
41 this.filtersConfig = new FiltersConfig();
42 this.filtersConfig.initializeFiltersDetailsConfig(resourceLoader.getResourceAsFile(SparkyTestConstants.FILTERS_JSON_FILE, false));
43 this.filtersConfig.initializeFiltersForViewsConfig(resourceLoader.getResourceAsFile(SparkyTestConstants.VIEWS_JSON_FILE, false));
45 this.crossEntityReferenceLookup = new CrossEntityReferenceLookup();
46 this.geoEntityLookup = new GeoEntityLookup();
47 this.oxmEntityLookup = new OxmEntityLookup();
48 this.searchableEntityLookup = new SearchableEntityLookup();
49 this.suggestionEntityLookup = new SuggestionEntityLookup(filtersConfig);
50 this.oxmEntityContainerLookup = new OxmEntityContainerLookup();
52 this.processors = new HashSet<OxmModelProcessor>();
53 processors.add(crossEntityReferenceLookup);
54 processors.add(geoEntityLookup);
55 processors.add(oxmEntityLookup);
56 processors.add(searchableEntityLookup);
57 processors.add(suggestionEntityLookup);
58 processors.add(oxmEntityContainerLookup);
59 this.modelLoader = new OxmModelLoader(API_VERSION_OVERRIDE, processors, null);
63 public static OxmModelAndProcessorHelper getInstance() throws IOException {
64 if (instance == null) {
65 instance = new OxmModelAndProcessorHelper();
70 public OxmModelLoader getModelLoader() {
74 public void setModelLoader(OxmModelLoader modelLoader) {
75 this.modelLoader = modelLoader;
78 public Set<OxmModelProcessor> getProcessors() {
82 public void setProcessors(Set<OxmModelProcessor> processors) {
83 this.processors = processors;
86 public CrossEntityReferenceLookup getCrossEntityReferenceLookup() {
87 return crossEntityReferenceLookup;
90 public void setCrossEntityReferenceLookup(CrossEntityReferenceLookup crossEntityReferenceLookup) {
91 this.crossEntityReferenceLookup = crossEntityReferenceLookup;
94 public GeoEntityLookup getGeoEntityLookup() {
95 return geoEntityLookup;
98 public void setGeoEntityLookup(GeoEntityLookup geoEntityLookup) {
99 this.geoEntityLookup = geoEntityLookup;
102 public OxmEntityLookup getOxmEntityLookup() {
103 return oxmEntityLookup;
106 public void setOxmEntityLookup(OxmEntityLookup oxmEntityLookup) {
107 this.oxmEntityLookup = oxmEntityLookup;
110 public SearchableEntityLookup getSearchableEntityLookup() {
111 return searchableEntityLookup;
114 public void setSearchableEntityLookup(SearchableEntityLookup searchableEntityLookup) {
115 this.searchableEntityLookup = searchableEntityLookup;
118 public SuggestionEntityLookup getSuggestionEntityLookup() {
119 return suggestionEntityLookup;
122 public void setSuggestionEntityLookup(SuggestionEntityLookup suggestionEntityLookup) {
123 this.suggestionEntityLookup = suggestionEntityLookup;
126 public FiltersConfig getFiltersConfig() {
127 return filtersConfig;
130 public void setFiltersConfig(FiltersConfig filtersConfig) {
131 this.filtersConfig = filtersConfig;
134 public OxmEntityContainerLookup getOxmEntityContainerLookup() {
135 return oxmEntityContainerLookup;
138 public void setOxmEntityContainerLookup(OxmEntityContainerLookup oxmEntityContainerLookup) {
139 this.oxmEntityContainerLookup = oxmEntityContainerLookup;