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.acessor.DataObjectAcessorPm;
29 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.acessor.DataObjectAcessorPm.Intervall;
30 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.acessor.DataObjectAcessorStatus;
31 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.acessor.DataObjectAcessorWithId;
32 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.entity.HtDatabaseEventsService;
33 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.entity.HtDatabaseMaintenanceService;
34 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.rpctypehelper.QueryResult;
35 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
36 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInput;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceOutputBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInput;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionOutputBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInput;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceOutputBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInput;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerOutputBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInput;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionOutputBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EntityInput;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MediatorServerEntity;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListOutputBuilder;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInput;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListOutputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListOutputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListOutputBuilder;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListOutputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListOutputBuilder;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListOutputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListOutputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListOutputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListOutputBuilder;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListOutputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListOutputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadStatusOutputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInput;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceOutputBuilder;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInput;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerOutputBuilder;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInput;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionOutputBuilder;
75 import org.slf4j.Logger;
76 import org.slf4j.LoggerFactory;
78 public class ElasticSearchDataProvider /*extends BaseStatusProvider /* implements IEntityDataProvider*/ {
80 private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchDataProvider.class);
82 private static final String EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE = "unable to write data to database";
83 private static final String EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE = "unable to update data in database";
84 private static final String EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE = "unable to remove data from database";
86 private final HtDatabaseClient dbClient;
87 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
88 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> eventRWFaultLog;
89 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> mediatorserverRW;
90 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> maintenanceRW;
91 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> equipmentRW;
92 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> connnectionlogRW;
93 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> eventlogRW;
94 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;
95 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> pm15mRW;
96 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> pm24hRW;
98 private final DataObjectAcessorStatus readStatus;
99 private final HtDatabaseEventsService databaseService;
100 private final HtDatabaseMaintenanceService databaseMaintenanceService;
102 public HtDatabaseClient getRawClient() {
103 return this.dbClient;
106 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
107 this(hosts, null, null, HtDatabaseClient.TRUSTALL_DEFAULT);
110 public ElasticSearchDataProvider(HostInfo[] hosts, String authUsername, String authPassword, boolean trustAllCerts)
113 LOG.info("Start {}", this.getClass().getName());
116 this.dbClient = HtDatabaseClient.getClient(hosts, authUsername, authPassword, trustAllCerts);
117 this.mediatorserverRW = new DataObjectAcessorWithId<>(dbClient, Entity.MediatorServer,
118 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data.class);
119 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
121 this.maintenanceRW = new DataObjectAcessorWithId<>(dbClient, Entity.Maintenancemode,
122 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data.class);
123 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
125 this.equipmentRW = new DataObjectAcessorWithId<>(dbClient, Entity.Inventoryequipment,
126 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data.class);
128 this.eventRWFaultCurrent = new DataObjectAcessorWithId<>(dbClient, Entity.Faultcurrent,
129 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data.class);
131 this.eventRWFaultLog = new DataObjectAcessorWithId<>(dbClient, Entity.Faultlog,
132 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data.class);
134 this.connnectionlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Connectionlog,
135 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data.class);
137 this.eventlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Eventlog,
138 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data.class);
140 this.networkelementConnectionRW = new DataObjectAcessorWithId<>(dbClient, Entity.NetworkelementConnection,
141 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data.class);
142 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
144 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
145 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data.class);
147 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
148 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data.class);
150 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent);
152 this.databaseService = new HtDatabaseEventsService(dbClient, this);
153 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
156 /*-------------------------
157 * Provide access to model API
160 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data
161 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder
162 //eventRWFaultCurrent
163 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
165 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
167 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> result =
168 this.eventRWFaultCurrent.getData(input);
169 outputBuilder.setData(result.getResult().getHits());
170 outputBuilder.setPagination(
171 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.PaginationBuilder(
172 result.getPagination()).build());
173 return outputBuilder;
176 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data
177 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder
179 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
180 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
181 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> result =
182 this.eventRWFaultLog.getData(input);
183 outputBuilder.setData(result.getResult().getHits());
184 outputBuilder.setPagination(
185 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.PaginationBuilder(
186 result.getPagination()).build());
187 return outputBuilder;
190 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data
191 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder
193 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
194 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
195 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> result =
196 this.maintenanceRW.getData(input);
197 outputBuilder.setData(result.getResult().getHits());
198 outputBuilder.setPagination(
199 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.PaginationBuilder(
200 result.getPagination()).build());
201 return outputBuilder;
204 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data
205 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Pagination
207 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
209 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
210 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data> result =
211 this.mediatorserverRW.getData(input);
212 outputBuilder.setData(result.getResult().getHits());
213 outputBuilder.setPagination(
214 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.PaginationBuilder(
215 result.getPagination()).build());
216 return outputBuilder;
219 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data
220 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder
221 //networkelementConnectionRW
222 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(EntityInput input) {
223 ReadNetworkElementConnectionListOutputBuilder outputBuilder =
224 new ReadNetworkElementConnectionListOutputBuilder();
225 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> result =
226 this.networkelementConnectionRW.getData(input);
227 outputBuilder.setData(result.getResult().getHits());
228 outputBuilder.setPagination(
229 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.PaginationBuilder(
230 result.getPagination()).build());
231 return outputBuilder;
234 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
235 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
237 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
238 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
239 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> result =
240 this.equipmentRW.getData(input);
241 outputBuilder.setData(result.getResult().getHits());
242 outputBuilder.setPagination(
243 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder(
244 result.getPagination()).build());
245 return outputBuilder;
248 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data
249 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.PaginationBuilder
251 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
252 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
253 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> result =
254 this.connnectionlogRW.getData(input);
255 outputBuilder.setData(result.getResult().getHits());
256 outputBuilder.setPagination(
257 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.PaginationBuilder(
258 result.getPagination()).build());
259 return outputBuilder;
262 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data
263 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder
265 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
266 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
267 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> result =
268 this.eventlogRW.getData(input);
269 outputBuilder.setData(result.getResult().getHits());
270 outputBuilder.setPagination(
271 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.PaginationBuilder(
272 result.getPagination()).build());
273 return outputBuilder;
276 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data
277 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder
278 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
279 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
280 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> result =
281 this.pm15mRW.getData(input);
282 outputBuilder.setData(result.getResult().getHits());
283 outputBuilder.setPagination(
284 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.PaginationBuilder(
285 result.getPagination()).build());
286 return outputBuilder;
289 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data
290 //org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Pagination
291 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
292 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
293 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> result =
294 this.pm24hRW.getData(input);
295 outputBuilder.setData(result.getResult().getHits());
296 outputBuilder.setPagination(
297 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.PaginationBuilder(
298 result.getPagination()).build());
299 return outputBuilder;
302 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
303 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
304 QueryResult<String> result = pm15mRW.getDataLtpList(input);
305 outputBuilder.setPagination(
306 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.ltp.list.output.PaginationBuilder(
307 result.getPagination()).build());
308 outputBuilder.setData(result.getResult().getHits());
309 return outputBuilder;
312 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
313 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
314 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
315 outputBuilder.setPagination(
316 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.device.list.output.PaginationBuilder(
317 result.getPagination()).build());
318 outputBuilder.setData(result.getResult().getHits());
319 return outputBuilder;
322 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
324 QueryResult<String> result = pm24hRW.getDataLtpList(input);
326 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
327 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder();
328 outputBuilder.setPagination(
329 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.ltp.list.output.PaginationBuilder(
330 result.getPagination()).build());
331 outputBuilder.setData(result.getResult().getHits());
332 return outputBuilder;
335 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input) throws IOException {
337 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
339 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
340 outputBuilder.setPagination(
341 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.device.list.output.PaginationBuilder(
342 result.getPagination()).build());
343 outputBuilder.setData(result.getResult().getHits());
344 return outputBuilder;
347 public ReadStatusOutputBuilder readStatus() throws IOException {
348 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> result =
349 readStatus.getDataStatus();
351 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
352 outputBuilder.setData(result.getResult().getHits());
353 return outputBuilder;
356 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
357 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
360 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
361 NetworkElementConnectionEntity input) throws IOException {
362 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
364 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
366 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
367 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
368 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
369 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
373 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
374 UpdateNetworkElementConnectionInput input) throws IOException {
375 String id = this.networkelementConnectionRW.update(input, input.getId());
377 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
379 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
380 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
381 .setUsername(input.getUsername()).setPassword(input.getPassword())
382 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
386 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(
387 DeleteNetworkElementConnectionInput input) throws IOException {
388 boolean removed = this.networkelementConnectionRW.remove(input.getId());
390 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
392 return new DeleteNetworkElementConnectionOutputBuilder();
395 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
396 boolean removed = this.mediatorserverRW.remove(input.getId());
398 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
400 return new DeleteMediatorServerOutputBuilder();
403 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
404 boolean removed = this.maintenanceRW.remove(input.getId());
406 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
408 return new DeleteMaintenanceOutputBuilder();
411 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
412 if (input.getId() == null) {
413 throw new IOException("please give the id for updating entry");
415 String id = this.maintenanceRW.update(input, input.getId());
417 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
419 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
423 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
424 if (input.getId() == null) {
425 throw new IOException("please give the id for updating entry");
427 String id = this.mediatorserverRW.update(input, input.getId());
429 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
431 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
432 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
436 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
437 String id = this.maintenanceRW.write(input, input.getNodeId());
439 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
441 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
445 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
446 String id = this.mediatorserverRW.write(input, null);
449 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
451 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
452 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
456 public DataProvider getDataProvider() {
457 return this.databaseService;
460 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
461 return this.databaseMaintenanceService;