Deprecate ByteBufUtils.macAddressToBytes() 08/92708/3
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Sep 2020 08:46:24 +0000 (10:46 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Sep 2020 15:18:57 +0000 (17:18 +0200)
This method operates on any string, whereas all its users are faced
with an ietf-yang-types' MacAddress. IetfYangUtil.macAddressBytes()
provides a superior alternative to this open-coded utility.

Change-Id: Id4f7448a0894a4cec5e76ec801cfde47b03e3be7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/ArpShaCodec.java
extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/ArpThaCodec.java
extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EthDstCodec.java
extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/match/EthSrcCodec.java
openflowjava/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/util/OF10ActionsSerializerTest.java
openflowjava/openflowjava-util/src/main/java/org/opendaylight/openflowjava/util/ByteBufUtils.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/protocol/serialization/match/AbstractMacAddressFilterEntrySerializer.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/cases/SalToOfArpMatchCase.java

index 083d6601f3eee0b0ca0cb73931b67b75b5fcaae3..4951e53cef6b29ae4911c095b51d8982da737569 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
 import org.opendaylight.openflowjava.util.ByteBufUtils;
+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.openflow.oxm.rev150225.MatchField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
@@ -35,8 +36,8 @@ public class ArpShaCodec extends AbstractMatchCodec {
     @Override
     public void serialize(MatchEntry input, ByteBuf outBuffer) {
         serializeHeader(input, outBuffer);
-        ArpShaCaseValue value = ((ArpShaCaseValue) input.getMatchEntryValue());
-        outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(value.getArpShaValues().getMacAddress().getValue()));
+        ArpShaCaseValue value = (ArpShaCaseValue) input.getMatchEntryValue();
+        outBuffer.writeBytes(IetfYangUtil.INSTANCE.macAddressBytes(value.getArpShaValues().getMacAddress()));
     }
 
     @Override
index 4abefbfe534294e89678c449636f2f69f7ff5b14..5b76a4ba00afb1d38727b7f34bf8e30cff6cd71e 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
 import org.opendaylight.openflowjava.util.ByteBufUtils;
+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.openflow.oxm.rev150225.MatchField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
@@ -35,8 +36,8 @@ public class ArpThaCodec extends AbstractMatchCodec {
     @Override
     public void serialize(MatchEntry input, ByteBuf outBuffer) {
         serializeHeader(input, outBuffer);
-        ArpThaCaseValue arpThaCase = ((ArpThaCaseValue) input.getMatchEntryValue());
-        outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(arpThaCase.getArpThaValues().getMacAddress().getValue()));
+        ArpThaCaseValue arpThaCase = (ArpThaCaseValue) input.getMatchEntryValue();
+        outBuffer.writeBytes(IetfYangUtil.INSTANCE.macAddressBytes(arpThaCase.getArpThaValues().getMacAddress()));
     }
 
     @Override
index 3bcd0a0f298354288b0a5e7732c7a75d17350c89..e7a29edf8fea96f0127b015626d7aa816e5193b7 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
 import org.opendaylight.openflowjava.util.ByteBufUtils;
+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.openflow.oxm.rev150225.MatchField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
@@ -35,8 +36,8 @@ public class EthDstCodec extends AbstractMatchCodec {
     @Override
     public void serialize(MatchEntry input, ByteBuf outBuffer) {
         serializeHeader(input, outBuffer);
-        EthDstCaseValue ethDstCase = ((EthDstCaseValue) input.getMatchEntryValue());
-        outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(ethDstCase.getEthDstValues().getMacAddress().getValue()));
+        EthDstCaseValue ethDstCase = (EthDstCaseValue) input.getMatchEntryValue();
+        outBuffer.writeBytes(IetfYangUtil.INSTANCE.macAddressBytes(ethDstCase.getEthDstValues().getMacAddress()));
     }
 
     @Override
index c6e25cff727ca0077844d61131d56ade466f7b5c..ec3247aefe5495312e9a91768da12c3c3c53b809 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.api.util.OxmMatchConstants;
 import org.opendaylight.openflowjava.util.ByteBufUtils;
+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.openflow.oxm.rev150225.MatchField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
@@ -35,8 +36,8 @@ public class EthSrcCodec extends AbstractMatchCodec {
     @Override
     public void serialize(MatchEntry input, ByteBuf outBuffer) {
         serializeHeader(input, outBuffer);
-        EthSrcCaseValue ethSrcCase = ((EthSrcCaseValue) input.getMatchEntryValue());
-        outBuffer.writeBytes(ByteBufUtils.macAddressToBytes(ethSrcCase.getEthSrcValues().getMacAddress().getValue()));
+        EthSrcCaseValue ethSrcCase = (EthSrcCaseValue) input.getMatchEntryValue();
+        outBuffer.writeBytes(IetfYangUtil.INSTANCE.macAddressBytes(ethSrcCase.getEthSrcValues().getMacAddress()));
     }
 
     @Override
index c0f616dcecdc47825d68651bf9b4a6a56ef97716..fe42ec53f96c179b515cf0d4a614f781fd2c13f8 100644 (file)
@@ -17,7 +17,6 @@ import org.junit.Test;
 import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 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.openflow.common.action.rev150203.action.grouping.action.choice.EnqueueCaseBuilder;
@@ -181,13 +180,13 @@ public class OF10ActionsSerializerTest {
         Assert.assertEquals("Wrong action length", 16, out.readUnsignedShort());
         byte[] data = new byte[EncodeConstants.MAC_ADDRESS_LENGTH];
         out.readBytes(data);
-        Assert.assertArrayEquals("Wrong dl-address", ByteBufUtils.macAddressToBytes("00:00:00:02:03:04"), data);
+        Assert.assertArrayEquals("Wrong dl-address", new byte[] { 00, 00, 00, 02, 03, 04 }, data);
         out.skipBytes(6);
         Assert.assertEquals("Wrong action type", 5, out.readUnsignedShort());
         Assert.assertEquals("Wrong action length", 16, out.readUnsignedShort());
         data = new byte[EncodeConstants.MAC_ADDRESS_LENGTH];
         out.readBytes(data);
-        Assert.assertArrayEquals("Wrong dl-address", ByteBufUtils.macAddressToBytes("00:00:00:01:02:03"), data);
+        Assert.assertArrayEquals("Wrong dl-address", new byte[] { 00, 00, 00, 01, 02, 03 }, data);
         out.skipBytes(6);
         Assert.assertEquals("Wrong action type", 6, out.readUnsignedShort());
         Assert.assertEquals("Wrong action length", 8, out.readUnsignedShort());
index 76a95c1d72ee08da717f7827401fc3f8f4605a6b..1454c72830b1abde0ff0d7305c74a09eb82d669b 100644 (file)
@@ -236,12 +236,14 @@ public abstract class ByteBufUtils {
     }
 
     /**
-     * Converts macAddress to byte array.
-     * See also {@link org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress}.
+     * Converts macAddress to byte array. See also {@link MacAddress}.
      *
      * @param macAddress the mac address to convert
      * @return byte representation of mac address
+     *
+     * @deprecated Use IetfYangUtil.macAddressBytes(MacAddress) instead.
      */
+    @Deprecated(forRemoval = true)
     @SuppressWarnings("checkstyle:IllegalCatch")
     public static byte[] macAddressToBytes(final String macAddress) {
         final byte[] result = new byte[EncodeConstants.MAC_ADDRESS_LENGTH];
index 9694f09043ac76a79d40ce34e43bfbe66651c5c0..2169e1605cc7c311f3c25075c8118601798c021f 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.openflowplugin.impl.protocol.serialization.match;
 
 import io.netty.buffer.ByteBuf;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
+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.model.match.types.rev131026.MacAddressFilter;
 
@@ -29,7 +29,7 @@ public abstract class AbstractMacAddressFilterEntrySerializer<E extends MacAddre
     protected final void serializeEntry(final E entry, final MacAddress mask, final ByteBuf outBuffer) {
         writeMacAddress(entry.getAddress(), outBuffer);
         if (mask != null) {
-            writeMask(ByteBufUtils.macAddressToBytes(mask.getValue()), outBuffer, EncodeConstants.MAC_ADDRESS_LENGTH);
+            writeMask(IetfYangUtil.INSTANCE.macAddressBytes(mask), outBuffer, EncodeConstants.MAC_ADDRESS_LENGTH);
         }
     }
 }
index e72889f2dd228833c73860c23661f924455af0cd..b0043ed1a64d0b25ea589099eb41287c17fa5142 100644 (file)
@@ -12,7 +12,6 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.openflowplugin.extension.api.ConverterExtensionKey;
@@ -37,6 +36,7 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.case
 import org.opendaylight.openflowplugin.openflow.md.core.session.OFSessionUtil;
 import org.opendaylight.openflowplugin.openflow.md.util.ByteUtil;
 import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.IetfYangUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.field._case.SetField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match;
@@ -415,7 +415,7 @@ public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionCo
             boolean hasMask = ethernetDestination.getMask() != null;
 
             if (hasMask) {
-                ethDstBuilder.setMask(ByteBufUtils.macAddressToBytes(ethernetDestination.getMask().getValue()));
+                ethDstBuilder.setMask(IetfYangUtil.INSTANCE.macAddressBytes(ethernetDestination.getMask()));
             }
 
             ethDstCaseBuilder.setEthDst(ethDstBuilder.build());
@@ -435,7 +435,7 @@ public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionCo
             boolean hasMask = ethernetSource.getMask() != null;
 
             if (hasMask) {
-                ethDstBuilder.setMask(ByteBufUtils.macAddressToBytes(ethernetSource.getMask().getValue()));
+                ethDstBuilder.setMask(IetfYangUtil.INSTANCE.macAddressBytes(ethernetSource.getMask()));
             }
 
             ethSrcCaseBuilder.setEthSrc(ethDstBuilder.build());
index c7f45fe6b119ba3e81614a3980761be8a9a356a1..e47df408199546872b76c501f5f8fb0c0cf3a351 100644 (file)
@@ -13,7 +13,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.ConvertorCase;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.IpConversionUtil;
@@ -21,6 +20,7 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.Versi
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchConvertorUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.IetfYangUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.arp.match.fields.ArpSourceHardwareAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.arp.match.fields.ArpTargetHardwareAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.ArpMatch;
@@ -127,7 +127,7 @@ public class SalToOfArpMatchCase extends ConvertorCase<ArpMatch, List<MatchEntry
             arpShaBuilder.setMacAddress(arpSourceHardwareAddress.getAddress());
             boolean hasMask = false;
             if (null != arpSourceHardwareAddress.getMask()) {
-                arpShaBuilder.setMask(ByteBufUtils.macAddressToBytes(arpSourceHardwareAddress.getMask().getValue()));
+                arpShaBuilder.setMask(IetfYangUtil.INSTANCE.macAddressBytes(arpSourceHardwareAddress.getMask()));
                 hasMask = true;
             }
             arpShaCaseBuilder.setArpSha(arpShaBuilder.build());
@@ -147,7 +147,7 @@ public class SalToOfArpMatchCase extends ConvertorCase<ArpMatch, List<MatchEntry
             arpThaBuilder.setMacAddress(arpTargetHardwareAddress.getAddress());
             boolean hasMask = false;
             if (null != arpTargetHardwareAddress.getMask()) {
-                arpThaBuilder.setMask(ByteBufUtils.macAddressToBytes(arpTargetHardwareAddress.getMask().getValue()));
+                arpThaBuilder.setMask(IetfYangUtil.INSTANCE.macAddressBytes(arpTargetHardwareAddress.getMask()));
                 hasMask = true;
             }
             arpThaCaseBuilder.setArpTha(arpThaBuilder.build());