1 /*******************************************************************************
2 * ============LICENSE_START========================================================================
3 * ONAP : ccsdk feature sdnr wt
4 * =================================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6 * =================================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software distributed under the License
13 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14 * or implied. See the License for the specific language governing permissions and limitations under
16 * ============LICENSE_END==========================================================================
17 ******************************************************************************/
18 package org.onap.ccsdk.features.sdnr.wt.dataprovider.data;
20 import java.io.IOException;
21 import java.util.concurrent.TimeUnit;
23 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
24 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
25 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.DataObjectAcessorPm.Intervall;
26 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
27 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInput;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceOutputBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInput;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionOutputBuilder;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInput;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceOutputBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInput;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerOutputBuilder;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInput;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionOutputBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EntityInput;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MediatorServerEntity;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListOutputBuilder;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInput;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListOutputBuilder;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListOutputBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListOutputBuilder;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListOutputBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListOutputBuilder;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListOutputBuilder;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListOutputBuilder;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListOutputBuilder;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListOutputBuilder;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListOutputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListOutputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListOutputBuilder;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadStatusOutputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInput;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceOutputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInput;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInput;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionOutputBuilder;
66 import org.slf4j.Logger;
67 import org.slf4j.LoggerFactory;
69 public class ElasticSearchDataProvider /*extends BaseStatusProvider /* implements IEntityDataProvider*/ {
71 private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchDataProvider.class);
73 private static final String EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE = "unable to write data to database";
74 private static final String EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE = "unable to update data in database";
75 private static final String EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE = "unable to remove data from database";
77 private final HtDatabaseClient dbClient;
78 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
79 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> eventRWFaultLog;
80 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> mediatorserverRW;
81 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> maintenanceRW;
82 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> equipmentRW;
83 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> connnectionlogRW;
84 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> eventlogRW;
85 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;
86 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> pm15mRW;
87 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> pm24hRW;
89 private final DataObjectAcessorStatus readStatus;
90 private final HtDatabaseEventsService databaseService;
91 private final HtDatabaseMaintenanceService databaseMaintenanceService;
92 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
93 this(hosts,null,null);
95 public ElasticSearchDataProvider(HostInfo[] hosts,String authUsername,String authPassword) throws Exception {
97 LOG.info("Start {}", this.getClass().getName());
99 this.dbClient = new HtDatabaseClient(hosts,authUsername,authPassword);
100 this.mediatorserverRW = new DataObjectAcessor<>(dbClient, Entity.MediatorServer,
101 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
102 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
104 this.maintenanceRW = new DataObjectAcessor<>(dbClient, Entity.Maintenancemode,
105 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
106 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
108 this.equipmentRW = new DataObjectAcessor<>(dbClient, Entity.Inventoryequipment,
109 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
111 this.eventRWFaultCurrent = new DataObjectAcessor<>(dbClient, Entity.Faultcurrent,
112 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
114 this.eventRWFaultLog = new DataObjectAcessor<>(dbClient, Entity.Faultlog,
115 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
117 this.connnectionlogRW = new DataObjectAcessor<>(dbClient, Entity.Connectionlog,
118 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
120 this.eventlogRW = new DataObjectAcessor<>(dbClient, Entity.Eventlog,
121 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
123 this.networkelementConnectionRW = new DataObjectAcessor<>(dbClient, Entity.NetworkelementConnection,
124 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
125 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
127 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
128 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
130 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
131 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
133 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent );
135 this.databaseService = new HtDatabaseEventsService(dbClient, this);
136 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
139 /*-------------------------
140 * Provide access to model API
143 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
144 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
145 //eventRWFaultCurrent
146 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
148 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
150 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result = this.eventRWFaultCurrent
152 outputBuilder.setData(result.getResult().getHits());
153 outputBuilder.setPagination(
154 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder(
155 result.getPagination()).build());
156 return outputBuilder;
159 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data
160 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
162 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
163 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
164 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result = this.eventRWFaultLog
166 outputBuilder.setData(result.getResult().getHits());
167 outputBuilder.setPagination(
168 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder(
169 result.getPagination()).build());
170 return outputBuilder;
173 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data
174 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
176 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
177 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
178 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result = this.maintenanceRW
180 outputBuilder.setData(result.getResult().getHits());
181 outputBuilder.setPagination(
182 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
183 result.getPagination()).build());
184 return outputBuilder;
187 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
188 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
190 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
192 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
193 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result = this.mediatorserverRW
195 outputBuilder.setData(result.getResult().getHits());
196 outputBuilder.setPagination(
197 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
198 result.getPagination()).build());
199 return outputBuilder;
202 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
203 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
204 //networkelementConnectionRW
205 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(
207 ReadNetworkElementConnectionListOutputBuilder outputBuilder = new ReadNetworkElementConnectionListOutputBuilder();
208 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> result = this.networkelementConnectionRW
210 outputBuilder.setData(result.getResult().getHits());
211 outputBuilder.setPagination(
212 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder(
213 result.getPagination()).build());
214 return outputBuilder;
217 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
218 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
220 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
221 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
222 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result = this.equipmentRW
224 outputBuilder.setData(result.getResult().getHits());
225 outputBuilder.setPagination(
226 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder(
227 result.getPagination()).build());
228 return outputBuilder;
231 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
232 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
234 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
235 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
236 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result = this.connnectionlogRW
238 outputBuilder.setData(result.getResult().getHits());
239 outputBuilder.setPagination(
240 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.PaginationBuilder(
241 result.getPagination()).build());
242 return outputBuilder;
245 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data
246 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
248 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
249 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
250 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result = this.eventlogRW
252 outputBuilder.setData(result.getResult().getHits());
253 outputBuilder.setPagination(
254 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
255 result.getPagination()).build());
256 return outputBuilder;
259 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
260 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
261 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
262 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
263 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result = this.pm15mRW
265 outputBuilder.setData(result.getResult().getHits());
266 outputBuilder.setPagination(
267 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
268 result.getPagination()).build());
269 return outputBuilder;
272 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
273 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
274 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
275 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
276 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result = this.pm24hRW
278 outputBuilder.setData(result.getResult().getHits());
279 outputBuilder.setPagination(
280 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
281 result.getPagination()).build());
282 return outputBuilder;
285 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
286 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
287 QueryResult<String> result = pm15mRW.getDataLtpList(input);
288 outputBuilder.setPagination(
289 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
290 result.getPagination()).build());
291 outputBuilder.setData(result.getResult().getHits());
292 return outputBuilder;
295 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
296 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
297 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
298 outputBuilder.setPagination(
299 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
300 result.getPagination()).build());
301 outputBuilder.setData(result.getResult().getHits());
302 return outputBuilder;
305 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
307 QueryResult<String> result = pm24hRW.getDataLtpList(input);
309 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
310 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
311 outputBuilder.setPagination(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
312 result.getPagination()).build());
313 outputBuilder.setData(result.getResult().getHits());
314 return outputBuilder;
317 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input)
320 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
322 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
323 outputBuilder.setPagination(
324 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
325 result.getPagination()).build());
326 outputBuilder.setData(result.getResult().getHits());
327 return outputBuilder;
330 public ReadStatusOutputBuilder readStatus() throws IOException {
331 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result = readStatus.getDataStatus();
333 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
334 outputBuilder.setData(result.getResult().getHits());
335 return outputBuilder;
338 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
339 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
342 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
343 NetworkElementConnectionEntity input) throws IOException {
344 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
346 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
348 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
349 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
350 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
351 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
355 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
356 UpdateNetworkElementConnectionInput input) throws IOException {
357 String id = this.networkelementConnectionRW.update(input, input.getId());
359 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
361 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
362 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
363 .setUsername(input.getUsername()).setPassword(input.getPassword())
364 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
368 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(DeleteNetworkElementConnectionInput input) throws IOException {
369 boolean removed = this.networkelementConnectionRW.remove(input.getId());
371 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
373 return new DeleteNetworkElementConnectionOutputBuilder();
376 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
377 boolean removed = this.mediatorserverRW.remove(input.getId());
379 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
381 return new DeleteMediatorServerOutputBuilder();
384 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
385 boolean removed = this.maintenanceRW.remove(input.getId());
387 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
389 return new DeleteMaintenanceOutputBuilder();
392 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
393 if (input.getId() == null) {
394 throw new IOException("please give the id for updating entry");
396 String id = this.maintenanceRW.update(input, input.getId());
398 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
400 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
404 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
405 if (input.getId() == null) {
406 throw new IOException("please give the id for updating entry");
408 String id = this.mediatorserverRW.update(input, input.getId());
410 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
412 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
413 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
417 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
418 String id = this.maintenanceRW.write(input, input.getNodeId());
420 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
422 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
426 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
427 String id = this.mediatorserverRW.write(input, null);
430 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
432 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
433 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
437 public DataProvider getDataProvider() {
438 return this.databaseService;
441 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
442 return this.databaseMaintenanceService;