BUG-592: use new InstanceIdentifier APIs 24/6424/1
authorRobert Varga <rovarga@cisco.com>
Sat, 26 Apr 2014 17:21:17 +0000 (19:21 +0200)
committerRobert Varga <rovarga@cisco.com>
Sun, 27 Apr 2014 09:01:37 +0000 (11:01 +0200)
This patch gets rid of deprecation warnings stemming from changes to
InstanceIdentifier APIs. These have been optimized to elide as many
list copies as possible and expose utility functions which are very
useful for building temporary instance identifier objects. We attempt to
use them as much as possible.

Change-Id: I7cd8e116eaf2080974ba6d943279f6586298ca50
Signed-off-by: Robert Varga <rovarga@cisco.com>
13 files changed:
bgp/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/LinkstateAdjRIBsIn.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/Ipv4AdjRIBsIn.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/Ipv6AdjRIBsIn.java
bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractAdjRIBsIn.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractReachabilityTopologyBuilder.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java
bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java
pcep/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/AbstractTopologySessionListener.java
pcep/tunnel-provider/src/main/java/org/opendaylight/bgpcep/pcep/tunnel/provider/NodeChangedListener.java
pcep/tunnel-provider/src/main/java/org/opendaylight/bgpcep/pcep/tunnel/provider/PCEPTunnelTopologyProvider.java
pcep/tunnel-provider/src/main/java/org/opendaylight/bgpcep/pcep/tunnel/provider/TunnelProgramming.java
programming/impl/src/main/java/org/opendaylight/bgpcep/programming/impl/ProgrammingServiceImpl.java
programming/tunnel-api/src/main/java/org/opendaylight/bgpcep/programming/tunnel/TunnelProgrammingUtil.java

index 23dfd317f1ef0bf1fc7f4246be72f9bb088a9d30..c93f3d6e2716ab2a3ce4ff9c04f6b407bc203c19 100644 (file)
@@ -59,7 +59,7 @@ import com.google.common.base.Preconditions;
 final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination, LinkstateRoute> {
 
        private abstract static class LinkstateRIBEntryData<A extends LinkStateAttribute> extends
-                       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
+       RIBEntryData<CLinkstateDestination, LinkstateRoute> {
                private final A lsattr;
 
                protected LinkstateRIBEntryData(final PathAttributes attributes, final A lsattr) {
@@ -100,7 +100,7 @@ final class LinkstateAdjRIBsIn extends AbstractAdjRIBsIn<CLinkstateDestination,
 
        @Override
        public InstanceIdentifier<LinkstateRoute> identifierForKey(final InstanceIdentifier<Tables> basePath, final CLinkstateDestination key) {
-               return InstanceIdentifier.builder(basePath).child(LinkstateRoutes.class).child(LinkstateRoute.class,
+               return basePath.builder().child(LinkstateRoutes.class).child(LinkstateRoute.class,
                                new LinkstateRouteKey(LinkstateNlriParser.serializeNlri(key))).toInstance();
        }
 
index df6ace362dfd2710071220694fcb3fbfda5e403f..59dbe3b106d683562308d0094a8ada317207ef22 100644 (file)
@@ -31,7 +31,7 @@ final class Ipv4AdjRIBsIn extends AbstractAdjRIBsIn<Ipv4Prefix, Ipv4Route> {
 
        @Override
        public InstanceIdentifier<Ipv4Route> identifierForKey(final InstanceIdentifier<Tables> basePath, final Ipv4Prefix key) {
-               return InstanceIdentifier.builder(basePath).child(Ipv4Routes.class).child(Ipv4Route.class, new Ipv4RouteKey(key)).toInstance();
+               return basePath.builder().child(Ipv4Routes.class).child(Ipv4Route.class, new Ipv4RouteKey(key)).toInstance();
        }
 
        @Override
index 3b8fd748edf7114e558f006e56631901d1c6b238..8408989ba2513e9c4d806d54724589f5827fcaad 100644 (file)
@@ -31,7 +31,7 @@ final class Ipv6AdjRIBsIn extends AbstractAdjRIBsIn<Ipv6Prefix, Ipv6Route> {
 
        @Override
        public InstanceIdentifier<Ipv6Route> identifierForKey(final InstanceIdentifier<Tables> basePath, final Ipv6Prefix key) {
-               return InstanceIdentifier.builder(basePath).child(Ipv6Routes.class).child(Ipv6Route.class, new Ipv6RouteKey(key)).toInstance();
+               return basePath.builder().child(Ipv6Routes.class).child(Ipv6Route.class, new Ipv6RouteKey(key)).toInstance();
        }
 
        @Override
index bafc4875087c95746a58e32314ef302b212c343e..18e787055281b00659e429a1e120a2496d7b8fb5 100644 (file)
@@ -146,7 +146,7 @@ public abstract class AbstractAdjRIBsIn<I, D extends DataObject> implements AdjR
        private final Map<Peer, Boolean> peers = new HashMap<>();
 
        protected AbstractAdjRIBsIn(final DataModificationTransaction trans, final RibReference rib, final TablesKey key) {
-               this.basePath = InstanceIdentifier.builder(rib.getInstanceIdentifier()).child(LocRib.class).child(Tables.class, key).toInstance();
+               this.basePath = rib.getInstanceIdentifier().child(LocRib.class).child(Tables.class, key);
 
                this.eor = new UpdateBuilder().setPathAttributes(
                                new PathAttributesBuilder().addAugmentation(
index b714c29a23ad5c5b5801c54ce541bfab8173634e..9fd970d6118d71eb36ed76b7e8d1a598d7e27d03 100644 (file)
@@ -64,7 +64,7 @@ abstract class AbstractReachabilityTopologyBuilder<T extends Route> extends Abst
        }
 
        private InstanceIdentifier<Node1> nodeInstanceId(final NodeId ni) {
-               return InstanceIdentifier.builder(getInstanceIdentifier()).child(Node.class, new NodeKey(ni)).augmentation(Node1.class).toInstance();
+               return getInstanceIdentifier().builder().child(Node.class, new NodeKey(ni)).augmentation(Node1.class).toInstance();
        }
 
        private InstanceIdentifier<Node1> ensureNodePresent(final DataModification<InstanceIdentifier<?>, DataObject> trans, final NodeId ni) {
@@ -102,7 +102,7 @@ abstract class AbstractReachabilityTopologyBuilder<T extends Route> extends Abst
                final PrefixKey pk = new PrefixKey(prefix);
 
                trans.putOperationalData(
-                               InstanceIdentifier.builder(nii).child(
+                               nii.builder().child(
                                                org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.nt.l3.unicast.igp.topology.rev131021.igp.node.attributes.IgpNodeAttributes.class).child(
                                                                Prefix.class, pk).toInstance(), new PrefixBuilder().setKey(pk).setPrefix(prefix).build());
        }
@@ -116,7 +116,7 @@ abstract class AbstractReachabilityTopologyBuilder<T extends Route> extends Abst
                final IpPrefix prefix = getPrefix(value);
                final PrefixKey pk = new PrefixKey(prefix);
 
-               trans.removeOperationalData(InstanceIdentifier.builder(nii).child(
+               trans.removeOperationalData(nii.builder().child(
                                org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.nt.l3.unicast.igp.topology.rev131021.igp.node.attributes.IgpNodeAttributes.class).child(
                                                Prefix.class, pk).toInstance());
 
index bdb8ce0494ca8e64128670fc01908fa38da883ef..b133c143d5d2bfa7c929cf6478bd5f731f6a5b02 100644 (file)
@@ -80,7 +80,7 @@ TopologyReference {
        }
 
        public final InstanceIdentifier<Tables> tableInstanceIdentifier(final Class<? extends AddressFamily> afi, final Class<? extends SubsequentAddressFamily> safi) {
-               return InstanceIdentifier.builder(locRibReference.getInstanceIdentifier()).child(LocRib.class).child(Tables.class, new TablesKey(afi, safi)).toInstance();
+               return locRibReference.getInstanceIdentifier().builder().child(LocRib.class).child(Tables.class, new TablesKey(afi, safi)).toInstance();
        }
 
        protected abstract void createObject(DataModification<InstanceIdentifier<?>, DataObject> trans, InstanceIdentifier<T> id, T value);
index 11b659dbc162e8d731eff5ed1ed7e7bfd1590c6f..81caf95f7eba2929baa6db68fe9405e8aa6b33f7 100644 (file)
@@ -160,14 +160,14 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
 
                /**
                 * Synchronized in-core state of a node into the backing store using the transaction
-                * 
+                *
                 * @param trans data modification transaction which to use
                 * @return True if the node has been purged, false otherwise.
                 */
                private boolean syncState(final DataModification<InstanceIdentifier<?>, DataObject> trans) {
-                       final InstanceIdentifier<Node> nid = InstanceIdentifier.builder(getInstanceIdentifier()).child(
+                       final InstanceIdentifier<Node> nid = getInstanceIdentifier().child(
                                        org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node.class,
-                                       this.nb.getKey()).build();
+                                       this.nb.getKey());
 
                        /*
                         * Transaction's putOperationalData() does a merge. Force it onto a replace
@@ -351,9 +351,9 @@ public final class LinkstateTopologyBuilder extends AbstractTopologyBuilder<Link
        }
 
        private InstanceIdentifier<?> buildLinkIdentifier(final UriBuilder base, final LinkId id) {
-               return InstanceIdentifier.builder(getInstanceIdentifier()).child(
+               return getInstanceIdentifier().child(
                                org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link.class,
-                               new LinkKey(id)).toInstance();
+                               new LinkKey(id));
        }
 
        private static Float bandwidthToFloat(final Bandwidth bandwidth) {
index 6281d4151a9ff8623146a130a62a48ee402eedea..ab3b150d52f15481fe147485a1951c0706a985a5 100644 (file)
@@ -102,7 +102,7 @@ public abstract class AbstractTopologySessionListener<SRPID, PLSPID> implements
                for (final Node n : topo.getNode()) {
                        LOG.debug("Matching topology node {} to id {}", n, pccId);
                        if (n.getNodeId().getValue().equals(pccId)) {
-                               this.topologyNode = InstanceIdentifier.builder(this.serverSessionManager.getTopology()).child(Node.class, n.getKey()).toInstance();
+                               this.topologyNode = this.serverSessionManager.getTopology().child(Node.class, n.getKey());
                                LOG.debug("Reusing topology node {} for id {} at {}", n, pccId, this.topologyNode);
                                return n;
                        }
@@ -114,7 +114,7 @@ public abstract class AbstractTopologySessionListener<SRPID, PLSPID> implements
                 */
                final NodeId id = new NodeId(pccId);
                final NodeKey nk = new NodeKey(id);
-               final InstanceIdentifier<Node> nti = InstanceIdentifier.builder(this.serverSessionManager.getTopology()).child(Node.class, nk).toInstance();
+               final InstanceIdentifier<Node> nti = this.serverSessionManager.getTopology().child(Node.class, nk);
 
                final Node ret = new NodeBuilder().setKey(nk).setNodeId(id).build();
 
@@ -147,7 +147,7 @@ public abstract class AbstractTopologySessionListener<SRPID, PLSPID> implements
                onSessionUp(session, this.pccBuilder);
 
                this.topologyAugmentBuilder = new Node1Builder().setPathComputationClient(this.pccBuilder.build());
-               this.topologyAugment = InstanceIdentifier.builder(this.topologyNode).augmentation(Node1.class).toInstance();
+               this.topologyAugment = this.topologyNode.augmentation(Node1.class);
                final Node1 ta = this.topologyAugmentBuilder.build();
 
                trans.putOperationalData(this.topologyAugment, ta);
@@ -273,7 +273,7 @@ public abstract class AbstractTopologySessionListener<SRPID, PLSPID> implements
        }
 
        protected InstanceIdentifierBuilder<PathComputationClient> pccIdentifier() {
-               return InstanceIdentifier.builder(this.topologyAugment).child(PathComputationClient.class);
+               return this.topologyAugment.builder().child(PathComputationClient.class);
        }
 
        protected final synchronized PCEPRequest removeRequest(final SRPID id) {
index 1ff7b7f5ac940240803831b14a857cc66c09a075..81a7100830eceabde0aa096b718cd8474addadd7 100644 (file)
@@ -105,7 +105,7 @@ public final class NodeChangedListener implements DataChangeListener {
                }
 
                for (final ReportedLsp l : pccnode.getPathComputationClient().getReportedLsp()) {
-                       lsps.add(InstanceIdentifier.builder(id).augmentation(Node1.class).child(PathComputationClient.class).child(ReportedLsp.class,
+                       lsps.add(id.builder().augmentation(Node1.class).child(PathComputationClient.class).child(ReportedLsp.class,
                                        l.getKey()).toInstance());
                }
        }
@@ -115,7 +115,7 @@ public final class NodeChangedListener implements DataChangeListener {
        }
 
        private InstanceIdentifier<Link> linkForLsp(final LinkId linkId) {
-               return InstanceIdentifier.builder(this.target).child(Link.class, new LinkKey(linkId)).toInstance();
+               return this.target.child(Link.class, new LinkKey(linkId));
        }
 
        private SupportingNode createSupportingNode(final NodeId sni, final Boolean inControl) {
@@ -162,11 +162,11 @@ public final class NodeChangedListener implements DataChangeListener {
                                                                                final SupportingNode sn = createSupportingNode(k.getNodeId(), inControl);
 
                                                                                trans.putOperationalData(
-                                                                                               InstanceIdentifier.builder(this.target).child(Node.class, n.getKey()).child(
+                                                                                               this.target.builder().child(Node.class, n.getKey()).child(
                                                                                                                SupportingNode.class, sn.getKey()).toInstance(), sn);
                                                                        }
                                                                }
-                                                               return InstanceIdentifier.builder(this.target).child(Node.class, n.getKey()).child(TerminationPoint.class,
+                                                               return this.target.builder().child(Node.class, n.getKey()).child(TerminationPoint.class,
                                                                                tp.getKey()).toInstance();
                                                        }
                                                }
@@ -197,8 +197,9 @@ public final class NodeChangedListener implements DataChangeListener {
                        nb.setSupportingNode(Lists.newArrayList(createSupportingNode(InstanceIdentifier.keyOf(sni).getNodeId(), inControl)));
                }
 
-               trans.putOperationalData(InstanceIdentifier.builder(this.target).child(Node.class, nb.getKey()).toInstance(), nb.build());
-               return InstanceIdentifier.builder(this.target).child(Node.class, nb.getKey()).child(TerminationPoint.class, tpb.getKey()).toInstance();
+               final InstanceIdentifier<Node> nid = this.target.child(Node.class, nb.getKey());
+               trans.putOperationalData(nid, nb.build());
+               return nid.child(TerminationPoint.class, tpb.getKey());
        }
 
        private void create(final DataModificationTransaction trans, final InstanceIdentifier<ReportedLsp> i, final ReportedLsp value) {
@@ -250,11 +251,11 @@ public final class NodeChangedListener implements DataChangeListener {
        }
 
        private InstanceIdentifier<TerminationPoint> tpIdentifier(final NodeId node, final TpId tp) {
-               return InstanceIdentifier.builder(this.target).child(Node.class, new NodeKey(node)).child(TerminationPoint.class, new TerminationPointKey(tp)).toInstance();
+               return this.target.builder().child(Node.class, new NodeKey(node)).child(TerminationPoint.class, new TerminationPointKey(tp)).toInstance();
        }
 
        private InstanceIdentifier<Node> nodeIdentifier(final NodeId node) {
-               return InstanceIdentifier.builder(this.target).child(Node.class, new NodeKey(node)).toInstance();
+               return this.target.child(Node.class, new NodeKey(node));
        }
 
        private void remove(final DataModificationTransaction trans, final InstanceIdentifier<ReportedLsp> i, final ReportedLsp value) {
@@ -266,7 +267,7 @@ public final class NodeChangedListener implements DataChangeListener {
                        trans.removeOperationalData(li);
 
                        LOG.debug("Searching for orphan links/nodes");
-                       final Topology t = (Topology) trans.readOperationalData(InstanceIdentifier.builder(this.target).toInstance());
+                       final Topology t = (Topology) trans.readOperationalData(this.target);
 
                        NodeId srcNode = l.getSource().getSourceNode();
                        NodeId dstNode = l.getDestination().getDestNode();
@@ -410,6 +411,6 @@ public final class NodeChangedListener implements DataChangeListener {
 
        public static InstanceIdentifier<Link> linkIdentifier(final InstanceIdentifier<Topology> topology, final NodeId node,
                        final String name) {
-               return InstanceIdentifier.builder(topology).child(Link.class, new LinkKey(new LinkId(node.getValue() + "/lsp/" + name))).toInstance();
+               return topology.child(Link.class, new LinkKey(new LinkId(node.getValue() + "/lsp/" + name)));
        }
 }
index 416a43b93fb9049923a7f92452d9739ed9835ec9..c6db4a3adb8bfea2a0df96f496985526bf7a182a 100644 (file)
@@ -37,7 +37,7 @@ public final class PCEPTunnelTopologyProvider implements AutoCloseable {
                                child(Topology.class, new TopologyKey(targetTopology)).toInstance();
                final NodeChangedListener ncl = new NodeChangedListener(dataProvider, dst);
 
-               final InstanceIdentifier<Node> src = InstanceIdentifier.builder(sourceTopology).child(Node.class).toInstance();
+               final InstanceIdentifier<Node> src = sourceTopology.child(Node.class);
                final ListenerRegistration<DataChangeListener> reg = dataProvider.registerDataChangeListener(src, ncl);
 
                return new PCEPTunnelTopologyProvider(dst, reg);
index 0322b4c817a35c2db418cf5339410b74f0daf5aa..8f88ed0e6805c79091b9090e60273ea162c4cad8 100644 (file)
@@ -100,8 +100,8 @@ public final class TunnelProgramming implements TopologyTunnelPcepProgrammingSer
                TpReader(final DataModificationTransaction t, final InstanceIdentifier<Topology> topo, final TpReference ref) {
                        this.t = Preconditions.checkNotNull(t);
 
-                       this.nii = InstanceIdentifier.builder(topo).child(Node.class, new NodeKey(ref.getNode())).toInstance();
-                       this.tii = InstanceIdentifier.builder(this.nii).child(TerminationPoint.class, new TerminationPointKey(ref.getTp())).toInstance();
+                       this.nii = topo.child(Node.class, new NodeKey(ref.getNode()));
+                       this.tii = this.nii.child(TerminationPoint.class, new TerminationPointKey(ref.getTp()));
                }
 
                private Node getNode() {
@@ -263,9 +263,7 @@ public final class TunnelProgramming implements TopologyTunnelPcepProgrammingSer
        }
 
        private Node sourceNode(final DataModificationTransaction t, final InstanceIdentifier<Topology> topology, final Link link) {
-               final InstanceIdentifier<Node> nii = InstanceIdentifier.builder(topology).child(Node.class,
-                               new NodeKey(link.getSource().getSourceNode())).toInstance();
-               return (Node) t.readOperationalData(nii);
+               return (Node) t.readOperationalData(topology.child(Node.class, new NodeKey(link.getSource().getSourceNode())));
        }
 
        @Override
index eac80d7bf04f66f55558cc5e3847e23fcd7283b4..9ae3710d7af12c3a2d285df007a7917a32e2accd 100644 (file)
@@ -91,9 +91,9 @@ public final class ProgrammingServiceImpl implements AutoCloseable, InstructionS
                                builder.setStatus(status);
 
                                final DataModificationTransaction t = dataProvider.beginTransaction();
-                               t.putOperationalData(InstanceIdentifier.builder(qid).child(
+                               t.putOperationalData(qid.child(
                                                org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.programming.rev130930.instruction.queue.Instruction.class,
-                                               new InstructionKey(builder.getId())).build(), builder.build());
+                                               new InstructionKey(builder.getId())), builder.build());
                                t.commit();
                        }
 
@@ -103,9 +103,9 @@ public final class ProgrammingServiceImpl implements AutoCloseable, InstructionS
                @Override
                public void instructionRemoved() {
                        final DataModificationTransaction t = dataProvider.beginTransaction();
-                       t.removeOperationalData(InstanceIdentifier.builder(qid).child(
+                       t.removeOperationalData(qid.child(
                                        org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.programming.rev130930.instruction.queue.Instruction.class,
-                                       new InstructionKey(builder.getId())).build());
+                                       new InstructionKey(builder.getId())));
                        t.commit();
                }
        }
index db4e45f230f4bb058e4d6da22cd26c343f106ff1..0ac9f9af1c27d769b7d4c0e4c3fabbc943bf3216 100644 (file)
@@ -25,6 +25,6 @@ public final class TunnelProgrammingUtil {
 
        public static InstanceIdentifier<Link> linkIdentifier(final InstanceIdentifier<Topology> topology, final BaseTunnelInput input) {
                Preconditions.checkNotNull(input.getLinkId());
-               return InstanceIdentifier.builder(topology).child(Link.class, new LinkKey(input.getLinkId())).toInstance();
+               return topology.child(Link.class, new LinkKey(input.getLinkId()));
        }
 }