87e71c612fbc0d8c8e5a44bbac41c65ea01f9843
[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
32  *{
33  *   "fault": {
34  *   "nodeName": "SDN-Controller-5a150173d678",
35  *   "counter": "380",
36  *   "timeStamp": "2019-10-18T18:40:25.0Z",
37  *   "objectId": "ADVA-DTAG-Nuernberg-3",
38  *   "problem": "connectionLossOAM",
39  *   "severity": "Major",
40  *   "type": "ProblemNotificationXml"
41  *  }
42  *}
43  *
44  *  =>
45  *{
46  *    "timestamp": "2017-01-01T00:00:00.0Z",
47  *    "object-id": "LP-MWPS-RADIO",
48  *    "severity": "Critical",
49  *    "counter": -1,
50  *    "node-id": "sim1",
51  *    "source-type": "Netconf",
52  *    "problem": "signalIsLost"
53  *}
54  *
55  */
56 public class FrankfurtFaultlogConverter extends BaseSearchHitConverter{
57
58         public FrankfurtFaultlogConverter() {
59                 super(ComponentName.FAULTLOG);
60         }
61
62         @Override
63         public SearchHit convert(SearchHit source) {
64                 
65                 JSONObject data = new JSONObject();
66                 JSONObject src = source.getSource();
67                 JSONObject srcInner = src.getJSONObject("fault");
68                 data.put("node-id", srcInner.getString("nodeName"));
69                 data.put("severity", srcInner.getString("severity"));
70                 data.put("counter", Long.parseLong(srcInner.getString("counter")));
71                 data.put("timestamp", srcInner.getString("timeStamp"));
72                 data.put("object-id",srcInner.getString("objectId"));
73                 data.put("problem", srcInner.getString("problem"));
74                 data.put("type", "Netconf");
75                 return this.getSearchHit(source.getIndex(), source.getType(), source.getId(), data );
76         }
77
78 }