<T extends DataObject> ListenableFuture<Optional<T>> readOperationalData(final InstanceIdentifier<T> id) { try (final ReadOnlyTransaction t = chain.newReadOnlyTransaction()) { return t.read(LogicalDatastoreType.OPERATIONAL, id); } }
private <U extends org.opendaylight.yangtools.yang.binding.DataObject> U readTransaction( InstanceIdentifier<U> readIID, LogicalDatastoreType logicalDatastoreType) { ReadOnlyTransaction readTx = txChain.newReadOnlyTransaction(); CheckedFuture<Optional<U>, ReadFailedException> readFuture = readTx.read(logicalDatastoreType, readIID); readTx.close(); try { Optional<U> optionalDataObject = readFuture.checkedGet(); if (optionalDataObject != null && optionalDataObject.isPresent()) { return optionalDataObject.get(); } else { LOG.debug("{}: Failed to read", Thread.currentThread().getStackTrace()[1]); } } catch (ReadFailedException e) { LOG.warn("Failed to ....", e); } return null; }
/** * @param path InstanceIdentifier path specifying data * @param logicalDatastoreType Type of datastore where operation will be held * @param <T> Any type extending DataObject * @return CheckedFuture callback of operation */ public <T extends DataObject> CheckedFuture<Optional<T>, ReadFailedException> read(InstanceIdentifier<T> path, LogicalDatastoreType logicalDatastoreType) { checkParams(path, logicalDatastoreType); synchronized (dataBroker) { try (ReadOnlyTransaction transaction = bindingTransactionChain.newReadOnlyTransaction()) { return transaction.read(logicalDatastoreType, path); } } }