2 * ============LICENSE_START=======================================================
3 * ONAP : ccsdk features
4 * ================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.data;
24 import java.io.IOException;
25 import java.util.concurrent.TimeUnit;
26 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
27 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
28 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.DataObjectAcessorPm.Intervall;
29 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
30 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInput;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceOutputBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInput;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionOutputBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInput;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceOutputBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInput;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerOutputBuilder;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInput;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionOutputBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EntityInput;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MediatorServerEntity;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListOutputBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInput;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListOutputBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListOutputBuilder;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListOutputBuilder;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListOutputBuilder;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListOutputBuilder;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListOutputBuilder;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListOutputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListOutputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListOutputBuilder;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListOutputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListOutputBuilder;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListOutputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadStatusOutputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInput;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceOutputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInput;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerOutputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInput;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionOutputBuilder;
69 import org.slf4j.Logger;
70 import org.slf4j.LoggerFactory;
72 public class ElasticSearchDataProvider /*extends BaseStatusProvider /* implements IEntityDataProvider*/ {
74 private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchDataProvider.class);
76 private static final String EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE = "unable to write data to database";
77 private static final String EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE = "unable to update data in database";
78 private static final String EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE = "unable to remove data from database";
80 private static final boolean DEFAULT_TRUSTALLCERTS = false;
82 private final HtDatabaseClient dbClient;
83 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
84 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> eventRWFaultLog;
85 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> mediatorserverRW;
86 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> maintenanceRW;
87 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> equipmentRW;
88 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> connnectionlogRW;
89 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> eventlogRW;
90 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> networkelementConnectionRW;
91 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> pm15mRW;
92 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> pm24hRW;
94 private final DataObjectAcessorStatus readStatus;
95 private final HtDatabaseEventsService databaseService;
96 private final HtDatabaseMaintenanceService databaseMaintenanceService;
98 public HtDatabaseClient getRawClient() {
102 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
103 this(hosts, null, null, DEFAULT_TRUSTALLCERTS);
106 public ElasticSearchDataProvider(HostInfo[] hosts, String authUsername, String authPassword, boolean trustAllCerts)
109 LOG.info("Start {}", this.getClass().getName());
111 this.dbClient = HtDatabaseClient.getClient(hosts, authUsername, authPassword, trustAllCerts);
112 this.mediatorserverRW = new DataObjectAcessor<>(dbClient, Entity.MediatorServer,
113 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
114 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
116 this.maintenanceRW = new DataObjectAcessor<>(dbClient, Entity.Maintenancemode,
117 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
118 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
120 this.equipmentRW = new DataObjectAcessor<>(dbClient, Entity.Inventoryequipment,
121 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
123 this.eventRWFaultCurrent = new DataObjectAcessor<>(dbClient, Entity.Faultcurrent,
124 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
126 this.eventRWFaultLog = new DataObjectAcessor<>(dbClient, Entity.Faultlog,
127 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
129 this.connnectionlogRW = new DataObjectAcessor<>(dbClient, Entity.Connectionlog,
130 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
132 this.eventlogRW = new DataObjectAcessor<>(dbClient, Entity.Eventlog,
133 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
135 this.networkelementConnectionRW = new DataObjectAcessor<>(dbClient, Entity.NetworkelementConnection,
136 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
137 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
139 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
140 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
142 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
143 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
145 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent);
147 this.databaseService = new HtDatabaseEventsService(dbClient, this);
148 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
151 /*-------------------------
152 * Provide access to model API
155 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
156 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
157 //eventRWFaultCurrent
158 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
160 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
162 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result =
163 this.eventRWFaultCurrent.getData(input);
164 outputBuilder.setData(result.getResult().getHits());
165 outputBuilder.setPagination(
166 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder(
167 result.getPagination()).build());
168 return outputBuilder;
171 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data
172 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
174 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
175 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
176 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result =
177 this.eventRWFaultLog.getData(input);
178 outputBuilder.setData(result.getResult().getHits());
179 outputBuilder.setPagination(
180 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder(
181 result.getPagination()).build());
182 return outputBuilder;
185 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data
186 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
188 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
189 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
190 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result =
191 this.maintenanceRW.getData(input);
192 outputBuilder.setData(result.getResult().getHits());
193 outputBuilder.setPagination(
194 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
195 result.getPagination()).build());
196 return outputBuilder;
199 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
200 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
202 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
204 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
205 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result =
206 this.mediatorserverRW.getData(input);
207 outputBuilder.setData(result.getResult().getHits());
208 outputBuilder.setPagination(
209 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
210 result.getPagination()).build());
211 return outputBuilder;
214 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
215 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
216 //networkelementConnectionRW
217 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(EntityInput input) {
218 ReadNetworkElementConnectionListOutputBuilder outputBuilder =
219 new ReadNetworkElementConnectionListOutputBuilder();
220 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> result =
221 this.networkelementConnectionRW.getData(input);
222 outputBuilder.setData(result.getResult().getHits());
223 outputBuilder.setPagination(
224 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder(
225 result.getPagination()).build());
226 return outputBuilder;
229 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
230 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
232 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
233 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
234 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result =
235 this.equipmentRW.getData(input);
236 outputBuilder.setData(result.getResult().getHits());
237 outputBuilder.setPagination(
238 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder(
239 result.getPagination()).build());
240 return outputBuilder;
243 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
244 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
246 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
247 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
248 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result =
249 this.connnectionlogRW.getData(input);
250 outputBuilder.setData(result.getResult().getHits());
251 outputBuilder.setPagination(
252 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.PaginationBuilder(
253 result.getPagination()).build());
254 return outputBuilder;
257 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data
258 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
260 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
261 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
262 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result =
263 this.eventlogRW.getData(input);
264 outputBuilder.setData(result.getResult().getHits());
265 outputBuilder.setPagination(
266 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
267 result.getPagination()).build());
268 return outputBuilder;
271 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
272 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
273 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
274 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
275 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result =
276 this.pm15mRW.getData(input);
277 outputBuilder.setData(result.getResult().getHits());
278 outputBuilder.setPagination(
279 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
280 result.getPagination()).build());
281 return outputBuilder;
284 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
285 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
286 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
287 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
288 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result =
289 this.pm24hRW.getData(input);
290 outputBuilder.setData(result.getResult().getHits());
291 outputBuilder.setPagination(
292 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
293 result.getPagination()).build());
294 return outputBuilder;
297 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
298 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
299 QueryResult<String> result = pm15mRW.getDataLtpList(input);
300 outputBuilder.setPagination(
301 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
302 result.getPagination()).build());
303 outputBuilder.setData(result.getResult().getHits());
304 return outputBuilder;
307 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
308 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
309 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
310 outputBuilder.setPagination(
311 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
312 result.getPagination()).build());
313 outputBuilder.setData(result.getResult().getHits());
314 return outputBuilder;
317 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
319 QueryResult<String> result = pm24hRW.getDataLtpList(input);
321 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
322 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
323 outputBuilder.setPagination(
324 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
325 result.getPagination()).build());
326 outputBuilder.setData(result.getResult().getHits());
327 return outputBuilder;
330 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input) throws IOException {
332 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
334 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
335 outputBuilder.setPagination(
336 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
337 result.getPagination()).build());
338 outputBuilder.setData(result.getResult().getHits());
339 return outputBuilder;
342 public ReadStatusOutputBuilder readStatus() throws IOException {
343 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result =
344 readStatus.getDataStatus();
346 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
347 outputBuilder.setData(result.getResult().getHits());
348 return outputBuilder;
351 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
352 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
355 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
356 NetworkElementConnectionEntity input) throws IOException {
357 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
359 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
361 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
362 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
363 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
364 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
368 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
369 UpdateNetworkElementConnectionInput input) throws IOException {
370 String id = this.networkelementConnectionRW.update(input, input.getId());
372 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
374 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
375 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
376 .setUsername(input.getUsername()).setPassword(input.getPassword())
377 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
381 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(
382 DeleteNetworkElementConnectionInput input) throws IOException {
383 boolean removed = this.networkelementConnectionRW.remove(input.getId());
385 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
387 return new DeleteNetworkElementConnectionOutputBuilder();
390 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
391 boolean removed = this.mediatorserverRW.remove(input.getId());
393 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
395 return new DeleteMediatorServerOutputBuilder();
398 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
399 boolean removed = this.maintenanceRW.remove(input.getId());
401 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
403 return new DeleteMaintenanceOutputBuilder();
406 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
407 if (input.getId() == null) {
408 throw new IOException("please give the id for updating entry");
410 String id = this.maintenanceRW.update(input, input.getId());
412 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
414 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
418 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
419 if (input.getId() == null) {
420 throw new IOException("please give the id for updating entry");
422 String id = this.mediatorserverRW.update(input, input.getId());
424 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
426 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
427 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
431 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
432 String id = this.maintenanceRW.write(input, input.getNodeId());
434 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
436 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
440 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
441 String id = this.mediatorserverRW.write(input, null);
444 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
446 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
447 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
451 public DataProvider getDataProvider() {
452 return this.databaseService;
455 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
456 return this.databaseMaintenanceService;