559468f7976ce7adbf0108804abd90b81acae92e
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
6  * All rights reserved.
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
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
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=========================================================
20  *
21  */
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.elalto;
23
24 import java.util.HashMap;
25 import java.util.Map;
26 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.ComponentName;
27 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.DatabaseInfo;
28 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.KeepDataSearchHitConverter;
29 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.Release;
30 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.SearchHitConverter;
31 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.ReleaseInformation;
32
33 public class ElAltoReleaseInformation extends ReleaseInformation {
34
35         
36         private Map<Release, Map<ComponentName, SearchHitConverter>> converters;
37
38         public ElAltoReleaseInformation() {
39                 super(Release.EL_ALTO, createDbInfos());
40                 this.converters = generateConverters();
41         }
42
43         private static Map<ComponentName, DatabaseInfo> createDbInfos() {
44                 Map<ComponentName,DatabaseInfo> map = new HashMap<>();
45                 map.put(ComponentName.EVENTLOG, new DatabaseInfo("sdnevents","eventlog",""));
46                 map.put(ComponentName.FAULTCURRENT, new DatabaseInfo("sdnevents","faultcurrent",""));
47                 map.put(ComponentName.FAULTLOG, new DatabaseInfo("sdnevents","faultlog",""));
48                 map.put(ComponentName.INVENTORY, new DatabaseInfo("sdnevents","inventoryequipment",""));
49                 map.put(ComponentName.INVENTORYTOPLEVEL, new DatabaseInfo("sdnevents","inventorytoplevel",""));
50                 map.put(ComponentName.HISTORICAL_PERFORMANCE_15M, new DatabaseInfo("sdnperformance","historicalperformance15min",""));
51                 map.put(ComponentName.HISTORICAL_PERFORMANCE_24H, new DatabaseInfo("sdnperformance","historicalperformance24h",""));
52                 map.put(ComponentName.REQUIRED_NETWORKELEMENT, new DatabaseInfo("mwtn","required-networkelement","{\"required-networkelement\": {\"date_detection\": false }}"));
53                 map.put(ComponentName.MEDIATOR_SERVER, new DatabaseInfo("mwtn","mediator-server",""));
54                 map.put(ComponentName.MAINTENANCE, new DatabaseInfo("mwtn","maintenancemode",""));
55                 return map;
56         }
57
58         /**
59          * @return components used in el alto
60          */
61         
62         
63         private static Map<Release, Map<ComponentName, SearchHitConverter>> generateConverters() {
64                 Map<Release, Map<ComponentName, SearchHitConverter>> c = new HashMap<>();
65                 Map<ComponentName, SearchHitConverter> frankfurtConverters = new HashMap<>();
66                 frankfurtConverters.put(ComponentName.EVENTLOG, new FrankfurtEventlogConverter());
67                 frankfurtConverters.put(ComponentName.FAULTCURRENT, new FrankfurtFaultcurrentConverter());
68                 frankfurtConverters.put(ComponentName.FAULTLOG, new FrankfurtFaultlogConverter());
69                 frankfurtConverters.put(ComponentName.INVENTORY, new KeepDataSearchHitConverter(ComponentName.INVENTORY));
70                 //obsolete in frankfurt
71                 //frankfurtConverters.put(ComponentName.INVENTORYTOPLEVEL, new KeepDataSearchHitConverter(ComponentName.INVENTORYTOPLEVEL));
72                 frankfurtConverters.put(ComponentName.HISTORICAL_PERFORMANCE_15M, new KeepDataSearchHitConverter(ComponentName.HISTORICAL_PERFORMANCE_15M));
73                 frankfurtConverters.put(ComponentName.HISTORICAL_PERFORMANCE_24H, new KeepDataSearchHitConverter(ComponentName.HISTORICAL_PERFORMANCE_24H));
74                 frankfurtConverters.put(ComponentName.MAINTENANCE, new FrankfurtMaintenanceConverter());
75                 frankfurtConverters.put(ComponentName.MEDIATOR_SERVER, new KeepDataSearchHitConverter(ComponentName.MEDIATOR_SERVER));
76                 frankfurtConverters.put(ComponentName.REQUIRED_NETWORKELEMENT, new FrankfurtRequiredNetworkElementConverter());
77                 frankfurtConverters.put(ComponentName.CONNECTIONLOG,new FrankfurtConnectionlogConverter());
78                 c.put(Release.FRANKFURT_R1,frankfurtConverters);
79                 return c;
80         }
81
82         @Override
83         public SearchHitConverter getConverter(Release dst, ComponentName comp) {
84                 SearchHitConverter c=this.converters.containsKey(dst)?this.converters.get(dst).get(comp):null;
85                 if(c==null) {
86                         c=super.getConverter(dst, comp);
87                 }
88                 return c;
89         }
90         
91         
92 }