2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 * Copyright © 2017-2018 Amdocs
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.aai.sparky.search.filters.config;
24 import java.io.IOException;
26 import org.onap.aai.cl.api.Logger;
27 import org.onap.aai.cl.eelf.LoggerFactory;
28 import org.onap.aai.sparky.config.SparkyResourceLoader;
29 import org.onap.aai.sparky.logging.AaiUiMsgs;
31 import com.fasterxml.jackson.databind.ObjectMapper;
33 public class FiltersConfig {
35 private static final Logger LOG = LoggerFactory.getInstance().getLogger(FiltersConfig.class);
37 private String filtersFileName;
39 private String viewsFileName;
41 private FiltersForViewsConfig viewsConfig;
43 private FiltersDetailsConfig filtersConfig;
45 private SparkyResourceLoader resourceLoader;
47 public FiltersConfig() {
51 public FiltersConfig(String filtersFileName, String viewsFileName, SparkyResourceLoader resourceLoader) {
52 this.filtersFileName = filtersFileName;
53 this.viewsFileName = viewsFileName;
54 this.resourceLoader = resourceLoader;
62 private void initializeFilters() {
63 viewsConfig = this.readUiViewsConfig();
64 filtersConfig = this.readUiFiltersConfig();
67 public String getViewsFileName() {
71 public void setViewsFileName(String viewsFileName) {
72 this.viewsFileName = viewsFileName;
75 public String getFiltersFileName() {
76 return filtersFileName;
79 public void setFiltersFileName(String filtersFileName) {
80 this.filtersFileName = filtersFileName;
83 public FiltersForViewsConfig getViewsConfig() {
87 public void setViewsConfig(FiltersForViewsConfig filtersMapEntity) {
88 this.viewsConfig = filtersMapEntity;
91 public FiltersDetailsConfig getFiltersConfig() {
95 public UiFilterConfig getFilterById(String filterId) {
96 for ( UiFilterConfig filter : filtersConfig.getFilters()) {
97 if ( filter.getFilterId().equals(filterId)) {
105 public void setFiltersConfig(FiltersDetailsConfig filtersConfig) {
106 this.filtersConfig = filtersConfig;
109 public FiltersDetailsConfig readUiFiltersConfig() {
110 ObjectMapper mapper = new ObjectMapper();
111 FiltersDetailsConfig filtersConfig = null;
113 filtersConfig = mapper.readValue(resourceLoader.getResourceAsFile(this.getFiltersFileName(), true), FiltersDetailsConfig.class);
114 } catch (Exception e){
115 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, this.getFiltersFileName());
118 return filtersConfig;
121 public FiltersForViewsConfig readUiViewsConfig() {
122 ObjectMapper mapper = new ObjectMapper();
123 FiltersForViewsConfig viewsConfig = null;
126 viewsConfig = mapper.readValue(resourceLoader.getResourceAsFile(this.getViewsFileName(), true), FiltersForViewsConfig.class);
127 } catch (Exception e){
128 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, this.getViewsFileName());
134 public void initializeFiltersDetailsConfig(File filtersFile) {
135 ObjectMapper mapper = new ObjectMapper();
137 this.filtersConfig = mapper.readValue(filtersFile, FiltersDetailsConfig.class);
138 } catch (Exception e){
139 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, filtersFile.getAbsolutePath());
143 public void initializeFiltersForViewsConfig(File viewsFile) {
144 ObjectMapper mapper = new ObjectMapper();
147 this.viewsConfig = mapper.readValue(viewsFile, FiltersForViewsConfig.class);
148 } catch (Exception e){
149 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, viewsFile.getAbsolutePath());
153 public File getFiltersFile() {
154 File toReturn = null;
156 toReturn = resourceLoader.getResourceAsFile(this.getFiltersFileName(), true);
157 } catch (IOException e) {
158 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, this.getFiltersFileName());
163 public File getViewsFile() {
164 File toReturn = null;
167 toReturn = resourceLoader.getResourceAsFile(this.getViewsFileName(), true);
168 } catch (IOException e) {
169 LOG.error(AaiUiMsgs.ERROR_READING_JSON_SCHEMA, this.getViewsFileName());