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;
27 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
28 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
29 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.DataObjectAcessorPm.Intervall;
30 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
31 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInput;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInputBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceOutputBuilder;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInput;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionOutputBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInput;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceOutputBuilder;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInput;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerOutputBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInput;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionOutputBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EntityInput;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MediatorServerEntity;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListOutputBuilder;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInput;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListOutputBuilder;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListOutputBuilder;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListOutputBuilder;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListOutputBuilder;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListOutputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListOutputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListOutputBuilder;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListOutputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListOutputBuilder;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListOutputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListOutputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadStatusOutputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInput;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceOutputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInput;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerOutputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInput;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionOutputBuilder;
71 import org.slf4j.Logger;
72 import org.slf4j.LoggerFactory;
74 public class ElasticSearchDataProvider /*extends BaseStatusProvider /* implements IEntityDataProvider*/ {
76 private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchDataProvider.class);
78 private static final String EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE = "unable to write data to database";
79 private static final String EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE = "unable to update data in database";
80 private static final String EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE = "unable to remove data from database";
82 private static final boolean DEFAULT_TRUSTALLCERTS = false;
84 private final HtDatabaseClient dbClient;
85 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
86 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> eventRWFaultLog;
87 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> mediatorserverRW;
88 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> maintenanceRW;
89 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> equipmentRW;
90 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> connnectionlogRW;
91 private final DataObjectAcessor<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> eventlogRW;
92 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;
93 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> pm15mRW;
94 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> pm24hRW;
96 private final DataObjectAcessorStatus readStatus;
97 private final HtDatabaseEventsService databaseService;
98 private final HtDatabaseMaintenanceService databaseMaintenanceService;
100 public HtDatabaseClient getRawClient() {
101 return this.dbClient;
104 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
105 this(hosts, null, null, DEFAULT_TRUSTALLCERTS);
108 public ElasticSearchDataProvider(HostInfo[] hosts, String authUsername, String authPassword, boolean trustAllCerts)
111 LOG.info("Start {}", this.getClass().getName());
113 this.dbClient = new HtDatabaseClient(hosts, authUsername, authPassword, trustAllCerts);
114 this.mediatorserverRW = new DataObjectAcessor<>(dbClient, Entity.MediatorServer,
115 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
116 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
118 this.maintenanceRW = new DataObjectAcessor<>(dbClient, Entity.Maintenancemode,
119 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
120 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
122 this.equipmentRW = new DataObjectAcessor<>(dbClient, Entity.Inventoryequipment,
123 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
125 this.eventRWFaultCurrent = new DataObjectAcessor<>(dbClient, Entity.Faultcurrent,
126 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
128 this.eventRWFaultLog = new DataObjectAcessor<>(dbClient, Entity.Faultlog,
129 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
131 this.connnectionlogRW = new DataObjectAcessor<>(dbClient, Entity.Connectionlog,
132 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
134 this.eventlogRW = new DataObjectAcessor<>(dbClient, Entity.Eventlog,
135 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
137 this.networkelementConnectionRW = new DataObjectAcessor<>(dbClient, Entity.NetworkelementConnection,
138 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
139 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
141 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
142 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
144 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
145 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
147 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent);
149 this.databaseService = new HtDatabaseEventsService(dbClient, this);
150 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
153 /*-------------------------
154 * Provide access to model API
157 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
158 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
159 //eventRWFaultCurrent
160 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
162 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
164 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result =
165 this.eventRWFaultCurrent.getData(input);
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.faultcurrent.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.faultlog.list.output.Data
174 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
176 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
177 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
178 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result =
179 this.eventRWFaultLog.getData(input);
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.faultlog.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.maintenance.list.output.Data
188 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
190 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
191 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
192 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result =
193 this.maintenanceRW.getData(input);
194 outputBuilder.setData(result.getResult().getHits());
195 outputBuilder.setPagination(
196 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
197 result.getPagination()).build());
198 return outputBuilder;
201 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
202 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
204 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
206 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
207 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result =
208 this.mediatorserverRW.getData(input);
209 outputBuilder.setData(result.getResult().getHits());
210 outputBuilder.setPagination(
211 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
212 result.getPagination()).build());
213 return outputBuilder;
216 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
217 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
218 //networkelementConnectionRW
219 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(EntityInput input) {
220 ReadNetworkElementConnectionListOutputBuilder outputBuilder =
221 new ReadNetworkElementConnectionListOutputBuilder();
222 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> result =
223 this.networkelementConnectionRW.getData(input);
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.network.element.connection.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 ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
235 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
236 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result =
237 this.equipmentRW.getData(input);
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.inventory.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.inventory.list.output.Data
246 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
248 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
249 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
250 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result =
251 this.connnectionlogRW.getData(input);
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.connectionlog.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.eventlog.list.output.Data
260 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
262 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
263 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
264 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result =
265 this.eventlogRW.getData(input);
266 outputBuilder.setData(result.getResult().getHits());
267 outputBuilder.setPagination(
268 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
269 result.getPagination()).build());
270 return outputBuilder;
273 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
274 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
275 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
276 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
277 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result =
278 this.pm15mRW.getData(input);
279 outputBuilder.setData(result.getResult().getHits());
280 outputBuilder.setPagination(
281 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
282 result.getPagination()).build());
283 return outputBuilder;
286 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
287 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
288 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
289 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
290 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result =
291 this.pm24hRW.getData(input);
292 outputBuilder.setData(result.getResult().getHits());
293 outputBuilder.setPagination(
294 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
295 result.getPagination()).build());
296 return outputBuilder;
299 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
300 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
301 QueryResult<String> result = pm15mRW.getDataLtpList(input);
302 outputBuilder.setPagination(
303 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
304 result.getPagination()).build());
305 outputBuilder.setData(result.getResult().getHits());
306 return outputBuilder;
309 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
310 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
311 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
312 outputBuilder.setPagination(
313 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
314 result.getPagination()).build());
315 outputBuilder.setData(result.getResult().getHits());
316 return outputBuilder;
319 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
321 QueryResult<String> result = pm24hRW.getDataLtpList(input);
323 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
324 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
325 outputBuilder.setPagination(
326 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
327 result.getPagination()).build());
328 outputBuilder.setData(result.getResult().getHits());
329 return outputBuilder;
332 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input) throws IOException {
334 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
336 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
337 outputBuilder.setPagination(
338 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
339 result.getPagination()).build());
340 outputBuilder.setData(result.getResult().getHits());
341 return outputBuilder;
344 public ReadStatusOutputBuilder readStatus() throws IOException {
345 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result =
346 readStatus.getDataStatus();
348 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
349 outputBuilder.setData(result.getResult().getHits());
350 return outputBuilder;
353 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
354 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
357 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
358 NetworkElementConnectionEntity input) throws IOException {
359 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
361 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
363 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
364 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
365 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
366 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
370 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
371 UpdateNetworkElementConnectionInput input) throws IOException {
372 String id = this.networkelementConnectionRW.update(input, input.getId());
374 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
376 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
377 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
378 .setUsername(input.getUsername()).setPassword(input.getPassword())
379 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
383 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(
384 DeleteNetworkElementConnectionInput input) throws IOException {
385 boolean removed = this.networkelementConnectionRW.remove(input.getId());
387 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
389 return new DeleteNetworkElementConnectionOutputBuilder();
392 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
393 boolean removed = this.mediatorserverRW.remove(input.getId());
395 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
397 return new DeleteMediatorServerOutputBuilder();
400 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
401 boolean removed = this.maintenanceRW.remove(input.getId());
403 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
405 return new DeleteMaintenanceOutputBuilder();
408 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
409 if (input.getId() == null) {
410 throw new IOException("please give the id for updating entry");
412 String id = this.maintenanceRW.update(input, input.getId());
414 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
416 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
420 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
421 if (input.getId() == null) {
422 throw new IOException("please give the id for updating entry");
424 String id = this.mediatorserverRW.update(input, input.getId());
426 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
428 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
429 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
433 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
434 String id = this.maintenanceRW.write(input, input.getNodeId());
436 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
438 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
442 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
443 String id = this.mediatorserverRW.write(input, null);
446 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
448 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
449 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
453 public DataProvider getDataProvider() {
454 return this.databaseService;
457 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
458 return this.databaseMaintenanceService;