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;
99 public HtDatabaseClient getRawClient() {
100 return this.dbClient;
102 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
103 this(hosts,null,null,DEFAULT_TRUSTALLCERTS);
105 public ElasticSearchDataProvider(HostInfo[] hosts,String authUsername,String authPassword, boolean trustAllCerts) throws Exception {
107 LOG.info("Start {}", this.getClass().getName());
109 this.dbClient = new HtDatabaseClient(hosts,authUsername,authPassword,trustAllCerts);
110 this.mediatorserverRW = new DataObjectAcessor<>(dbClient, Entity.MediatorServer,
111 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
112 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
114 this.maintenanceRW = new DataObjectAcessor<>(dbClient, Entity.Maintenancemode,
115 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
116 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
118 this.equipmentRW = new DataObjectAcessor<>(dbClient, Entity.Inventoryequipment,
119 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
121 this.eventRWFaultCurrent = new DataObjectAcessor<>(dbClient, Entity.Faultcurrent,
122 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
124 this.eventRWFaultLog = new DataObjectAcessor<>(dbClient, Entity.Faultlog,
125 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
127 this.connnectionlogRW = new DataObjectAcessor<>(dbClient, Entity.Connectionlog,
128 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
130 this.eventlogRW = new DataObjectAcessor<>(dbClient, Entity.Eventlog,
131 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
133 this.networkelementConnectionRW = new DataObjectAcessor<>(dbClient, Entity.NetworkelementConnection,
134 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
135 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
137 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
138 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
140 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
141 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
143 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent );
145 this.databaseService = new HtDatabaseEventsService(dbClient, this);
146 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
149 /*-------------------------
150 * Provide access to model API
153 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
154 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
155 //eventRWFaultCurrent
156 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
158 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
160 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result = this.eventRWFaultCurrent
162 outputBuilder.setData(result.getResult().getHits());
163 outputBuilder.setPagination(
164 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder(
165 result.getPagination()).build());
166 return outputBuilder;
169 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data
170 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
172 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
173 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
174 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result = this.eventRWFaultLog
176 outputBuilder.setData(result.getResult().getHits());
177 outputBuilder.setPagination(
178 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder(
179 result.getPagination()).build());
180 return outputBuilder;
183 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data
184 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
186 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
187 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
188 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result = this.maintenanceRW
190 outputBuilder.setData(result.getResult().getHits());
191 outputBuilder.setPagination(
192 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
193 result.getPagination()).build());
194 return outputBuilder;
197 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
198 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
200 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
202 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
203 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result = this.mediatorserverRW
205 outputBuilder.setData(result.getResult().getHits());
206 outputBuilder.setPagination(
207 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
208 result.getPagination()).build());
209 return outputBuilder;
212 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
213 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
214 //networkelementConnectionRW
215 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(
217 ReadNetworkElementConnectionListOutputBuilder outputBuilder = new ReadNetworkElementConnectionListOutputBuilder();
218 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
220 outputBuilder.setData(result.getResult().getHits());
221 outputBuilder.setPagination(
222 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder(
223 result.getPagination()).build());
224 return outputBuilder;
227 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
228 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
230 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
231 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
232 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result = this.equipmentRW
234 outputBuilder.setData(result.getResult().getHits());
235 outputBuilder.setPagination(
236 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder(
237 result.getPagination()).build());
238 return outputBuilder;
241 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
242 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
244 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
245 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
246 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result = this.connnectionlogRW
248 outputBuilder.setData(result.getResult().getHits());
249 outputBuilder.setPagination(
250 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.PaginationBuilder(
251 result.getPagination()).build());
252 return outputBuilder;
255 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data
256 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
258 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
259 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
260 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result = this.eventlogRW
262 outputBuilder.setData(result.getResult().getHits());
263 outputBuilder.setPagination(
264 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
265 result.getPagination()).build());
266 return outputBuilder;
269 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
270 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
271 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
272 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
273 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result = this.pm15mRW
275 outputBuilder.setData(result.getResult().getHits());
276 outputBuilder.setPagination(
277 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
278 result.getPagination()).build());
279 return outputBuilder;
282 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
283 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
284 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
285 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
286 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result = this.pm24hRW
288 outputBuilder.setData(result.getResult().getHits());
289 outputBuilder.setPagination(
290 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
291 result.getPagination()).build());
292 return outputBuilder;
295 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
296 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
297 QueryResult<String> result = pm15mRW.getDataLtpList(input);
298 outputBuilder.setPagination(
299 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
300 result.getPagination()).build());
301 outputBuilder.setData(result.getResult().getHits());
302 return outputBuilder;
305 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
306 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
307 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
308 outputBuilder.setPagination(
309 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
310 result.getPagination()).build());
311 outputBuilder.setData(result.getResult().getHits());
312 return outputBuilder;
315 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
317 QueryResult<String> result = pm24hRW.getDataLtpList(input);
319 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
320 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
321 outputBuilder.setPagination(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
322 result.getPagination()).build());
323 outputBuilder.setData(result.getResult().getHits());
324 return outputBuilder;
327 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input)
330 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
332 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
333 outputBuilder.setPagination(
334 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
335 result.getPagination()).build());
336 outputBuilder.setData(result.getResult().getHits());
337 return outputBuilder;
340 public ReadStatusOutputBuilder readStatus() throws IOException {
341 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result = readStatus.getDataStatus();
343 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
344 outputBuilder.setData(result.getResult().getHits());
345 return outputBuilder;
348 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
349 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
352 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
353 NetworkElementConnectionEntity input) throws IOException {
354 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
356 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
358 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
359 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
360 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
361 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
365 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
366 UpdateNetworkElementConnectionInput input) throws IOException {
367 String id = this.networkelementConnectionRW.update(input, input.getId());
369 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
371 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
372 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
373 .setUsername(input.getUsername()).setPassword(input.getPassword())
374 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
378 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(DeleteNetworkElementConnectionInput input) throws IOException {
379 boolean removed = this.networkelementConnectionRW.remove(input.getId());
381 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
383 return new DeleteNetworkElementConnectionOutputBuilder();
386 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
387 boolean removed = this.mediatorserverRW.remove(input.getId());
389 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
391 return new DeleteMediatorServerOutputBuilder();
394 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
395 boolean removed = this.maintenanceRW.remove(input.getId());
397 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
399 return new DeleteMaintenanceOutputBuilder();
402 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
403 if (input.getId() == null) {
404 throw new IOException("please give the id for updating entry");
406 String id = this.maintenanceRW.update(input, input.getId());
408 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
410 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
414 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
415 if (input.getId() == null) {
416 throw new IOException("please give the id for updating entry");
418 String id = this.mediatorserverRW.update(input, input.getId());
420 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
422 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
423 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
427 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
428 String id = this.maintenanceRW.write(input, input.getNodeId());
430 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
432 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
436 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
437 String id = this.mediatorserverRW.write(input, null);
440 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
442 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
443 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
447 public DataProvider getDataProvider() {
448 return this.databaseService;
451 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
452 return this.databaseMaintenanceService;