Bump upstreams
[lispflowmapping.git] / mappingservice / lisp-proto / src / main / java / org / opendaylight / lispflowmapping / lisp / serializer / address / MacSerializer.java
index fc44429ea6ca8132a707486afa4c065a6afb70ae..76e0d53447ff699f4e53b2ecd229d32ed4fc34ec 100644 (file)
@@ -8,16 +8,14 @@
 package org.opendaylight.lispflowmapping.lisp.serializer.address;
 
 import java.nio.ByteBuffer;
-
-import javax.xml.bind.DatatypeConverter;
-
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana.afn.safi.rev130704.AddressFamily;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.MacAfi;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Mac;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.MacBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.IetfYangUtil;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.EidBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
@@ -53,22 +51,18 @@ public final class MacSerializer extends LispAddressSerializer {
     @Override
     protected void serializeData(ByteBuffer buffer, LispAddress lispAddress) {
         Mac mac = (Mac) lispAddress.getAddress();
-        String macString = mac.getMac().getValue();
-        macString = macString.replaceAll(":", "");
-        buffer.put(DatatypeConverter.parseHexBinary(macString));
+        buffer.put(IetfYangUtil.macAddressBytes(mac.getMac()));
     }
 
     @Override
     protected void serializeData(ByteBuffer buffer, SimpleAddress simpleAddress) {
-        String macString = simpleAddress.getMacAddress().getValue();
-        macString = macString.replaceAll(":", "");
-        buffer.put(DatatypeConverter.parseHexBinary(macString));
+        buffer.put(IetfYangUtil.macAddressBytes(simpleAddress.getMacAddress()));
     }
 
     @Override
     protected Eid deserializeEidData(ByteBuffer buffer, LispAddressSerializerContext ctx) {
         EidBuilder eb = new EidBuilder();
-        eb.setAddressType(MacAfi.class);
+        eb.setAddressType(MacAfi.VALUE);
         eb.setVirtualNetworkId(getVni(ctx));
         eb.setAddress(new MacBuilder().setMac(deserializeData(buffer)).build());
         return eb.build();
@@ -77,7 +71,7 @@ public final class MacSerializer extends LispAddressSerializer {
     @Override
     protected Rloc deserializeRlocData(ByteBuffer buffer) {
         RlocBuilder rb = new RlocBuilder();
-        rb.setAddressType(MacAfi.class);
+        rb.setAddressType(MacAfi.VALUE);
         rb.setVirtualNetworkId(null);
         rb.setAddress(new MacBuilder().setMac(deserializeData(buffer)).build());
         return rb.build();
@@ -88,21 +82,13 @@ public final class MacSerializer extends LispAddressSerializer {
         return new SimpleAddress(deserializeData(buffer));
     }
 
-    private MacAddress deserializeData(ByteBuffer buffer) {
+    private static MacAddress deserializeData(ByteBuffer buffer) {
         byte[] macBuffer = new byte[6];
         buffer.get(macBuffer);
-        StringBuilder sb = new StringBuilder(17);
-        for (byte b : macBuffer) {
-            if (sb.length() > 0) {
-                sb.append(':');
-            }
-            sb.append(String.format("%02x", b));
-        }
-        return new MacAddress(sb.toString());
+        return IetfYangUtil.macAddressFor(macBuffer);
     }
 
     private interface Length {
         int MAC = 6;
     }
-
 }