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 final HtDatabaseClient dbClient;
81 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
82 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> eventRWFaultLog;
83 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> mediatorserverRW;
84 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> maintenanceRW;
85 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> equipmentRW;
86 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> connnectionlogRW;
87 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> eventlogRW;
88 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> networkelementConnectionRW;
89 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> pm15mRW;
90 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> pm24hRW;
92 private final DataObjectAcessorStatus readStatus;
93 private final HtDatabaseEventsService databaseService;
94 private final HtDatabaseMaintenanceService databaseMaintenanceService;
96 public HtDatabaseClient getRawClient() {
100 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
101 this(hosts, null, null, HtDatabaseClient.TRUSTALL_DEFAULT);
104 public ElasticSearchDataProvider(HostInfo[] hosts, String authUsername, String authPassword, boolean trustAllCerts)
107 LOG.info("Start {}", this.getClass().getName());
110 this.dbClient = HtDatabaseClient.getClient(hosts, authUsername, authPassword, trustAllCerts);
111 this.mediatorserverRW = new DataObjectAcessorWithId<>(dbClient, Entity.MediatorServer,
112 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
113 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
115 this.maintenanceRW = new DataObjectAcessorWithId<>(dbClient, Entity.Maintenancemode,
116 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
117 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
119 this.equipmentRW = new DataObjectAcessorWithId<>(dbClient, Entity.Inventoryequipment,
120 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
122 this.eventRWFaultCurrent = new DataObjectAcessorWithId<>(dbClient, Entity.Faultcurrent,
123 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
125 this.eventRWFaultLog = new DataObjectAcessorWithId<>(dbClient, Entity.Faultlog,
126 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
128 this.connnectionlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Connectionlog,
129 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
131 this.eventlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Eventlog,
132 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
134 this.networkelementConnectionRW = new DataObjectAcessorWithId<>(dbClient, Entity.NetworkelementConnection,
135 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
136 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
138 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
139 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
141 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
142 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
144 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent);
146 this.databaseService = new HtDatabaseEventsService(dbClient, this);
147 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
150 /*-------------------------
151 * Provide access to model API
154 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
155 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
156 //eventRWFaultCurrent
157 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
159 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
161 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result =
162 this.eventRWFaultCurrent.getData(input);
163 outputBuilder.setData(result.getResult().getHits());
164 outputBuilder.setPagination(
165 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder(
166 result.getPagination()).build());
167 return outputBuilder;
170 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data
171 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
173 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
174 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
175 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result =
176 this.eventRWFaultLog.getData(input);
177 outputBuilder.setData(result.getResult().getHits());
178 outputBuilder.setPagination(
179 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder(
180 result.getPagination()).build());
181 return outputBuilder;
184 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data
185 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
187 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
188 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
189 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result =
190 this.maintenanceRW.getData(input);
191 outputBuilder.setData(result.getResult().getHits());
192 outputBuilder.setPagination(
193 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
194 result.getPagination()).build());
195 return outputBuilder;
198 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
199 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
201 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
203 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
204 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result =
205 this.mediatorserverRW.getData(input);
206 outputBuilder.setData(result.getResult().getHits());
207 outputBuilder.setPagination(
208 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
209 result.getPagination()).build());
210 return outputBuilder;
213 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
214 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
215 //networkelementConnectionRW
216 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(EntityInput input) {
217 ReadNetworkElementConnectionListOutputBuilder outputBuilder =
218 new ReadNetworkElementConnectionListOutputBuilder();
219 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> result =
220 this.networkelementConnectionRW.getData(input);
221 outputBuilder.setData(result.getResult().getHits());
222 outputBuilder.setPagination(
223 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder(
224 result.getPagination()).build());
225 return outputBuilder;
228 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
229 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
231 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
232 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
233 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result =
234 this.equipmentRW.getData(input);
235 outputBuilder.setData(result.getResult().getHits());
236 outputBuilder.setPagination(
237 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder(
238 result.getPagination()).build());
239 return outputBuilder;
242 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
243 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
245 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
246 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
247 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result =
248 this.connnectionlogRW.getData(input);
249 outputBuilder.setData(result.getResult().getHits());
250 outputBuilder.setPagination(
251 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.PaginationBuilder(
252 result.getPagination()).build());
253 return outputBuilder;
256 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data
257 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
259 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
260 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
261 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result =
262 this.eventlogRW.getData(input);
263 outputBuilder.setData(result.getResult().getHits());
264 outputBuilder.setPagination(
265 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
266 result.getPagination()).build());
267 return outputBuilder;
270 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
271 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
272 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
273 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
274 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result =
275 this.pm15mRW.getData(input);
276 outputBuilder.setData(result.getResult().getHits());
277 outputBuilder.setPagination(
278 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
279 result.getPagination()).build());
280 return outputBuilder;
283 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
284 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
285 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
286 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
287 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result =
288 this.pm24hRW.getData(input);
289 outputBuilder.setData(result.getResult().getHits());
290 outputBuilder.setPagination(
291 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
292 result.getPagination()).build());
293 return outputBuilder;
296 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
297 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
298 QueryResult<String> result = pm15mRW.getDataLtpList(input);
299 outputBuilder.setPagination(
300 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
301 result.getPagination()).build());
302 outputBuilder.setData(result.getResult().getHits());
303 return outputBuilder;
306 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
307 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
308 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
309 outputBuilder.setPagination(
310 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
311 result.getPagination()).build());
312 outputBuilder.setData(result.getResult().getHits());
313 return outputBuilder;
316 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
318 QueryResult<String> result = pm24hRW.getDataLtpList(input);
320 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
321 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
322 outputBuilder.setPagination(
323 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
324 result.getPagination()).build());
325 outputBuilder.setData(result.getResult().getHits());
326 return outputBuilder;
329 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input) throws IOException {
331 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
333 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
334 outputBuilder.setPagination(
335 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
336 result.getPagination()).build());
337 outputBuilder.setData(result.getResult().getHits());
338 return outputBuilder;
341 public ReadStatusOutputBuilder readStatus() throws IOException {
342 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result =
343 readStatus.getDataStatus();
345 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
346 outputBuilder.setData(result.getResult().getHits());
347 return outputBuilder;
350 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
351 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
354 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
355 NetworkElementConnectionEntity input) throws IOException {
356 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
358 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
360 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
361 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
362 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
363 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
367 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
368 UpdateNetworkElementConnectionInput input) throws IOException {
369 String id = this.networkelementConnectionRW.update(input, input.getId());
371 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
373 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
374 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
375 .setUsername(input.getUsername()).setPassword(input.getPassword())
376 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
380 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(
381 DeleteNetworkElementConnectionInput input) throws IOException {
382 boolean removed = this.networkelementConnectionRW.remove(input.getId());
384 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
386 return new DeleteNetworkElementConnectionOutputBuilder();
389 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
390 boolean removed = this.mediatorserverRW.remove(input.getId());
392 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
394 return new DeleteMediatorServerOutputBuilder();
397 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
398 boolean removed = this.maintenanceRW.remove(input.getId());
400 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
402 return new DeleteMaintenanceOutputBuilder();
405 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
406 if (input.getId() == null) {
407 throw new IOException("please give the id for updating entry");
409 String id = this.maintenanceRW.update(input, input.getId());
411 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
413 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
417 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
418 if (input.getId() == null) {
419 throw new IOException("please give the id for updating entry");
421 String id = this.mediatorserverRW.update(input, input.getId());
423 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
425 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
426 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
430 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
431 String id = this.maintenanceRW.write(input, input.getNodeId());
433 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
435 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
439 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
440 String id = this.mediatorserverRW.write(input, null);
443 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
445 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
446 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
450 public DataProvider getDataProvider() {
451 return this.databaseService;
454 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
455 return this.databaseMaintenanceService;