aai-schema and ingest fixes
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / util / OxmModelAndProcessorHelper.java
1 package org.onap.aai.sparky.util;
2
3 import java.io.IOException;
4 import java.util.HashSet;
5 import java.util.Set;
6
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;
18
19 public class OxmModelAndProcessorHelper {
20
21         public static String API_VERSION_OVERRIDE = "v11";
22
23         private OxmModelLoader modelLoader;
24         private Set<OxmModelProcessor> processors;
25
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;
33
34         private static OxmModelAndProcessorHelper instance = null;
35
36         private OxmModelAndProcessorHelper() throws IOException {
37
38           SparkyResourceLoader resourceLoader = new SparkyResourceLoader();
39           resourceLoader.setResourceLoader(new DefaultResourceLoader());
40           
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));
44
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();
51
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);
60                 
61         }
62
63         public static OxmModelAndProcessorHelper getInstance() throws IOException {
64                 if (instance == null) {
65                         instance = new OxmModelAndProcessorHelper();
66                 }
67                 return instance;
68         }
69
70         public OxmModelLoader getModelLoader() {
71                 return modelLoader;
72         }
73
74         public void setModelLoader(OxmModelLoader modelLoader) {
75                 this.modelLoader = modelLoader;
76         }
77
78         public Set<OxmModelProcessor> getProcessors() {
79                 return processors;
80         }
81
82         public void setProcessors(Set<OxmModelProcessor> processors) {
83                 this.processors = processors;
84         }
85
86         public CrossEntityReferenceLookup getCrossEntityReferenceLookup() {
87                 return crossEntityReferenceLookup;
88         }
89
90         public void setCrossEntityReferenceLookup(CrossEntityReferenceLookup crossEntityReferenceLookup) {
91                 this.crossEntityReferenceLookup = crossEntityReferenceLookup;
92         }
93
94         public GeoEntityLookup getGeoEntityLookup() {
95                 return geoEntityLookup;
96         }
97
98         public void setGeoEntityLookup(GeoEntityLookup geoEntityLookup) {
99                 this.geoEntityLookup = geoEntityLookup;
100         }
101
102         public OxmEntityLookup getOxmEntityLookup() {
103                 return oxmEntityLookup;
104         }
105
106         public void setOxmEntityLookup(OxmEntityLookup oxmEntityLookup) {
107                 this.oxmEntityLookup = oxmEntityLookup;
108         }
109
110         public SearchableEntityLookup getSearchableEntityLookup() {
111                 return searchableEntityLookup;
112         }
113
114         public void setSearchableEntityLookup(SearchableEntityLookup searchableEntityLookup) {
115                 this.searchableEntityLookup = searchableEntityLookup;
116         }
117
118         public SuggestionEntityLookup getSuggestionEntityLookup() {
119                 return suggestionEntityLookup;
120         }
121
122         public void setSuggestionEntityLookup(SuggestionEntityLookup suggestionEntityLookup) {
123                 this.suggestionEntityLookup = suggestionEntityLookup;
124         }
125
126         public FiltersConfig getFiltersConfig() {
127                 return filtersConfig;
128         }
129
130         public void setFiltersConfig(FiltersConfig filtersConfig) {
131                 this.filtersConfig = filtersConfig;
132         }
133
134         public OxmEntityContainerLookup getOxmEntityContainerLookup() {
135                 return oxmEntityContainerLookup;
136         }
137
138         public void setOxmEntityContainerLookup(OxmEntityContainerLookup oxmEntityContainerLookup) {
139                 this.oxmEntityContainerLookup = oxmEntityContainerLookup;
140         }
141
142 }