1236bd8e522bcdedf2bf20b037bf50d768246ef9
[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.common.database.HtDatabaseClient;
32 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.ReleaseInformation;
33
34 public class ElAltoReleaseInformation extends ReleaseInformation {
35
36         
37         private Map<Release, Map<ComponentName, SearchHitConverter>> converters;
38
39         public ElAltoReleaseInformation() {
40                 super(Release.EL_ALTO, createDbInfos());
41                 this.converters = generateConverters();
42         }
43
44         private static Map<ComponentName, DatabaseInfo> createDbInfos() {
45                 Map<ComponentName,DatabaseInfo> map = new HashMap<>();
46                 map.put(ComponentName.EVENTLOG, new DatabaseInfo("sdnevents","eventlog",""));
47                 map.put(ComponentName.FAULTCURRENT, new DatabaseInfo("sdnevents","faultcurrent",""));
48                 map.put(ComponentName.FAULTLOG, new DatabaseInfo("sdnevents","faultlog",""));
49                 map.put(ComponentName.INVENTORY, new DatabaseInfo("sdnevents","inventoryequipment",""));
50                 map.put(ComponentName.INVENTORYTOPLEVEL, new DatabaseInfo("sdnevents","inventorytoplevel",""));
51                 map.put(ComponentName.HISTORICAL_PERFORMANCE_15M, new DatabaseInfo("sdnperformance","historicalperformance15min",""));
52                 map.put(ComponentName.HISTORICAL_PERFORMANCE_24H, new DatabaseInfo("sdnperformance","historicalperformance24h",""));
53                 map.put(ComponentName.REQUIRED_NETWORKELEMENT, new DatabaseInfo("mwtn","required-networkelement","{\"required-networkelement\": {\"date_detection\": false }}"));
54                 map.put(ComponentName.MEDIATOR_SERVER, new DatabaseInfo("mwtn","mediator-server",""));
55                 map.put(ComponentName.MAINTENANCE, new DatabaseInfo("mwtn","maintenancemode",""));
56                 return map;
57         }
58
59         /**
60          * @return components used in el alto
61          */
62         
63         
64         private static Map<Release, Map<ComponentName, SearchHitConverter>> generateConverters() {
65                 Map<Release, Map<ComponentName, SearchHitConverter>> c = new HashMap<>();
66                 Map<ComponentName, SearchHitConverter> frankfurtConverters = new HashMap<>();
67                 frankfurtConverters.put(ComponentName.EVENTLOG, new FrankfurtEventlogConverter());
68                 frankfurtConverters.put(ComponentName.FAULTCURRENT, new FrankfurtFaultcurrentConverter());
69                 frankfurtConverters.put(ComponentName.FAULTLOG, new FrankfurtFaultlogConverter());
70                 frankfurtConverters.put(ComponentName.INVENTORY, new KeepDataSearchHitConverter(ComponentName.INVENTORY));
71                 //obsolete in frankfurt
72                 //frankfurtConverters.put(ComponentName.INVENTORYTOPLEVEL, new KeepDataSearchHitConverter(ComponentName.INVENTORYTOPLEVEL));
73                 frankfurtConverters.put(ComponentName.HISTORICAL_PERFORMANCE_15M, new KeepDataSearchHitConverter(ComponentName.HISTORICAL_PERFORMANCE_15M));
74                 frankfurtConverters.put(ComponentName.HISTORICAL_PERFORMANCE_24H, new KeepDataSearchHitConverter(ComponentName.HISTORICAL_PERFORMANCE_24H));
75                 frankfurtConverters.put(ComponentName.MAINTENANCE, new FrankfurtMaintenanceConverter());
76                 frankfurtConverters.put(ComponentName.MEDIATOR_SERVER, new KeepDataSearchHitConverter(ComponentName.MEDIATOR_SERVER));
77                 frankfurtConverters.put(ComponentName.REQUIRED_NETWORKELEMENT, new FrankfurtRequiredNetworkElementConverter());
78                 frankfurtConverters.put(ComponentName.CONNECTIONLOG,new FrankfurtConnectionlogConverter());
79                 c.put(Release.FRANKFURT_R1,frankfurtConverters);
80                 return c;
81         }
82
83         @Override
84         public SearchHitConverter getConverter(Release dst, ComponentName comp) {
85                 SearchHitConverter c=this.converters.containsKey(dst)?this.converters.get(dst).get(comp):null;
86                 if(c==null) {
87                         c=super.getConverter(dst, comp);
88                 }
89                 return c;
90         }
91
92         @Override
93         protected boolean runPreInitCommands(HtDatabaseClient dbClient) {
94                 return true;
95         }
96
97         @Override
98         protected boolean runPostInitCommands(HtDatabaseClient dbClient) {
99                 return true;
100         }
101         
102 }