X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Finventory-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Finventory%2Fmanager%2FNodeChangeCommiter.java;h=ec184ad1013a34bbc4b8660880a37abdbfa9c5f8;hb=a23ab6d60b7b57184a8fe59e282e46b448c86d6a;hp=57ec89307678ae5e28641671182650e8de9254b6;hpb=d206d27042eef2185c875f85cf6eac61a1bd77c4;p=controller.git diff --git a/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java b/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java index 57ec893076..ec184ad101 100644 --- a/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java +++ b/opendaylight/md-sal/inventory-manager/src/main/java/org/opendaylight/controller/md/inventory/manager/NodeChangeCommiter.java @@ -32,9 +32,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.No import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; -import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder; import org.slf4j.Logger; @@ -81,7 +78,7 @@ class NodeChangeCommiter implements OpendaylightInventoryListener { InstanceIdentifier value = (InstanceIdentifier) ref.getValue(); LOG.debug("updating node connector : {}.", value); NodeConnector build = data.build(); - tx.put(LogicalDatastoreType.OPERATIONAL, value, build); + tx.merge(LogicalDatastoreType.OPERATIONAL, value, build, true); } }); } @@ -114,10 +111,10 @@ class NodeChangeCommiter implements OpendaylightInventoryListener { InstanceIdentifierBuilder builder = ((InstanceIdentifier) ref.getValue()).builder(); InstanceIdentifierBuilder augmentation = builder.augmentation(FlowCapableNode.class); final InstanceIdentifier path = augmentation.build(); - CheckedFuture readFuture = tx.read(LogicalDatastoreType.OPERATIONAL, path); - Futures.addCallback(readFuture, new FutureCallback>() { + CheckedFuture, ?> readFuture = tx.read(LogicalDatastoreType.OPERATIONAL, path); + Futures.addCallback(readFuture, new FutureCallback>() { @Override - public void onSuccess(Optional optional) { + public void onSuccess(Optional optional) { enqueueWriteNodeDataTx(node, flowNode, path); if (!optional.isPresent()) { enqueuePutTable0Tx(ref); @@ -139,13 +136,9 @@ class NodeChangeCommiter implements OpendaylightInventoryListener { manager.enqueue(new InventoryOperation() { @Override public void applyOperation(final ReadWriteTransaction tx) { - final NodeBuilder nodeBuilder = new NodeBuilder(node); - nodeBuilder.setKey(new NodeKey(node.getId())); - final FlowCapableNode augment = InventoryMapping.toInventoryAugment(flowNode); - nodeBuilder.addAugmentation(FlowCapableNode.class, augment); LOG.debug("updating node :{} ", path); - tx.put(LogicalDatastoreType.OPERATIONAL, path, augment); + tx.merge(LogicalDatastoreType.OPERATIONAL, path, augment, true); } }); }