import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev150714.PathComputationClient1;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev150714.Stateful1;
void setPeerProposal(final NodeId nodeId, final TlvsBuilder openTlvsBuilder) {
if (isSynOptimizationEnabled(openTlvsBuilder)) {
- final ListenableFuture<Optional<LspDbVersion>> future = this.dataBroker.newReadOnlyTransaction().read(
+ try (final ReadOnlyTransaction rTx = this.dataBroker.newReadOnlyTransaction()) {
+ final ListenableFuture<Optional<LspDbVersion>> future = rTx.read(
LogicalDatastoreType.OPERATIONAL,
this.topologyId.child(Node.class, new NodeKey(nodeId)).augmentation(Node1.class)
- .child(PathComputationClient.class).augmentation(PathComputationClient1.class)
- .child(LspDbVersion.class));
- Futures.addCallback(future, new FutureCallback<Optional<LspDbVersion>>() {
- @Override
- public void onSuccess(final Optional<LspDbVersion> result) {
- if (result.isPresent()) {
- openTlvsBuilder.addAugmentation(Tlvs3.class, new Tlvs3Builder().setLspDbVersion(result.get())
- .build());
+ .child(PathComputationClient.class).augmentation(PathComputationClient1.class)
+ .child(LspDbVersion.class));
+ Futures.addCallback(future, new FutureCallback<Optional<LspDbVersion>>() {
+ @Override
+ public void onSuccess(final Optional<LspDbVersion> result) {
+ if (result.isPresent()) {
+ openTlvsBuilder.addAugmentation(Tlvs3.class,
+ new Tlvs3Builder().setLspDbVersion(result.get()).build());
+ }
}
- }
- @Override
- public void onFailure(final Throwable t) {
- LOG.warn("Failed to read toplogy {}.", InstanceIdentifier.keyOf(PCEPStatefulPeerProposal.this.topologyId), t);
- }
- });
+ @Override
+ public void onFailure(final Throwable t) {
+ LOG.warn("Failed to read toplogy {}.", InstanceIdentifier.keyOf(
+ PCEPStatefulPeerProposal.this.topologyId), t);
+ }
+ });
+ }
}
}