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.rev201110.CreateMaintenanceInput;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceOutputBuilder;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInput;
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerOutputBuilder;
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionOutputBuilder;
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInput;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceOutputBuilder;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInput;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerOutputBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInput;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionOutputBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EntityInput;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Guicutthrough;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MaintenanceEntity;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MediatorServerEntity;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionEntity;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListOutputBuilder;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInput;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListOutputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListOutputBuilder;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadGuiCutThroughEntryOutputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListOutputBuilder;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListOutputBuilder;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListOutputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListOutputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListOutputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListOutputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListOutputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListOutputBuilder;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadStatusOutputBuilder;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInput;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceOutputBuilder;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInput;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerOutputBuilder;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
77 import org.slf4j.Logger;
78 import org.slf4j.LoggerFactory;
80 public class ElasticSearchDataProvider {
82 private static final Logger LOG = LoggerFactory.getLogger(ElasticSearchDataProvider.class);
84 private static final String EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE = "unable to write data to database";
85 private static final String EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE = "unable to update data in database";
86 private static final String EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE = "unable to remove data from database";
88 private final HtDatabaseClient dbClient;
89 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> eventRWFaultCurrent;
90 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> eventRWFaultLog;
91 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data> mediatorserverRW;
92 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> maintenanceRW;
93 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> guicutthroughRW;
94 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> equipmentRW;
95 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> connnectionlogRW;
96 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> eventlogRW;
97 private final DataObjectAcessorWithId<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> networkelementConnectionRW;
98 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> pm15mRW;
99 private final DataObjectAcessorPm<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> pm24hRW;
101 private final DataObjectAcessorStatus readStatus;
102 private final HtDatabaseEventsService databaseService;
103 private final HtDatabaseMaintenanceService databaseMaintenanceService;
105 public HtDatabaseClient getRawClient() {
106 return this.dbClient;
109 public ElasticSearchDataProvider(HostInfo[] hosts) throws Exception {
110 this(hosts, null, null, HtDatabaseClient.TRUSTALL_DEFAULT);
113 public ElasticSearchDataProvider(HostInfo[] hosts, String authUsername, String authPassword, boolean trustAllCerts)
116 LOG.info("Start {}", this.getClass().getName());
119 this.dbClient = HtDatabaseClient.getClient(hosts, authUsername, authPassword, trustAllCerts);
120 this.mediatorserverRW = new DataObjectAcessorWithId<>(dbClient, Entity.MediatorServer,
121 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data.class);
122 this.mediatorserverRW.setWriteInterface(MediatorServerEntity.class);
124 this.maintenanceRW = new DataObjectAcessorWithId<>(dbClient, Entity.Maintenancemode,
125 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data.class);
126 this.maintenanceRW.setWriteInterface(MaintenanceEntity.class);
128 this.guicutthroughRW = new DataObjectAcessorWithId<>(dbClient, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity.Guicutthrough,
129 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data.class);
130 this.guicutthroughRW.setWriteInterface(Guicutthrough.class);
132 this.equipmentRW = new DataObjectAcessorWithId<>(dbClient, Entity.Inventoryequipment,
133 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data.class);
135 this.eventRWFaultCurrent = new DataObjectAcessorWithId<>(dbClient, Entity.Faultcurrent,
136 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data.class);
138 this.eventRWFaultLog = new DataObjectAcessorWithId<>(dbClient, Entity.Faultlog,
139 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data.class);
141 this.connnectionlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Connectionlog,
142 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data.class);
144 this.eventlogRW = new DataObjectAcessorWithId<>(dbClient, Entity.Eventlog,
145 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data.class);
147 this.networkelementConnectionRW = new DataObjectAcessorWithId<>(dbClient, Entity.NetworkelementConnection,
148 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data.class);
149 this.networkelementConnectionRW.setWriteInterface(NetworkElementConnectionEntity.class);
151 this.pm15mRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA15M, Entity.Historicalperformance15min,
152 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data.class);
154 this.pm24hRW = new DataObjectAcessorPm<>(dbClient, Intervall.PMDATA24H, Entity.Historicalperformance24h,
155 org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data.class);
157 this.readStatus = new DataObjectAcessorStatus(dbClient, Entity.Faultcurrent);
159 this.databaseService = new HtDatabaseEventsService(dbClient, this);
160 this.databaseMaintenanceService = new HtDatabaseMaintenanceService(dbClient);
163 /*-------------------------
164 * Provide access to model API
167 public ReadFaultcurrentListOutputBuilder readFaultCurrentList(EntityInput input) {
169 ReadFaultcurrentListOutputBuilder outputBuilder = new ReadFaultcurrentListOutputBuilder();
171 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> result =
172 this.eventRWFaultCurrent.getData(input);
173 outputBuilder.setData(result.getResult().getHits());
174 outputBuilder.setPagination(
175 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.PaginationBuilder(
176 result.getPagination()).build());
177 return outputBuilder;
180 public ReadFaultlogListOutputBuilder readFaultLogList(EntityInput input) {
181 ReadFaultlogListOutputBuilder outputBuilder = new ReadFaultlogListOutputBuilder();
182 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> result =
183 this.eventRWFaultLog.getData(input);
184 outputBuilder.setData(result.getResult().getHits());
185 outputBuilder.setPagination(
186 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.PaginationBuilder(
187 result.getPagination()).build());
188 return outputBuilder;
191 public ReadMaintenanceListOutputBuilder readMaintenanceList(EntityInput input) {
192 ReadMaintenanceListOutputBuilder outputBuilder = new ReadMaintenanceListOutputBuilder();
193 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> result =
194 this.maintenanceRW.getData(input);
195 outputBuilder.setData(result.getResult().getHits());
196 outputBuilder.setPagination(
197 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.PaginationBuilder(
198 result.getPagination()).build());
199 return outputBuilder;
202 public ReadMediatorServerListOutputBuilder readMediatorServerList(EntityInput input) {
204 ReadMediatorServerListOutputBuilder outputBuilder = new ReadMediatorServerListOutputBuilder();
205 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data> result =
206 this.mediatorserverRW.getData(input);
207 outputBuilder.setData(result.getResult().getHits());
208 outputBuilder.setPagination(
209 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.PaginationBuilder(
210 result.getPagination()).build());
211 return outputBuilder;
214 public ReadNetworkElementConnectionListOutputBuilder readNetworkElementConnectionList(EntityInput input) {
215 ReadNetworkElementConnectionListOutputBuilder outputBuilder =
216 new ReadNetworkElementConnectionListOutputBuilder();
217 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> result =
218 this.networkelementConnectionRW.getData(input);
219 outputBuilder.setData(result.getResult().getHits());
220 outputBuilder.setPagination(
221 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.PaginationBuilder(
222 result.getPagination()).build());
223 return outputBuilder;
226 public ReadInventoryListOutputBuilder readInventoryList(EntityInput input) {
227 ReadInventoryListOutputBuilder outputBuilder = new ReadInventoryListOutputBuilder();
228 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> result =
229 this.equipmentRW.getData(input);
230 outputBuilder.setData(result.getResult().getHits());
231 outputBuilder.setPagination(
232 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.PaginationBuilder(
233 result.getPagination()).build());
234 return outputBuilder;
237 public ReadConnectionlogListOutputBuilder readConnectionlogList(EntityInput input) {
238 ReadConnectionlogListOutputBuilder outputBuilder = new ReadConnectionlogListOutputBuilder();
239 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> result =
240 this.connnectionlogRW.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.rev201110.read.connectionlog.list.output.PaginationBuilder(
244 result.getPagination()).build());
245 return outputBuilder;
248 public ReadEventlogListOutputBuilder readEventlogList(ReadEventlogListInput input) throws IOException {
249 ReadEventlogListOutputBuilder outputBuilder = new ReadEventlogListOutputBuilder();
250 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> result =
251 this.eventlogRW.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.rev201110.read.eventlog.list.output.PaginationBuilder(
255 result.getPagination()).build());
256 return outputBuilder;
259 public ReadPmdata15mListOutputBuilder readPmdata15mList(EntityInput input) {
260 ReadPmdata15mListOutputBuilder outputBuilder = new ReadPmdata15mListOutputBuilder();
261 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> result =
262 this.pm15mRW.getData(input);
263 LOG.debug("Read data: readPmdata15mList: {}", result);
264 outputBuilder.setData(result.getResult().getHits());
265 outputBuilder.setPagination(
266 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.PaginationBuilder(
267 result.getPagination()).build());
268 return outputBuilder;
271 public ReadPmdata24hListOutputBuilder readPmdata24hList(EntityInput input) {
272 ReadPmdata24hListOutputBuilder outputBuilder = new ReadPmdata24hListOutputBuilder();
273 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> result =
274 this.pm24hRW.getData(input);
275 outputBuilder.setData(result.getResult().getHits());
276 outputBuilder.setPagination(
277 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.PaginationBuilder(
278 result.getPagination()).build());
279 return outputBuilder;
282 public ReadPmdata15mLtpListOutputBuilder readPmdata15mLtpList(EntityInput input) throws IOException {
283 ReadPmdata15mLtpListOutputBuilder outputBuilder = new ReadPmdata15mLtpListOutputBuilder();
284 QueryResult<String> result = pm15mRW.getDataLtpList(input);
285 outputBuilder.setPagination(
286 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.ltp.list.output.PaginationBuilder(
287 result.getPagination()).build());
288 outputBuilder.setData(result.getResult().getHits());
289 return outputBuilder;
292 public ReadPmdata15mDeviceListOutputBuilder readPmdata15mDeviceList(EntityInput input) throws IOException {
293 ReadPmdata15mDeviceListOutputBuilder outputBuilder = new ReadPmdata15mDeviceListOutputBuilder();
294 QueryResult<String> result = pm15mRW.getDataDeviceList(input);
295 outputBuilder.setPagination(
296 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.device.list.output.PaginationBuilder(
297 result.getPagination()).build());
298 outputBuilder.setData(result.getResult().getHits());
299 return outputBuilder;
302 public ReadPmdata24hLtpListOutputBuilder readPmdata24hLtpList(EntityInput input) throws IOException {
304 QueryResult<String> result = pm24hRW.getDataLtpList(input);
306 ReadPmdata24hLtpListOutputBuilder outputBuilder = new ReadPmdata24hLtpListOutputBuilder();
307 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.ltp.list.output.PaginationBuilder();
308 outputBuilder.setPagination(
309 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.ltp.list.output.PaginationBuilder(
310 result.getPagination()).build());
311 outputBuilder.setData(result.getResult().getHits());
312 return outputBuilder;
315 public ReadPmdata24hDeviceListOutputBuilder readPmdata24hDeviceList(EntityInput input) throws IOException {
317 QueryResult<String> result = pm24hRW.getDataDeviceList(input);
319 ReadPmdata24hDeviceListOutputBuilder outputBuilder = new ReadPmdata24hDeviceListOutputBuilder();
320 outputBuilder.setPagination(
321 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.device.list.output.PaginationBuilder(
322 result.getPagination()).build());
323 outputBuilder.setData(result.getResult().getHits());
324 return outputBuilder;
327 public ReadStatusOutputBuilder readStatus() throws IOException {
328 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.status.output.Data> result =
329 readStatus.getDataStatus();
331 ReadStatusOutputBuilder outputBuilder = new ReadStatusOutputBuilder();
332 outputBuilder.setData(result.getResult().getHits());
333 return outputBuilder;
336 public boolean waitForYellowDatabaseStatus(long timeout, TimeUnit unit) {
337 return this.dbClient.waitForYellowStatus(unit.toMillis(timeout));
340 public CreateNetworkElementConnectionOutputBuilder createNetworkElementConnection(
341 NetworkElementConnectionEntity input) throws IOException {
342 String id = this.networkelementConnectionRW.update(input, input.getNodeId());
344 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
346 CreateNetworkElementConnectionOutputBuilder builder = new CreateNetworkElementConnectionOutputBuilder();
347 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
348 .setUsername(input.getUsername()).setPassword(input.getPassword()).setIsRequired(input.isIsRequired())
349 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
353 public UpdateNetworkElementConnectionOutputBuilder updateNetworkElementConnection(
354 UpdateNetworkElementConnectionInput input) throws IOException {
355 String id = this.networkelementConnectionRW.update(input, input.getId());
357 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
359 UpdateNetworkElementConnectionOutputBuilder builder = new UpdateNetworkElementConnectionOutputBuilder();
360 builder.setId(id).setNodeId(input.getNodeId()).setHost(input.getHost()).setPort(input.getPort())
361 .setUsername(input.getUsername()).setPassword(input.getPassword())
362 .setCoreModelCapability(input.getCoreModelCapability()).setDeviceType(input.getDeviceType());
366 public DeleteNetworkElementConnectionOutputBuilder deleteNetworkElementConnection(
367 DeleteNetworkElementConnectionInput input) throws IOException {
368 boolean removed = this.networkelementConnectionRW.remove(input.getId());
370 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
372 return new DeleteNetworkElementConnectionOutputBuilder();
375 public DeleteMediatorServerOutputBuilder deleteMediatorServer(DeleteMediatorServerInput input) throws IOException {
376 boolean removed = this.mediatorserverRW.remove(input.getId());
378 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
380 return new DeleteMediatorServerOutputBuilder();
383 public DeleteMaintenanceOutputBuilder deleteMaintenance(DeleteMaintenanceInput input) throws IOException {
384 boolean removed = this.maintenanceRW.remove(input.getId());
386 throw new IOException(EXCEPTION_UNABLE_TO_REMOVE_FROM_DATABASE);
388 return new DeleteMaintenanceOutputBuilder();
391 public UpdateMaintenanceOutputBuilder updateMaintenance(UpdateMaintenanceInput input) throws IOException {
392 if (input.getId() == null) {
393 throw new IOException("please give the id for updating entry");
395 String id = this.maintenanceRW.update(input, input.getId());
397 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
399 UpdateMaintenanceOutputBuilder builder = new UpdateMaintenanceOutputBuilder(input).setId(id);
403 public UpdateMediatorServerOutputBuilder updateMediatorServer(UpdateMediatorServerInput input) throws IOException {
404 if (input.getId() == null) {
405 throw new IOException("please give the id for updating entry");
407 String id = this.mediatorserverRW.update(input, input.getId());
409 throw new IOException(EXCEPTION_UNABLE_TO_UPDATE_IN_DATABASE);
411 UpdateMediatorServerOutputBuilder builder = new UpdateMediatorServerOutputBuilder();
412 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
416 public CreateMaintenanceOutputBuilder createMaintenance(CreateMaintenanceInput input) throws IOException {
417 String id = this.maintenanceRW.write(input, input.getNodeId());
419 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
421 CreateMaintenanceOutputBuilder builder = new CreateMaintenanceOutputBuilder(input).setId(id);
425 public CreateMediatorServerOutputBuilder createMediatorServer(CreateMediatorServerInput input) throws IOException {
426 String id = this.mediatorserverRW.write(input, null);
429 throw new IOException(EXCEPTION_UNABLE_TO_WRITE_IN_DATABASE);
431 CreateMediatorServerOutputBuilder builder = new CreateMediatorServerOutputBuilder();
432 builder.setId(id).setName(input.getName()).setUrl(input.getUrl());
436 public ReadGuiCutThroughEntryOutputBuilder readGuiCutThroughEntry(EntityInput input) {
437 ReadGuiCutThroughEntryOutputBuilder outputBuilder = new ReadGuiCutThroughEntryOutputBuilder();
438 QueryResult<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.Data> result =
439 this.guicutthroughRW.getData(input);
440 outputBuilder.setData(result.getResult().getHits());
441 outputBuilder.setPagination(
442 new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.gui.cut.through.entry.output.PaginationBuilder(
444 return outputBuilder;
447 public DataProvider getDataProvider() {
448 return this.databaseService;
451 public HtDatabaseMaintenance getHtDatabaseMaintenance() {
452 return this.databaseMaintenanceService;