Revert "update common and data-provider"
[ccsdk/features.git] / sdnr / wt / data-provider / provider / src / test / java / org / onap / ccsdk / features / sdnr / wt / dataprovider / test / TestCRUDforDatabase.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2019 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.test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotEquals;
26 import static org.junit.Assert.assertNotNull;
27 import static org.junit.Assert.assertNull;
28 import static org.junit.Assert.assertTrue;
29 import static org.junit.Assert.fail;
30 import java.io.IOException;
31 import java.math.BigInteger;
32 import java.util.List;
33 import java.util.concurrent.TimeUnit;
34 import org.junit.BeforeClass;
35 import org.junit.Test;
36 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
37 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
38 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
39 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
40 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
41 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.BaseRequest;
42 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.ElasticSearchDataProvider;
43 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
44 import org.onap.ccsdk.features.sdnr.wt.dataprovider.test.util.HostInfoForTest;
45 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.YangToolsMapper2;
46 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInput;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInputBuilder;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceOutputBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInput;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInputBuilder;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerOutputBuilder;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInput;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInputBuilder;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionOutputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInput;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInput;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInput;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GranularityPeriodType;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInput;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListOutputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInput;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInputBuilder;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListOutputBuilder;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInput;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInputBuilder;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListOutputBuilder;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInput;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInputBuilder;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListOutputBuilder;
78 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInput;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInputBuilder;
80 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListOutputBuilder;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInput;
82 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInputBuilder;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListOutputBuilder;
84 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInput;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInputBuilder;
86 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListOutputBuilder;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInput;
88 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInputBuilder;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListOutputBuilder;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInput;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInputBuilder;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListOutputBuilder;
93 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInput;
94 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInputBuilder;
95 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
96 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInput;
97 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInputBuilder;
98 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListOutputBuilder;
99 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInput;
100 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInputBuilder;
101 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListOutputBuilder;
102 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInput;
103 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInputBuilder;
104 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListOutputBuilder;
105 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInput;
106 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInputBuilder;
107 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListOutputBuilder;
108 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
109 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInput;
110 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInputBuilder;
111 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceOutputBuilder;
112 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInput;
113 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInputBuilder;
114 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerOutputBuilder;
115 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
116 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInputBuilder;
117 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
118 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterBuilder;
119 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterKey;
120 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Pagination;
121 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.PaginationBuilder;
122 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data;
123
124 public class TestCRUDforDatabase {
125
126     private static ElasticSearchDataProvider dbProvider;
127     private static HtDatabaseClient dbRawProvider;
128
129     @BeforeClass
130     public static void init() throws Exception {
131
132         HostInfo[] hosts = HostInfoForTest.get();
133         dbProvider = new ElasticSearchDataProvider(hosts);
134         dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
135         dbRawProvider = HtDatabaseClient.getClient(hosts);
136     }
137
138     public static void trySleep(long ms) {
139         try {
140             Thread.sleep(ms);
141         } catch (Exception e) {
142             Thread.currentThread().interrupt();
143         }
144     }
145
146     public static void trySleep() {
147         trySleep(0);
148     }
149
150     @Test
151     public void testStatus() throws IOException {
152
153         //== CLEAR AND CREATE ================================
154         clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
155                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
156                 SeverityType.Critical);
157         createFaultEntity("Lorem Ipsum", Entity.Faultcurrent.getName(),
158                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
159                 SeverityType.Major);
160         createFaultEntity("3", Entity.Faultcurrent.getName(),
161                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
162                 SeverityType.Minor);
163         createFaultEntity("4", Entity.Faultcurrent.getName(),
164                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
165                 SeverityType.Warning);
166
167         //== READ ================================
168
169         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.status.output.Data> readOutput =
170                 dbProvider.readStatus().getData();
171         System.out.println(readOutput);
172
173         assertEquals(1, readOutput.get(0).getFaults().getMajors().intValue());
174         assertEquals(1, readOutput.get(0).getFaults().getMinors().intValue());
175         assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
176         assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
177
178         //== DELETE ================================
179
180         System.out.println("try to delete entries");
181         try {
182             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
183         } catch (Exception e) {
184             fail("problem deleting entry: " + e.getMessage());
185         }
186
187         //== VERIFY DELETE ===========================
188         System.out.println("verify entries were deleted");
189         readOutput = dbProvider.readStatus().getData();
190         assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
191         assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
192         assertEquals(0, readOutput.get(0).getFaults().getWarnings().intValue());
193         assertEquals(0, readOutput.get(0).getFaults().getCriticals().intValue());
194     }
195
196     @Test
197     public void testMediatorServer() {
198         final String NAME = "ms1";
199         final String URL = "http://11.23.45.55:4599";
200         final String NAME2 = "ms1-nu";
201         final String URL2 = "http://11.23.45.56:4599";
202
203         // ==CLEAR BEFORE TEST============================
204         System.out.println("try to clear entry");
205         try {
206             dbRawProvider.doRemove(Entity.MediatorServer.getName(), QueryBuilders.matchAllQuery());
207         } catch (Exception e) {
208             fail("problem deleting entry: " + e.getMessage());
209         }
210         trySleep();
211         // ==CREATE============================
212         System.out.println("try to create entry");
213         CreateMediatorServerOutputBuilder createOutput = null;
214         CreateMediatorServerInput input = new CreateMediatorServerInputBuilder().setName(NAME).setUrl(URL).build();
215         String dbId = null;
216
217         try {
218             createOutput = dbProvider.createMediatorServer(input);
219             dbId = createOutput.getId();
220             System.out.println(createOutput);
221         } catch (Exception e) {
222             fail("failed to create " + input.toString() + ":" + e.getMessage());
223         }
224         assertNotNull(createOutput);
225         assertNotNull(dbId);
226         trySleep();
227         // ==READ===========================
228         System.out.println("try to read entry");
229         ReadMediatorServerListInput readinput = new ReadMediatorServerListInputBuilder()
230                 .setFilter(YangHelper2.getListOrMap(FilterKey.class,new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
231                 .setPagination(getPagination(20, 1)).build();
232         ReadMediatorServerListOutputBuilder readoutput = dbProvider.readMediatorServerList(readinput);
233         List<Data> data = readoutput.getData();
234         assertNotNull(data);
235         assertEquals("no entry found", 1, data.size());
236         assertEquals(NAME, data.get(0).getName());
237         assertEquals(URL, data.get(0).getUrl());
238         String dbId2 = data.get(0).getId();
239         assertEquals(dbId, dbId2);
240         System.out.println(data);
241         // ==UPDATE============================
242         System.out.println("try to update entry");
243         UpdateMediatorServerInput updateInput =
244                 new UpdateMediatorServerInputBuilder().setId(dbId2).setName(NAME2).setUrl(URL2).build();
245         UpdateMediatorServerOutputBuilder updateOutput = null;
246         try {
247             updateOutput = dbProvider.updateMediatorServer(updateInput);
248             System.out.println(updateOutput);
249         } catch (Exception e) {
250             fail("problem updating entry:" + e.getMessage());
251         }
252         assertNotNull(updateOutput);
253         trySleep();
254         // ==READ============================
255         System.out.println("try to read entry");
256         readinput = new ReadMediatorServerListInputBuilder()
257                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
258                 .setPagination(getPagination(20, 1)).build();
259         readoutput = dbProvider.readMediatorServerList(readinput);
260         data = readoutput.getData();
261         System.out.println(data);
262         assertNotNull("no update response", data);
263         assertEquals("update not verifiied", 1, data.size());
264         assertEquals("update not verifiied", NAME2, data.get(0).getName());
265         assertEquals("update not verifiied", URL2, data.get(0).getUrl());
266         assertEquals("update not verifiied", dbId, data.get(0).getId());
267         // ==DELETE============================
268         System.out.println("try to delete entry");
269         DeleteMediatorServerInput deleteInput = new DeleteMediatorServerInputBuilder().setId(dbId).build();
270         try {
271             dbProvider.deleteMediatorServer(deleteInput);
272         } catch (Exception e) {
273             fail("problem deleting entry: " + e.getMessage());
274         }
275
276         trySleep();
277         // ==READ/VERIFY DELETE============================
278         System.out.println("try to read entry");
279         readinput = new ReadMediatorServerListInputBuilder()
280                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
281                 .setPagination(getPagination(20, 1)).build();
282         readoutput = dbProvider.readMediatorServerList(readinput);
283         data = readoutput.getData();
284         assertNotNull("delete not verifiied", data);
285         assertEquals("delete not verifiied", 0, data.size());
286     }
287
288     @Test
289     public void testNetworkElementConnectionCurrent() {
290
291         System.out.println("networkElementConnection test start");
292
293         // ==CLEAR BEFORE TEST============================
294         System.out.println("try to clear entry");
295         try {
296             dbRawProvider.doRemove(Entity.NetworkelementConnection.getName(), QueryBuilders.matchAllQuery());
297         } catch (Exception e) {
298             fail("problem deleting entry: " + e.getMessage());
299         }
300
301         // ==CREATE============================
302         System.out.println("try to create");
303         final String name = "sim87";
304         final String url = "10.5.10.1";
305         final long port = 5959;
306
307         CreateNetworkElementConnectionOutputBuilder create = null;
308         CreateNetworkElementConnectionInput input = new CreateNetworkElementConnectionInputBuilder().setNodeId(name)
309                 .setIsRequired(true).setHost(url).setPort(port).build();
310         String dbId = null;
311
312         try {
313             create = dbProvider.createNetworkElementConnection(input);
314             dbId = create.getId();
315         } catch (Exception e) {
316             fail("networkElementConnection create failed" + e.getMessage());
317         }
318
319         assertNotNull(dbId);
320         assertNotNull(create);
321
322         // ==READ===========================
323
324         ReadNetworkElementConnectionListInput readInput = new ReadNetworkElementConnectionListInputBuilder()
325                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
326                 .setPagination(getPagination(20, 1)).build();
327
328         ReadNetworkElementConnectionListOutputBuilder readOperation =
329                 dbProvider.readNetworkElementConnectionList(readInput);
330         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> data =
331                 readOperation.getData();
332
333         assertNotNull(data);
334         assertEquals(dbId, data.get(0).getId());
335         assertEquals(name, data.get(0).getNodeId());
336         assertEquals(url, data.get(0).getHost());
337         assertEquals(port, data.get(0).getPort().longValue());
338
339         // ==UPDATE============================
340         System.out.println("Trying to update...");
341         final String url2 = "10.5.10.2";
342         final long port2 = 5960;
343
344         UpdateNetworkElementConnectionInput updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId)
345                 .setHost(url2).setPort(port2).setIsRequired(false).build();
346         UpdateNetworkElementConnectionOutputBuilder updateOutput = null;
347         try {
348             updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
349         } catch (Exception e) {
350             fail("update failed: " + e.getMessage());
351         }
352
353         assertNotNull(updateOutput);
354
355         // == Verify UPDATE============================
356         System.out.println("Verfiying update...");
357
358         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
359         data = readOperation.getData();
360
361         assertNotNull(data);
362         assertEquals(url2, data.get(0).getHost());
363         assertEquals(port2, data.get(0).getPort().longValue());
364
365         // ==PARTIAL UPDATE============================
366         System.out.println("Try partial update...");
367         assertEquals(false, data.get(0).isIsRequired());
368         updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId).setIsRequired(true).build();
369         try {
370             updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
371         } catch (Exception e) {
372             fail("update failed: " + e.getMessage());
373         }
374
375         assertNotNull(updateOutput);
376
377         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
378         data = readOperation.getData();
379
380         assertEquals(true, data.get(0).isIsRequired());
381         assertEquals(url2, data.get(0).getHost());
382         assertEquals(port2, data.get(0).getPort().longValue());
383
384         // ==DELETE============================
385         System.out.println("Try delete...");
386
387         DeleteNetworkElementConnectionInput deleteInput =
388                 new DeleteNetworkElementConnectionInputBuilder().setId(dbId).build();
389         try {
390             dbProvider.deleteNetworkElementConnection(deleteInput);
391         } catch (Exception e) {
392             fail("problem deleting " + e.getMessage());
393         }
394
395         readInput = new ReadNetworkElementConnectionListInputBuilder()
396                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
397                 .setPagination(getPagination(20, 1)).build();
398         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
399         data = readOperation.getData();
400         assertEquals(0, data.size());
401
402     }
403
404     @Test
405     public void testMaintenance() {
406         System.out.println("Starting Maintenance tests...");
407
408         // ==CLEAR BEFORE TEST============================
409         System.out.println("try to clear entry");
410         try {
411             dbRawProvider.doRemove(Entity.Maintenancemode.getName(), QueryBuilders.matchAllQuery());
412         } catch (Exception e) {
413             fail("problem deleting entry: " + e.getMessage());
414         }
415
416         // ==CREATE============================
417
418         final String nodeId = "Lorem Ipsum";
419         final boolean isActive = true;
420
421         CreateMaintenanceOutputBuilder create = null;
422         CreateMaintenanceInput input =
423                 new CreateMaintenanceInputBuilder().setNodeId(nodeId).setActive(isActive).build();
424         String dbId = null;
425         try {
426             create = dbProvider.createMaintenance(input);
427             dbId = create.getId();
428         } catch (Exception e) {
429             fail("Failed to create:" + e.getMessage());
430         }
431
432         System.out.println(dbId);
433         assertNotNull(create);
434         assertNotNull(dbId);
435
436         // ==READ===========================
437         System.out.println("Try read...");
438
439         ReadMaintenanceListInput readinput = new ReadMaintenanceListInputBuilder()
440                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
441                 .setPagination(getPagination(20, 1)).build();
442         ReadMaintenanceListOutputBuilder readResult = dbProvider.readMaintenanceList(readinput);
443         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> data =
444                 readResult.getData();
445
446         assertNotEquals(0, data.size());
447         assertNotNull(data);
448         assertEquals(nodeId, data.get(0).getNodeId());
449         assertEquals(isActive, data.get(0).isActive());
450
451         // ==UPDATE============================
452
453         System.out.println("Trying to update...");
454         final String nodeId2 = "Name2";
455         final boolean isActive2 = false;
456
457         UpdateMaintenanceInput updateInput =
458                 new UpdateMaintenanceInputBuilder().setId(dbId).setNodeId(nodeId2).setActive(isActive2).build();
459         UpdateMaintenanceOutputBuilder updateResult = null;
460         try {
461             updateResult = dbProvider.updateMaintenance(updateInput);
462         } catch (Exception e) {
463             fail("maintenance update failed..." + e.getMessage());
464         }
465
466         assertNotNull(updateResult);
467
468         // == VERIFY UPDATE============================
469         System.out.println("Verfify update...");
470         readResult = dbProvider.readMaintenanceList(readinput);
471         data = readResult.getData();
472
473         assertNotNull(data);
474         assertEquals(nodeId2, data.get(0).getNodeId());
475         assertEquals(isActive2, data.get(0).isActive());
476
477         // ==DELETE================================
478         System.out.println("Trying to delete...");
479
480         DeleteMaintenanceInput deleteInput = new DeleteMaintenanceInputBuilder().setId(dbId).build();
481         try {
482             dbProvider.deleteMaintenance(deleteInput);
483         } catch (Exception e) {
484             fail("Maintenance entry couldn't be deleted" + e.getMessage());
485         }
486
487         readResult = dbProvider.readMaintenanceList(readinput);
488         data = readResult.getData();
489
490         assertEquals(0, data.size());
491     }
492
493     @Test
494     public void testFaultLog() {
495
496         System.out.println("Starting fault log tests...");
497         String dbId = clearAndCreatefaultEntity("1", Entity.Faultlog.getName(),
498                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
499                 SeverityType.Critical);
500
501         // ==READ===========================
502         System.out.println("try to read entry");
503
504         ReadFaultlogListInput readinput = new ReadFaultlogListInputBuilder()
505                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
506                 .setPagination(getPagination(20, 1)).build();
507
508         ReadFaultlogListOutputBuilder readResult = null;
509         try {
510             readResult = dbProvider.readFaultLogList(readinput);
511
512         } catch (Exception e) {
513             fail("Fault log not read: " + e.getMessage());
514         }
515
516         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> data =
517                 readResult.getData();
518
519         assertNotNull(data);
520         assertEquals(1, data.size());
521         assertEquals("signalIsLost", data.get(0).getProblem());
522         assertEquals("Critical", data.get(0).getSeverity().toString());
523         assertEquals("s1", data.get(0).getNodeId());
524
525         //== UPDATE ================================
526         System.out.println("try to update entry");
527
528         dbRawProvider.doUpdateOrCreate(Entity.Faultlog.getName(), "1",
529                 "{'problem': 'CableLOS', 'severity': 'Major', 'node-id': 'test4657-78'}");
530
531         System.out.println("try to search entry 1");
532         readinput = new ReadFaultlogListInputBuilder()
533                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
534                 .setPagination(getPagination(20, 1)).build();
535
536         //== VERIFY UPDATE ================================
537         readResult = dbProvider.readFaultLogList(readinput);
538         data = readResult.getData();
539
540
541         assertNotNull(data);
542         System.out.println(data);
543         assertEquals(0, data.size());
544
545         System.out.println("try to search entry 2");
546
547         readinput = new ReadFaultlogListInputBuilder()
548                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
549                 .setPagination(getPagination(20, 1)).build();
550
551         readResult = dbProvider.readFaultLogList(readinput);
552         data = readResult.getData();
553
554
555         assertNotNull(data);
556         assertEquals(1, data.size());
557         assertEquals("CableLOS", data.get(0).getProblem());
558         assertEquals("Major", data.get(0).getSeverity().toString());
559         assertEquals("test4657-78", data.get(0).getNodeId());
560
561         //== DELETE ================================
562
563         System.out.println("try to clear entry");
564         try {
565             dbRawProvider.doRemove(Entity.Faultlog.getName(), dbId);
566         } catch (Exception e) {
567             fail("problem deleting entry: " + e.getMessage());
568         }
569
570         //== VERIFY DELETE ===========================
571         System.out.println("verify entries deleted");
572         readResult = dbProvider
573                 .readFaultLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
574         data = readResult.getData();
575         assertEquals(0, data.size());
576     }
577
578     @Test
579     public void testFaultCurrent() {
580         System.out.println("Starting faultCurrent test...");
581         String dbId = null;
582         dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
583                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
584                 SeverityType.NonAlarmed);
585         assertEquals("1", dbId);
586
587         // ==READ===========================
588         System.out.println("Trying to read...");
589
590
591         ReadFaultcurrentListInput readinput = new ReadFaultcurrentListInputBuilder()
592                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
593                 .setPagination(getPagination(20, 1)).build();
594
595         ReadFaultcurrentListOutputBuilder readResult = null;
596         try {
597             readResult = dbProvider.readFaultCurrentList(readinput);
598
599         } catch (Exception e) {
600             fail("Fault log not read: " + e.getMessage());
601         }
602
603         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> data =
604                 readResult.getData();
605
606
607         assertNotNull(data);
608         assertEquals(1, data.size());
609         assertEquals("signalIsLost", data.get(0).getProblem());
610         assertEquals("NonAlarmed", data.get(0).getSeverity().toString());
611         assertEquals("s1", data.get(0).getNodeId());
612         assertEquals(4340, data.get(0).getCounter().intValue());
613         assertEquals(new DateAndTime("2019-10-28T11:55:58.3Z"), data.get(0).getTimestamp());
614         assertEquals(4340, data.get(0).getCounter().intValue());
615         assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
616
617
618         // ==UPDATE============================
619         System.out.println("Trying to update...");
620
621         String json = "{\n" + "\"timestamp\": \"2019-12-28T11:55:58.3Z\",\n" + "\"node-id\": \"SDN-Controller-0\",\n"
622                 + "\"counter\": 75,\n" + "\"problem\": \"connectionLossNeOAM\",\n" + "}";
623
624         String updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Faultcurrent.getName(), dbId, json);
625         assertEquals(dbId, updatedDbId);
626
627         // ==READ============================
628
629         try {
630             readResult = dbProvider.readFaultCurrentList(readinput);
631
632         } catch (Exception e) {
633             fail("Fault log not read: " + e.getMessage());
634         }
635
636         data = readResult.getData();
637
638         assertNotNull(data);
639         assertEquals(1, data.size());
640         assertEquals("connectionLossNeOAM", data.get(0).getProblem());
641         assertEquals("SDN-Controller-0", data.get(0).getNodeId());
642         assertEquals(75, data.get(0).getCounter().intValue());
643         assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
644
645         // ==DELETE============================
646         try {
647             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
648         } catch (Exception e) {
649             fail("problem deleting: " + e.getMessage());
650         }
651
652         // ==READ/VERIFY DELETE============================
653
654         try {
655             readResult = dbProvider.readFaultCurrentList(readinput);
656
657         } catch (Exception e) {
658             fail("Fault log not read: " + e.getMessage());
659         }
660
661         data = readResult.getData();
662
663         assertNotNull(data);
664         assertEquals(0, data.size());
665     }
666
667     @Test
668     public void testConnectionLog() {
669
670         // ==CLEAR================================
671         System.out.println("Clear before test");
672         try {
673             dbRawProvider.doRemove(Entity.Connectionlog.getName(), QueryBuilders.matchAllQuery());
674         } catch (Exception e) {
675             fail("problem deleting: " + e.getMessage());
676         }
677
678         // ==CREATE================================
679
680         System.out.println("Try create entry");
681         final String initialDbId = "1";
682         String dbId = null;
683         String json = "{\n" + "\"timestamp\": \"2019-11-01T11:28:34.7Z\",\n" + "\"status\": \"Connecting\",\n"
684                 + "\"node-id\": \"sim2230\",\n"
685                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateConnectionlogInput\"\n"
686                 + "}";
687
688         dbId = dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), initialDbId, json);
689
690         assertEquals(initialDbId, dbId);
691
692         // ==READ================================
693         System.out.println("Try read entry");
694
695         ReadConnectionlogListInput readinput = new ReadConnectionlogListInputBuilder()
696                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
697                 .setPagination(getPagination(20, 1)).build();
698
699         ReadConnectionlogListOutputBuilder readResult = null;
700         try {
701             readResult = dbProvider.readConnectionlogList(readinput);
702
703         } catch (Exception e) {
704             fail("Connection log not read: " + e.getMessage());
705         }
706
707         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> data =
708                 readResult.getData();
709
710         assertNotNull(data);
711         assertEquals(1, data.size());
712         assertEquals("Connecting", data.get(0).getStatus().toString());
713         assertEquals("sim2230", data.get(0).getNodeId());
714
715
716         // ==UPDATE================================
717         System.out.println("Try update entry");
718
719         dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), dbId, "{'status' : 'Connected'}");
720
721         // ==READ 2================================
722         System.out.println("Try read updated entry");
723
724         readinput = new ReadConnectionlogListInputBuilder()
725                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("status").setFiltervalue("Connected").build()))
726                 .setPagination(getPagination(20, 1)).build();
727
728         try {
729             readResult = dbProvider.readConnectionlogList(readinput);
730
731         } catch (Exception e) {
732             fail("Connection log not read: " + e.getMessage());
733         }
734
735         data = readResult.getData();
736
737         assertNotNull(data);
738         assertEquals(1, data.size());
739         assertEquals("Connected", data.get(0).getStatus().toString());
740         assertEquals("sim2230", data.get(0).getNodeId());
741
742         //== DELETE ================================
743
744         System.out.println("try to clear entry");
745         try {
746             dbRawProvider.doRemove(Entity.Connectionlog.getName(), dbId);
747         } catch (Exception e) {
748             fail("problem deleting entry: " + e.getMessage());
749         }
750
751         //== VERIFY DELETE ===========================
752         System.out.println("verify entries deleted");
753         readResult = dbProvider.readConnectionlogList(
754                 new ReadConnectionlogListInputBuilder().setPagination(getPagination(20, 1)).build());
755         data = readResult.getData();
756         assertEquals(0, data.size());
757
758     }
759
760     @Test
761     public void testEventLog() {
762         System.out.println("Test event log starting...");
763
764         // ==CLEAR================================
765         System.out.println("Clear before test");
766         try {
767             dbRawProvider.doRemove(Entity.Eventlog.getName(), QueryBuilders.matchAllQuery());
768         } catch (Exception e) {
769             fail("problem deleting: " + e.getMessage());
770         }
771         // ==CREATE============================
772
773         String dbId = null;
774         String json = " {\n" + "\"timestamp\": \"2019-11-08T16:39:23.0Z\",\n" + "\"new-value\": \"done\",\n"
775                 + "\"object-id\": \"SDN-Controller-0\",\n" + "\"attribute-name\": \"startup\",\n" + "\"counter\": 0,\n"
776                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Eventlog\",\n"
777                 + "\"node-id\": \"SDN-Controller-0\"\n" + "}";
778
779         dbId = dbRawProvider.doUpdateOrCreate(Entity.Eventlog.getName(), "1", json);
780         assertNotNull(dbId);
781
782         // ==READ===========================
783
784         ReadEventlogListInput readinput = new ReadEventlogListInputBuilder()
785                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
786                 .setPagination(getPagination(20, 1)).build();
787         ReadEventlogListOutputBuilder readResult = null;
788         try {
789             readResult = dbProvider.readEventlogList(readinput);
790
791         } catch (Exception e) {
792             fail("problem reading eventlog");
793         }
794
795         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> data =
796                 readResult.getData();
797         assertEquals(1, data.size());
798
799         //== DELETE ================================
800
801         System.out.println("try to clear entry");
802         try {
803             dbRawProvider.doRemove(Entity.Eventlog.getName(), dbId);
804         } catch (Exception e) {
805             fail("problem deleting entry: " + e.getMessage());
806         }
807
808         //== VERIFY DELETE ===========================
809         System.out.println("verify entries deleted");
810         try {
811             readResult = dbProvider
812                     .readEventlogList(new ReadEventlogListInputBuilder().setPagination(getPagination(20, 1)).build());
813         } catch (IOException e) {
814             fail("problem reading eventlog");
815         }
816         data = readResult.getData();
817         assertEquals(0, data.size());
818
819     }
820
821     @Test
822     public void testInventory() {
823
824         System.out.println("Test inventory starting...");
825
826         // ==CLEAR================================
827         System.out.println("Clear before test");
828         try {
829             dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
830         } catch (Exception e) {
831             fail("problem deleting: " + e.getMessage());
832         }
833
834
835         // ==CREATE============================
836
837         String dbId = null;
838         String json = " {\"tree-level\": 1,\n" + "    \"parent-uuid\": \"SHELF-1.1.0.0\",\n"
839                 + "    \"node-id\": \"sim2\",\n" + "    \"uuid\": \"CARD-1.1.8.0\",\n"
840                 + "    \"contained-holder\": [ ],\n" + "    \"manufacturer-name\": \"Lorem Ipsum\",\n"
841                 + "    \"manufacturer-identifier\": \"ONF-Wireless-Transport\",\n" + "    \"serial\": \"sd-dsa-eqw\",\n"
842                 + "    \"date\": \"2008-10-21T00:00:00.0Z\",\n"
843                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory\",\n"
844                 + "    \"version\": \"unknown\",\n" + "    \"description\": \"WS/DS3\",\n"
845                 + "    \"part-type-id\": \"unknown\",\n" + "    \"model-identifier\": \"model-id-s3s\",\n"
846                 + "    \"type-name\": \"p4.module\"}";
847
848         dbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), "1 1", json);
849         assertNotNull(dbId);
850
851         // ==READ===========================
852         ReadInventoryListInput readinput = new ReadInventoryListInputBuilder()
853                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
854                 .setPagination(getPagination(20, 1)).build();
855         ReadInventoryListOutputBuilder readResult = null;
856         try {
857             readResult = dbProvider.readInventoryList(readinput);
858
859         } catch (Exception e) {
860             fail("Problem reading inventory list" + e.getMessage());
861         }
862
863         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> data =
864                 readResult.getData();
865         assertEquals(1, data.size());
866         assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
867         assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
868         assertEquals("sim2", data.get(0).getNodeId());
869         assertEquals("unknown", data.get(0).getVersion());
870         assertEquals("WS/DS3", data.get(0).getDescription());
871         assertEquals("2008-10-21T00:00:00.0Z", data.get(0).getDate());
872         assertEquals("sd-dsa-eqw", data.get(0).getSerial());
873         System.out.println(data.get(0).getDate());
874
875         // ==UPDATE============================
876         String updatedDbId = null;
877         final String[] holderArray = {"Lorem Ipsum 1", "Lorem Ipsum 2", "Lorem Ipsum &%/$_2"};
878         String updatejson = " {" + "    \"node-id\": \"sim5\",\n"
879                 + "    \"contained-holder\": [ \"Lorem Ipsum 1\", \"Lorem Ipsum 2\", \"Lorem Ipsum &%/$_2\" ],\n"
880                 + "    \"serial\": \"sd-dsa-eww\",\n" + "    \"date\": \"2008-11-21T00:00:00.0Z\",\n"
881                 + "    \"part-type-id\": \"not unknown\",\n" + "}";
882
883         updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), dbId, updatejson);
884         assertEquals(dbId, updatedDbId);
885
886         try {
887             readResult = dbProvider.readInventoryList(readinput);
888
889         } catch (Exception e) {
890             fail("Problem reading inventory list" + e.getMessage());
891         }
892
893         data = readResult.getData();
894
895         assertEquals(1, data.size());
896         assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
897         assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
898         assertEquals("sim5", data.get(0).getNodeId());
899         assertEquals("not unknown", data.get(0).getPartTypeId());
900         assertEquals("WS/DS3", data.get(0).getDescription());
901         assertEquals("2008-11-21T00:00:00.0Z", data.get(0).getDate());
902         assertEquals("sd-dsa-eww", data.get(0).getSerial());
903         assertEquals(holderArray.length, data.get(0).getContainedHolder().size());
904         assertEquals(holderArray[0], data.get(0).getContainedHolder().get(0));
905         assertEquals(holderArray[1], data.get(0).getContainedHolder().get(1));
906         assertEquals(holderArray[2], data.get(0).getContainedHolder().get(2));
907
908         // ==DELETE============================
909
910         System.out.println("delete after test");
911         try {
912             dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
913         } catch (Exception e) {
914             fail("problem deleting: " + e.getMessage());
915         }
916
917         // ==VERIFY DELETE ============================
918
919         try {
920             readResult = dbProvider.readInventoryList(readinput);
921
922         } catch (Exception e) {
923             fail("Problem reading inventory list" + e.getMessage());
924         }
925
926         data = readResult.getData();
927         assertEquals(0, data.size());
928
929     }
930
931     @Test
932     public void test15MinPerformanceReadLtpListWithoutNodeIdSetThrowsException() {
933
934         System.out.println("Reading 15m ltp list without node id filter set throws an exception test start...");
935
936         try {
937             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
938         } catch (Exception e) {
939             fail("problem deleting: " + e.getMessage());
940         }
941
942         System.out.println("create entries...");
943
944         createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
945         createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
946
947         createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
948         createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
949         createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
950         createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
951
952         System.out.println("trying to read, should throw exception...");
953
954
955         ReadPmdata15mLtpListInput readLtp =
956                 new ReadPmdata15mLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
957
958         ReadPmdata15mLtpListOutputBuilder readltpResult = null;
959
960         try {
961             readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
962             fail("No exception thrown!");
963         } catch (Exception e) {
964             System.out.println(e);
965             assertTrue(e instanceof IllegalArgumentException);
966             assertEquals("no nodename in filter found ", e.getMessage());
967         }
968
969         assertNull(readltpResult);
970
971         //== DELETE ================================
972
973         System.out.println("try to clear entry");
974         try {
975             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
976         } catch (Exception e) {
977             fail("problem deleting entry: " + e.getMessage());
978         }
979
980         //== VERIFY DELETE ===========================
981         System.out.println("verify entries deleted");
982         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
983                 dbProvider
984                         .readPmdata15mList(
985                                 new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build())
986                         .getData();
987
988         assertEquals(0, data.size());
989     }
990
991     @Test
992     public void test15MinPerformanceData() {
993         // == CLEAR BEFORE TESTS ============================
994         System.out.println("Test 15 min performance...");
995
996         try {
997             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
998         } catch (Exception e) {
999             fail("problem deleting: " + e.getMessage());
1000         }
1001
1002         // == CREATE ============================
1003
1004         System.out.println("create entries...");
1005
1006         createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1007         createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1008
1009         createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1010         createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1011         createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1012         createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1013
1014         // == READ ============================
1015         System.out.println("read list entries...");
1016
1017         ReadPmdata15mListInput read = new ReadPmdata15mListInputBuilder()
1018                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1019                 .setPagination(getPagination(20, 1)).build();
1020
1021         ReadPmdata15mListOutputBuilder readResult = null;
1022
1023         try {
1024             readResult = dbProvider.readPmdata15mList(read);
1025         } catch (Exception e) {
1026             fail("Problem reading 15m data");
1027         }
1028
1029         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1030                 readResult.getData();
1031
1032         assertNotNull(data);
1033         assertEquals(2, data.size());
1034
1035         System.out.println("read ltp entries with node name set...");
1036
1037         ReadPmdata15mLtpListInput readLtp = new ReadPmdata15mLtpListInputBuilder()
1038                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1039                 .setPagination(getPagination(20, 1)).build();
1040
1041         ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1042
1043         try {
1044             readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1045         } catch (Exception e) {
1046             fail("Problem reading 15m ltp data");
1047         }
1048
1049         List<String> dataLtp = readltpResult.getData();
1050
1051         assertNotNull(dataLtp);
1052         assertEquals(2, dataLtp.size());
1053         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1054         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1055
1056         System.out.println("read device entries...");
1057
1058         ReadPmdata15mDeviceListInput readDevices =
1059                 new ReadPmdata15mDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1060
1061         ReadPmdata15mDeviceListOutputBuilder readDeviceResult = null;
1062
1063         try {
1064             readDeviceResult = dbProvider.readPmdata15mDeviceList(readDevices);
1065         } catch (Exception e) {
1066             fail("Problem reading 15m device data");
1067         }
1068
1069         List<String> dataDevice = readDeviceResult.getData();
1070
1071         assertNotNull(dataDevice);
1072         assertEquals(2, dataDevice.size());
1073         assertTrue(dataDevice.contains("a2"));
1074         assertTrue(dataDevice.contains("a3"));
1075
1076         //== DELETE ================================
1077
1078         System.out.println("try to clear entry");
1079         try {
1080             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1081         } catch (Exception e) {
1082             fail("problem deleting entry: " + e.getMessage());
1083         }
1084
1085         //== VERIFY DELETE ===========================
1086         System.out.println("verify entries deleted");
1087         readResult = dbProvider
1088                 .readPmdata15mList(new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build());
1089         data = readResult.getData();
1090         assertEquals(0, data.size());
1091
1092     }
1093
1094     @Test
1095     public void test24hPerformanceData() {
1096         System.out.println("Test 24h performance...");
1097
1098         try {
1099             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1100         } catch (Exception e) {
1101             fail("problem deleting: " + e.getMessage());
1102         }
1103
1104         System.out.println("create entries...");
1105         GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1106         createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1107         createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1108         String aDbId = createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-06", "a2");
1109
1110         createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1111         createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1112         createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1113
1114         System.out.println("read all list entries...");
1115
1116         ReadPmdata24hListInput read = new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build();
1117
1118         ReadPmdata24hListOutputBuilder readResult = null;
1119
1120         try {
1121             readResult = dbProvider.readPmdata24hList(read);
1122         } catch (Exception e) {
1123             fail("Problem reading 24h data");
1124         }
1125
1126         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> data =
1127                 readResult.getData();
1128
1129         assertNotNull(data);
1130         assertEquals(6, data.size());
1131
1132
1133         System.out.println("filter list entries...");
1134
1135         read = new ReadPmdata24hListInputBuilder()
1136                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1137                 .setPagination(getPagination(20, 1)).build();
1138
1139         readResult = null;
1140
1141         try {
1142             readResult = dbProvider.readPmdata24hList(read);
1143         } catch (Exception e) {
1144             fail("Problem reading 24h data");
1145         }
1146
1147         data = readResult.getData();
1148
1149         assertNotNull(data);
1150         assertEquals(3, data.size());
1151
1152         System.out.println("read ltp entries with node name set...");
1153
1154         ReadPmdata24hLtpListInput readLtp = new ReadPmdata24hLtpListInputBuilder()
1155                 .setFilter(YangHelper2.getListOrMap(FilterKey.class, new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1156                 .setPagination(getPagination(20, 1)).build();
1157
1158         ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1159
1160         try {
1161             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1162         } catch (Exception e) {
1163             fail("Problem reading 24h ltp data");
1164         }
1165
1166         List<String> dataLtp = readltpResult.getData();
1167
1168         assertNotNull(dataLtp);
1169         assertEquals(3, dataLtp.size());
1170         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1171         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1172         assertTrue(dataLtp.contains("LP-MWPS-TTP-06"));
1173
1174
1175         System.out.println("read device entries...");
1176
1177         ReadPmdata24hDeviceListInput readDevices =
1178                 new ReadPmdata24hDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1179
1180         ReadPmdata24hDeviceListOutputBuilder readDeviceResult = null;
1181
1182         try {
1183             readDeviceResult = dbProvider.readPmdata24hDeviceList(readDevices);
1184         } catch (Exception e) {
1185             fail("Problem reading 24h device data");
1186         }
1187
1188         List<String> dataDevice = readDeviceResult.getData();
1189
1190         assertNotNull(dataDevice);
1191         assertEquals(2, dataDevice.size());
1192         assertTrue(dataDevice.contains("a2"));
1193         assertTrue(dataDevice.contains("a3"));
1194
1195         // == UPDATE ==============================
1196
1197         boolean success = dbRawProvider.doUpdate(Entity.Historicalperformance24h.getName(),
1198                 "{'uuid-interface':'LTP-TEST-MWP-097'}", QueryBuilders.termQuery("_id", aDbId));
1199         assertTrue("update dbentry not succeeded", success);
1200         try {
1201             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1202         } catch (Exception e) {
1203             fail("Problem reading 24h ltp data");
1204         }
1205
1206         // == VERIFY UPDATE ==============================
1207
1208         dataLtp = readltpResult.getData();
1209
1210         assertNotNull(dataLtp);
1211         assertEquals(3, dataLtp.size());
1212         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1213         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1214         assertTrue(dataLtp.contains("LTP-TEST-MWP-097"));
1215
1216
1217
1218         //== DELETE ===========================
1219
1220         System.out.println("try to clear entries");
1221         try {
1222             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1223         } catch (Exception e) {
1224             fail("problem deleting entry: " + e.getMessage());
1225         }
1226
1227         //== VERIFY DELETE ===========================
1228         System.out.println("verify entries deleted");
1229         readResult = dbProvider
1230                 .readPmdata24hList(new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build());
1231         data = readResult.getData();
1232         assertEquals(0, data.size());
1233     }
1234
1235     @Test
1236     public void test24hPerformanceDataReadLtpListWithoutNodeIdSetThrowsException() {
1237         System.out.println("Test 24 hour tp list without node id filter set throws an exception test start...\"...");
1238
1239         try {
1240             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1241         } catch (Exception e) {
1242             fail("problem deleting: " + e.getMessage());
1243         }
1244
1245         System.out.println("create entries...");
1246
1247         GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1248         createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1249         createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1250
1251         createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1252         createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1253         createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1254         createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1255
1256         System.out.println("trying to read, should throw exception...");
1257
1258
1259         ReadPmdata24hLtpListInput readLtp =
1260                 new ReadPmdata24hLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1261
1262         ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1263
1264         try {
1265             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1266             fail("No exception thrown!");
1267         } catch (Exception e) {
1268             System.out.println(e);
1269             assertTrue(e instanceof IllegalArgumentException);
1270             assertEquals("no nodename in filter found ", e.getMessage());
1271         }
1272
1273         assertNull(readltpResult);
1274
1275         try {
1276             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1277         } catch (Exception e) {
1278             fail("problem deleting: " + e.getMessage());
1279         }
1280     }
1281
1282     @Test
1283     public void testUrlEncoding() {
1284         System.out.println("Testing url encding");
1285
1286         final String test = "Lorem Ipsum";
1287         final String test1 = "Lorem/Ipsum";
1288         final String test2 = "Lorem_Ipsum";
1289         final String test3 = "Lorem%Ipsum";
1290
1291         assertEquals("Lorem%20Ipsum", BaseRequest.urlEncodeValue(test));
1292         assertEquals("Lorem%2FIpsum", BaseRequest.urlEncodeValue(test1));
1293         assertEquals("Lorem_Ipsum", BaseRequest.urlEncodeValue(test2));
1294         assertEquals("Lorem%25Ipsum", BaseRequest.urlEncodeValue(test3));
1295     }
1296
1297     @Test
1298     public void testDoUpdateOrCreateWithNullId() {
1299         System.out.println("Test DoUpdateOrCreate doesn't create new database entry if null is passed");
1300
1301         String dbId = clearAndCreatefaultEntity(null, Entity.Faultlog.getName(),
1302                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
1303                 SeverityType.Critical);
1304         assertNull(dbId);
1305     }
1306
1307     @Test
1308     public void readTestFaultCurrentViaRawDbProvider() {
1309         System.out.println("Starting faultCurrent test...");
1310         String dbId = null;
1311         dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
1312                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
1313                 SeverityType.Critical);
1314         assertEquals("1", dbId);
1315
1316         // ==READ===========================
1317         System.out.println("Trying to read...");
1318
1319         String readResult = null;
1320         try {
1321             readResult = dbRawProvider.doReadJsonData(Entity.Faultcurrent.getName(), dbId);
1322
1323         } catch (Exception e) {
1324             fail("Fault log not read: " + e.getMessage());
1325         }
1326
1327
1328         String expectedDbResult =
1329                 "{\"severity\":\"Critical\",\"node-id\":\"s1\",\"problem\":\"signalIsLost\",\"counter\":4340,\"object-id\":\"LP-MWPS-RADIO\",\"implemented-interface\":\"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput\",\"type\":\"ProblemNotificationXml\",\"timestamp\":\"2019-10-28T11:55:58.3Z\"}";
1330
1331         System.out.println(readResult);
1332         assertNotNull(readResult);
1333         assertEquals(expectedDbResult, readResult);
1334
1335         SearchResult<SearchHit> searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1336         assertNotNull(searchResult);
1337
1338         List<SearchHit> hits = searchResult.getHits();
1339
1340         assertNotNull(hits);
1341         assertEquals(1, searchResult.getTotal());
1342         assertEquals(expectedDbResult, hits.get(0).getSourceAsString());
1343
1344         //== DELETE ==============================
1345         try {
1346             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
1347         } catch (Exception e) {
1348             fail("problem deleting: " + e.getMessage());
1349         }
1350         //== VERIFY DELETE ========================
1351         searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1352         hits = searchResult.getHits();
1353         assertNotNull(hits);
1354         assertEquals(0, searchResult.getTotal());
1355
1356     }
1357
1358     @Test
1359     public void testOutputCamelCase() throws ClassNotFoundException {
1360         try {
1361             String jsonString = "{\n" + "\"timestamp\": \"2020-02-20T09:31:22.3Z\",\n"
1362                     + "\"object-id\": \"LP-MWPS-RADIO\",\n" + "\"severity\": \"Critical\",\n" + "\"counter\": 10,\n"
1363                     + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog\",\n"
1364                     + "\"source-type\": \"Netconf\",\n" + "\"node-id\": \"sim4\",\n" + "\"problem\": \"signalIsLost\"\n"
1365                     + "}";
1366             YangToolsMapper2<Faultlog> yangtoolsMapper = new YangToolsMapper2<>(Faultlog.class,null);
1367             FaultlogEntity log = yangtoolsMapper.readValue(jsonString, Faultlog.class);
1368             System.out.println(log);
1369             System.out.println(yangtoolsMapper.writeValueAsString(log));
1370         } catch (IOException e) {
1371             fail(e.getMessage());
1372         }
1373
1374     }
1375
1376     private Pagination getPagination(long pageSize, int page) {
1377         return new PaginationBuilder().setPage(BigInteger.valueOf(page)).setSize(pageSize).build();
1378     }
1379
1380
1381     private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1382             SeverityType severity) {
1383         // ==CLEAR BEFORE TEST============================
1384         System.out.println("try to clear entry");
1385         try {
1386             dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1387         } catch (Exception e) {
1388             fail("problem deleting: " + e.getMessage());
1389         }
1390
1391
1392         return createFaultEntity(initialDbId, entityType, implementedInterface, severity);
1393     }
1394
1395     private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1396             SeverityType severity) {
1397         // ==CREATE============================
1398         System.out.println("try to create entry");
1399         String dbId = null;
1400
1401         try {
1402
1403             dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1404                     "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\"object-id\": \"LP-MWPS-RADIO\",\n"
1405                             + "\"severity\": \"" + severity.toString() + "\",\n" + "\"node-id\": \"s1\",\n"
1406                             + "\"implemented-interface\": \"" + implementedInterface + "\",\n" + "\"counter\": 4340,\n"
1407                             + "\"problem\": \"signalIsLost\",\n" + "\"type\": \"ProblemNotificationXml\"\n" + "}");
1408
1409
1410
1411         } catch (Exception e) {
1412             fail("Problem creating fault log entry" + e.getMessage());
1413         }
1414
1415         return dbId;
1416     }
1417
1418     private String createPerformanceData(String initialDbId, GranularityPeriodType timeInterval, String scannerId,
1419             String uuidInterface, String nodename) {
1420
1421         String json = "{\n" + "\"node-name\": \"" + nodename + "\",\n" + "\"uuid-interface\": \"" + uuidInterface
1422                 + "\",\n" + "\"layer-protocol-name\": \"MWPS\",\n" + "\"radio-signal-id\": \"Test8\",\n"
1423                 + "\"time-stamp\": \"2017-03-01T06:15:00.0Z\",\n" + "\"granularity-period\": \""
1424                 + timeInterval.toString() + "\",\n" + "\"scanner-id\": \"" + scannerId + "\",\n"
1425                 + "\"performance-data\": {\n" + "\"cses\": 0,\n" + "\"ses\": 0,\n" + "\"es\": 0,\n"
1426                 + "\"tx-level-max\": 3,\n" + "\"tx-level-avg\": 3,\n" + "\"rx-level-min\": -44,\n"
1427                 + "\"rx-level-max\": -45,\n" + "\"rx-level-avg\": -44,\n" + "\"time2-states\": 0,\n"
1428                 + "\"time4-states-s\": 0,\n" + "\"time4-states\": 0,\n" + "\"time8-states\": -1,\n"
1429                 + "\"time16-states-s\": -1,\n" + "\"time16-states\": 0,\n" + "\"time32-states\": -1,\n"
1430                 + "\"time64-states\": 900,\n" + "\"time128-states\": -1,\n" + "\"time256-states\": -1,\n"
1431                 + "\"time512-states\": -1,\n" + "\"time512-states-l\": -1,\n" + "\"unavailability\": 0,\n"
1432                 + "\"tx-level-min\": 3,\n" + "\"time1024-states\": -1,\n" + "\"time1024-states-l\": -1,\n"
1433                 + "\"time2048-states\": -1,\n" + "\"time2048-states-l\": -1,\n" + "\"time4096-states\": -1,\n"
1434                 + "\"time4096-states-l\": -1,\n" + "\"time8192-states\": -1,\n" + "\"time8192-states-l\": -1,\n"
1435                 + "\"snir-min\": -99,\n" + "\"snir-max\": -99,\n" + "\"snir-avg\": -99,\n" + "\"xpd-min\": -99,\n"
1436                 + "\"xpd-max\": -99,\n" + "\"xpd-avg\": -99,\n" + "\"rf-temp-min\": -99,\n" + "\"rf-temp-max\": -99,\n"
1437                 + "\"rf-temp-avg\": -99,\n" + "\"defect-blocks-sum\": -1,\n" + "\"time-period\": 900\n" + "},\n"
1438                 + "\"suspect-interval-flag\": false\n" + "}";
1439
1440         if (timeInterval.equals(GranularityPeriodType.Period15Min)) {
1441             return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance15min.getName(), initialDbId, json);
1442         } else {
1443             return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance24h.getName(), initialDbId, json);
1444         }
1445     }
1446
1447 }