f8319020d1e1d3bdb233b1c4567dcaf3d1997f8e
[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 org.json.JSONObject;
25 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
26 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.BaseSearchHitConverter;
27 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.ComponentName;
28
29 /**
30  * 
31  * @author Michael Dürre { "fault": { "nodeName": "SDN-Controller-5a150173d678", "counter": "380", "timeStamp":
32  *         "2019-10-18T18:40:25.0Z", "objectId": "ADVA-DTAG-Nuernberg-3", "problem": "connectionLossOAM", "severity":
33  *         "Major", "type": "ProblemNotificationXml" } }
34  *
35  *         => { "timestamp": "2017-01-01T00:00:00.0Z", "object-id": "LP-MWPS-RADIO", "severity": "Critical", "counter":
36  *         -1, "node-id": "sim1", "source-type": "Netconf", "problem": "signalIsLost" }
37  *
38  */
39 public class FrankfurtFaultlogConverter extends BaseSearchHitConverter {
40
41     public FrankfurtFaultlogConverter() {
42         super(ComponentName.FAULTLOG);
43     }
44
45     @Override
46     public SearchHit convert(SearchHit source) {
47
48         JSONObject data = new JSONObject();
49         JSONObject src = source.getSource();
50         JSONObject srcInner = src.getJSONObject("fault");
51         data.put("node-id", srcInner.getString("nodeName"));
52         data.put("severity", srcInner.getString("severity"));
53         data.put("counter", Long.parseLong(srcInner.getString("counter")));
54         data.put("timestamp", srcInner.getString("timeStamp"));
55         data.put("object-id", srcInner.getString("objectId"));
56         data.put("problem", srcInner.getString("problem"));
57         data.put("type", "Netconf");
58         return this.getSearchHit(source.getIndex(), source.getType(), source.getId(), data);
59     }
60
61 }