Deprecate ByteBufUtil.macAddressToString() 10/92710/3
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Sep 2020 08:56:44 +0000 (10:56 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Sep 2020 15:19:34 +0000 (17:19 +0200)
All callers of this method are actually interfacing with
ietf-yang-types' MacAddress. IetfYangUtil provides a better alternative,
as it foregoes String checking performed by MacAddress(String).

Change-Id: Ib54218eb74936bd7c5550322829f5fa809cd3c33
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/openflowjava-util/src/main/java/org/opendaylight/openflowjava/util/ByteBufUtils.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/cases/OfToSalArpShaCase.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/cases/OfToSalArpThaCase.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/cases/OfToSalEthDstCase.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/cases/OfToSalEthSrcCase.java

index 4951e53cef6b29ae4911c095b51d8982da737569..967f55009e24c661445a9ede063bddc8df948a1a 100644 (file)
@@ -12,9 +12,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
@@ -46,8 +44,9 @@ public class ArpShaCodec extends AbstractMatchCodec {
         byte[] address = new byte[VALUE_LENGTH];
         message.readBytes(address);
         ArpShaCaseValueBuilder caseBuilder = new ArpShaCaseValueBuilder();
-        caseBuilder.setArpShaValues(new ArpShaValuesBuilder().setMacAddress(
-                new MacAddress(ByteBufUtils.macAddressToString(address))).build());
+        caseBuilder.setArpShaValues(new ArpShaValuesBuilder()
+            .setMacAddress(IetfYangUtil.INSTANCE.macAddressFor(address))
+            .build());
         matchEntriesBuilder.setMatchEntryValue(caseBuilder.build());
         return matchEntriesBuilder.build();
     }
index 5b76a4ba00afb1d38727b7f34bf8e30cff6cd71e..280bc3a8b28fe93abb47112731ca39862e244ff6 100644 (file)
@@ -12,9 +12,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
@@ -46,8 +44,9 @@ public class ArpThaCodec extends AbstractMatchCodec {
         byte[] address = new byte[VALUE_LENGTH];
         message.readBytes(address);
         ArpThaCaseValueBuilder caseBuilder = new ArpThaCaseValueBuilder();
-        caseBuilder.setArpThaValues(new ArpThaValuesBuilder().setMacAddress(
-                new MacAddress(ByteBufUtils.macAddressToString(address))).build());
+        caseBuilder.setArpThaValues(new ArpThaValuesBuilder()
+            .setMacAddress(IetfYangUtil.INSTANCE.macAddressFor(address))
+            .build());
         matchEntryBuilder.setMatchEntryValue(caseBuilder.build());
         return matchEntryBuilder.build();
     }
index e7a29edf8fea96f0127b015626d7aa816e5193b7..8e5a5b120e9c71ee75747eed177304a1ca36588c 100644 (file)
@@ -12,9 +12,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
@@ -46,8 +44,9 @@ public class EthDstCodec extends AbstractMatchCodec {
         byte[] address = new byte[VALUE_LENGTH];
         message.readBytes(address);
         EthDstCaseValueBuilder caseBuilder = new EthDstCaseValueBuilder();
-        caseBuilder.setEthDstValues(new EthDstValuesBuilder().setMacAddress(
-                new MacAddress(ByteBufUtils.macAddressToString(address))).build());
+        caseBuilder.setEthDstValues(new EthDstValuesBuilder()
+            .setMacAddress(IetfYangUtil.INSTANCE.macAddressFor(address))
+            .build());
         matchEntryBuilder.setMatchEntryValue(caseBuilder.build());
         return matchEntryBuilder.build();
     }
index ec3247aefe5495312e9a91768da12c3c3c53b809..161deb1b1cacf0ad5c2b464b8aecb8de24444e0a 100644 (file)
@@ -12,9 +12,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey
 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;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
@@ -46,8 +44,9 @@ public class EthSrcCodec extends AbstractMatchCodec {
         byte[] address = new byte[VALUE_LENGTH];
         message.readBytes(address);
         EthSrcCaseValueBuilder caseBuilder = new EthSrcCaseValueBuilder();
-        caseBuilder.setEthSrcValues(new EthSrcValuesBuilder().setMacAddress(
-                new MacAddress(ByteBufUtils.macAddressToString(address))).build());
+        caseBuilder.setEthSrcValues(new EthSrcValuesBuilder()
+            .setMacAddress(IetfYangUtil.INSTANCE.macAddressFor(address))
+            .build());
         matchEntryBuilder.setMatchEntryValue(caseBuilder.build());
         matchEntryBuilder.setHasMask(false);
         return matchEntryBuilder.build();
index 35878eb7a14695a889f6c5b8eade98d27917763b..a86151e12fd509fda98f43693cb6587727b1dfe9 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowjava.util;
 
 import com.google.common.base.Preconditions;
@@ -231,7 +230,7 @@ public abstract class ByteBufUtils {
         sb.append(ByteBufUtils.HEX_CHARS[val >>> 12 & 15]);
         sb.append(ByteBufUtils.HEX_CHARS[val >>>  8 & 15]);
         sb.append(ByteBufUtils.HEX_CHARS[val >>>  4 & 15]);
-        sb.append(ByteBufUtils.HEX_CHARS[ val         & 15]);
+        sb.append(ByteBufUtils.HEX_CHARS[val        & 15]);
     }
 
     /**
@@ -240,7 +239,9 @@ public abstract class ByteBufUtils {
      *
      * @param address the MAC address to convert
      * @return String representation of a MAC address
+     * @deprecated Use {@link IetfYangUtil#macAddressFor(byte[])} instead.
      */
+    @Deprecated(forRemoval = true)
     public static String macAddressToString(final byte[] address) {
         Preconditions.checkArgument(address.length == EncodeConstants.MAC_ADDRESS_LENGTH);
 
index 8715253d41851d7f02e3d85e5e2b5af674002cdf..7d9e1476caf2e87dfb7b2960c23827dc1aabdd8d 100644 (file)
@@ -5,16 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.cases;
 
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
 import org.opendaylight.openflowplugin.api.OFConstants;
 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.match.data.MatchResponseConvertorData;
+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.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.arp.match.fields.ArpSourceHardwareAddressBuilder;
@@ -42,8 +41,7 @@ public class OfToSalArpShaCase extends ConvertorCase<ArpShaCase, MatchBuilder, M
             byte[] mask = arpSha.getMask();
 
             if (mask != null) {
-                arpSourceHardwareAddressBuilder.setMask(new MacAddress(ByteBufUtils
-                        .macAddressToString(mask)));
+                arpSourceHardwareAddressBuilder.setMask(IetfYangUtil.INSTANCE.macAddressFor(mask));
             }
 
             arpMatchBuilder.setArpSourceHardwareAddress(arpSourceHardwareAddressBuilder.build());
index cecdf5b58c445f064318037837b62c9ee994b0bd..ea67f59a310a3dd1685b66ff1b0e0d5ed0925079 100644 (file)
@@ -5,16 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.cases;
 
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.openflowjava.util.ByteBufUtils;
 import org.opendaylight.openflowplugin.api.OFConstants;
 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.match.data.MatchResponseConvertorData;
+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.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.arp.match.fields.ArpTargetHardwareAddressBuilder;
@@ -42,8 +41,7 @@ public class OfToSalArpThaCase extends ConvertorCase<ArpThaCase, MatchBuilder, M
             byte[] mask = arpTha.getMask();
 
             if (mask != null) {
-                arpTargetHardwareAddressBuilder.setMask(new MacAddress(ByteBufUtils
-                        .macAddressToString(mask)));
+                arpTargetHardwareAddressBuilder.setMask(IetfYangUtil.INSTANCE.macAddressFor(mask));
             }
 
             arpMatchBuilder.setArpTargetHardwareAddress(arpTargetHardwareAddressBuilder.build());
index 219d1ce681edeb414e9bed70c6eb5b753276e3dd..23d886baf87d47be25920721363cb09fb0f8c9ab 100644 (file)
@@ -5,18 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.cases;
 
-import static org.opendaylight.openflowjava.util.ByteBufUtils.macAddressToString;
-
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.openflowplugin.api.OFConstants;
 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.match.data.MatchResponseConvertorData;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
+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.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetDestinationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
@@ -42,7 +39,7 @@ public class OfToSalEthDstCase extends ConvertorCase<EthDstCase, MatchBuilder, M
             byte[] destinationMask = ethDstCase.getMask();
 
             if (destinationMask != null) {
-                ethDestinationBuilder.setMask(new MacAddress(macAddressToString(destinationMask)));
+                ethDestinationBuilder.setMask(IetfYangUtil.INSTANCE.macAddressFor(destinationMask));
             }
 
             ethMatchBuilder.setEthernetDestination(ethDestinationBuilder.build());
index e204cb7f26d540e2233301538d77a06fdda48e11..f737c4a0a509dd5020f03ec144bfe48a43f8313b 100644 (file)
@@ -5,18 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.cases;
 
-import static org.opendaylight.openflowjava.util.ByteBufUtils.macAddressToString;
-
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.openflowplugin.api.OFConstants;
 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.match.data.MatchResponseConvertorData;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
+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.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetSourceBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
@@ -42,7 +39,7 @@ public class OfToSalEthSrcCase extends ConvertorCase<EthSrcCase, MatchBuilder, M
             byte[] mask = ethSrcCase.getMask();
 
             if (mask != null) {
-                ethSourceBuilder.setMask(new MacAddress(macAddressToString(mask)));
+                ethSourceBuilder.setMask(IetfYangUtil.INSTANCE.macAddressFor(mask));
             }
 
             ethMatchBuilder.setEthernetSource(ethSourceBuilder.build());