Optimize getVertex() a bit 37/96937/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Jul 2021 09:17:16 +0000 (11:17 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Jul 2021 10:08:51 +0000 (12:08 +0200)
Using Uint32 for AS number allows us to side-step a few conversions,
making the code a bit more direct.

Also we have type-safe versions of IPv4/IPv6 routerIDs, do not
instantiate new addresses via Strings which is relatively slow due
to the need to check values.

Change-Id: I170255815bb05628fff2a1baa5df0d6f30c1f9dd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 1314d49cc9aa50de78d1ad63e000afa6e18d6078)

bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateGraphBuilder.java

index 9ca7396924be7e7b43640056c856813eadde986a..ec013bca693557140b814cffecbaab9e930a8102 100644 (file)
@@ -416,13 +416,13 @@ public class LinkstateGraphBuilder extends AbstractTopologyBuilder<LinkstateRout
      *
      * @return New Vertex
      */
-    private static Vertex getVertex(final NodeAttributes na, final Uint64 id, final int as) {
-        VertexBuilder builder = new VertexBuilder().setVertexId(id).setAsn(Uint32.valueOf(as));
+    private static Vertex getVertex(final NodeAttributes na, final Uint64 id, final Uint32 as) {
+        VertexBuilder builder = new VertexBuilder().setVertexId(id).setAsn(as);
         if (na.getIpv4RouterId() != null) {
-            builder.setRouterId(new IpAddress(new Ipv4Address(na.getIpv4RouterId().getValue())));
+            builder.setRouterId(new IpAddress(na.getIpv4RouterId()));
         }
         if (na.getIpv6RouterId() != null) {
-            builder.setRouterId(new IpAddress(new Ipv6Address(na.getIpv6RouterId().getValue())));
+            builder.setRouterId(new IpAddress(na.getIpv6RouterId()));
         }
         /*
          * Set Router Name with dynamic hostname (IS-IS) or IPv4 address in dot decimal format (OSPF)
@@ -477,9 +477,9 @@ public class LinkstateGraphBuilder extends AbstractTopologyBuilder<LinkstateRout
             return;
         }
 
-        int asNumber = 0;
+        Uint32 asNumber = Uint32.ZERO;
         if (nodeCase.getNodeDescriptors() != null) {
-            asNumber = nodeCase.getNodeDescriptors().getAsNumber().getValue().intValue();
+            asNumber = nodeCase.getNodeDescriptors().getAsNumber().getValue();
         }
         Vertex vertex = getVertex(na, vertexId, asNumber);