Refactor: Rename the class and method to make them more descriptive

- Rename from FlowModBuilderHelper to OpenFlowValueMapper
- Rename from UnsupportedConversionException to NoMappingFoundException
- For methods, use "lookup" instead of "convert"

Change-Id: I8e86e3221385a48524247aa78a497b524e16071a
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
index 82a2bfa..1dfb35d 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
@@ -79,9 +79,9 @@
 
 import static org.onosproject.net.flow.criteria.Criteria.matchLambda;
 import static org.onosproject.net.flow.criteria.Criteria.matchOchSignalType;
-import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertChannelSpacing;
-import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertGridType;
-import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertOchSignalType;
+import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupChannelSpacing;
+import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupGridType;
+import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOchSignalType;
 import static org.slf4j.LoggerFactory.getLogger;
 
 public class FlowEntryBuilder {
@@ -643,13 +643,13 @@
             case OCH_SIGID:
                 CircuitSignalID sigId = match.get(MatchField.OCH_SIGID);
                 builder.add(matchLambda(Lambda.ochSignal(
-                                convertGridType(sigId.getGridType()), convertChannelSpacing(sigId.getChannelSpacing()),
+                                lookupGridType(sigId.getGridType()), lookupChannelSpacing(sigId.getChannelSpacing()),
                                 sigId.getChannelNumber(), sigId.getChannelSpacing())
                 ));
                 break;
             case OCH_SIGTYPE:
                 U8 sigType = match.get(MatchField.OCH_SIGTYPE);
-                builder.add(matchOchSignalType(convertOchSignalType((byte) sigType.getValue())));
+                builder.add(matchOchSignalType(lookupOchSignalType((byte) sigType.getValue())));
                 break;
             case ARP_OP:
             case ARP_SHA:
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
index ff80aa3..71327e5 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilder.java
@@ -378,18 +378,18 @@
                 try {
                     OchSignalCriterion ochSignalCriterion = (OchSignalCriterion) c;
                     OchSignal signal = ochSignalCriterion.lambda();
-                    byte gridType = FlowModBuilderHelper.convertGridType(signal.gridType());
-                    byte channelSpacing = FlowModBuilderHelper.convertChannelSpacing(signal.channelSpacing());
+                    byte gridType = OpenFlowValueMapper.lookupGridType(signal.gridType());
+                    byte channelSpacing = OpenFlowValueMapper.lookupChannelSpacing(signal.channelSpacing());
                     mBuilder.setExact(MatchField.OCH_SIGID,
                             new CircuitSignalID(gridType, channelSpacing,
                                     (short) signal.spacingMultiplier(), (short) signal.slotGranularity()));
-                } catch (UnsupportedConversionException e) {
+                } catch (NoMappingFoundException e) {
                     log.warn(e.getMessage());
                 }
                 break;
             case OCH_SIGTYPE:
                 OchSignalTypeCriterion sc = (OchSignalTypeCriterion) c;
-                byte signalType = FlowModBuilderHelper.convertOchSignalType(sc.signalType());
+                byte signalType = OpenFlowValueMapper.lookupOchSignalType(sc.signalType());
                 mBuilder.setExact(MatchField.OCH_SIGTYPE, U8.of(signalType));
                 break;
             case ARP_OP:
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
index 413fbd0..4103b02 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
@@ -71,9 +71,6 @@
 import java.util.List;
 import java.util.Optional;
 
-import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertChannelSpacing;
-import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertGridType;
-
 /**
  * Flow mod builder for OpenFlow 1.3+.
  */
@@ -267,7 +264,7 @@
             case OCH:
                 try {
                     return buildModOchSignalInstruction((ModOchSignalInstruction) i);
-                } catch (UnsupportedConversionException e) {
+                } catch (NoMappingFoundException e) {
                     log.warn(e.getMessage());
                     break;
                 }
@@ -285,8 +282,8 @@
 
     private OFAction buildModOchSignalInstruction(ModOchSignalInstruction instruction) {
         OchSignal signal = instruction.lambda();
-        byte gridType = convertGridType(signal.gridType());
-        byte channelSpacing = convertChannelSpacing(signal.channelSpacing());
+        byte gridType = OpenFlowValueMapper.lookupGridType(signal.gridType());
+        byte channelSpacing = OpenFlowValueMapper.lookupChannelSpacing(signal.channelSpacing());
 
         return factory().actions().circuit(factory().oxms().ochSigidBasic(
                 new CircuitSignalID(gridType, channelSpacing,
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/UnsupportedConversionException.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java
similarity index 76%
rename from providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/UnsupportedConversionException.java
rename to providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java
index b3be21e..898b286 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/UnsupportedConversionException.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/NoMappingFoundException.java
@@ -16,16 +16,16 @@
 package org.onosproject.provider.of.flow.impl;
 
 /**
- * Thrown to indicate that unsupported conversion occurs.
+ * Thrown to indicate that no mapping for the input value is found.
  */
-public class UnsupportedConversionException extends RuntimeException {
+public class NoMappingFoundException extends RuntimeException {
     /**
      * Creates an instance with the specified values.
      *
-     * @param input input value of conversion causing this exception
-     * @param output the desired class which the input value is converted to
+     * @param input input value of mapping causing this exception
+     * @param output the desired class which the input value is mapped to
      */
-    public UnsupportedConversionException(Object input, Class<?> output) {
+    public NoMappingFoundException(Object input, Class<?> output) {
         super(String.format("No mapping found for %s when converting to %s", input, output.getName()));
     }
 }
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderHelper.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java
similarity index 62%
rename from providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderHelper.java
rename to providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java
index 8a94400..2f0831c 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderHelper.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowValueMapper.java
@@ -24,11 +24,10 @@
 /**
  * Collection of helper methods to convert protocol agnostic models to values used in OpenFlow spec.
  */
-// TODO: Rename to a better name
-final class FlowModBuilderHelper {
+final class OpenFlowValueMapper {
 
     // prohibit instantiation
-    private FlowModBuilderHelper() {}
+    private OpenFlowValueMapper() {}
 
     private static final BiMap<GridType, Byte> GRID_TYPES = EnumHashBiMap.create(GridType.class);
     static {
@@ -56,7 +55,7 @@
     }
 
     /**
-     * Converts the specified input value to the corresponding value with the specified map.
+     * Looks up the specified input value to the corresponding value with the specified map.
      *
      * @param map bidirectional mapping
      * @param input input value
@@ -64,83 +63,90 @@
      * @param <I> type of input value
      * @param <O> type of output value
      * @return the corresponding value stored in the specified map
-     * @throws UnsupportedConversionException if no corresponding value is found
+     * @throws NoMappingFoundException if no corresponding value is found
      */
-    private static <I, O> O convert(BiMap<I, O> map, I input, Class<O> cls) {
+    private static <I, O> O lookup(BiMap<I, O> map, I input, Class<O> cls) {
         if (!map.containsKey(input)) {
-            throw new UnsupportedConversionException(input, cls);
+            throw new NoMappingFoundException(input, cls);
         }
 
         return map.get(input);
     }
 
     /**
-     * Converts a {@link GridType} to the corresponding byte value defined in
-     * ONF "Optical Transport Protocol Extensions Version 1.0".
+     * Looks up the corresponding byte value defined in
+     * ONF "Optical Transport Protocol Extensions Version 1.0"
+     * from the specified {@link GridType} instance.
      *
      * @param type grid type
      * @return the byte value corresponding to the specified grid type
-     * @throws UnsupportedConversionException if the specified grid type is not supported
+     * @throws NoMappingFoundException if the specified grid type is not found
      */
-    static byte convertGridType(GridType type) {
-        return convert(GRID_TYPES, type, Byte.class);
+    static byte lookupGridType(GridType type) {
+        return lookup(GRID_TYPES, type, Byte.class);
     }
 
     /**
-     * Converts a byte value for grid type
-     * defined in ONF "Optical Transport Protocol Extensions Version 1.0"
-     * to the corresponding {@link GridType} instance.
+     * Looks up the corresponding {@link GridType} instance
+     * from the specified byte value for grid type
+     * defined in ONF "Optical Transport Protocol Extensions Version 1.0".
      *
      * @param type byte value as grid type defined the spec
      * @return the corresponding GridType instance
      */
-    static GridType convertGridType(byte type) {
-        return convert(GRID_TYPES.inverse(), type, GridType.class);
+    static GridType lookupGridType(byte type) {
+        return lookup(GRID_TYPES.inverse(), type, GridType.class);
     }
 
     /**
-     * Converts a {@link ChannelSpacing} to the corresponding byte value defined in
-     * ONF "Optical Transport Protocol Extensions Version 1.0".
+     * Looks up the corresponding byte value for channel spacing defined in
+     * ONF "Optical Transport Protocol Extensions Version 1.0"
+     * from the specified {@link ChannelSpacing} instance.
      *
      * @param spacing channel spacing
      * @return byte value corresponding to the specified channel spacing
-     * @throws UnsupportedConversionException if the specified channel spacing is not supported
+     * @throws NoMappingFoundException if the specified channel spacing is not found
      */
-    static byte convertChannelSpacing(ChannelSpacing spacing) {
-        return convert(CHANNEL_SPACING, spacing, Byte.class);
+    static byte lookupChannelSpacing(ChannelSpacing spacing) {
+        return lookup(CHANNEL_SPACING, spacing, Byte.class);
     }
 
     /**
-     * Converts a byte value for channel spacing
-     * defined in ONF "Optical Transport Protocol Extensions Version 1.0"
-     * to the corresponding {@link ChannelSpacing} instance.
+     * Looks up the corresponding {@link ChannelSpacing} instance
+     * from the specified byte value for channel spacing
+     * defined in ONF "Optical Transport Protocol Extensions Version 1.0".
      *
      * @param spacing byte value as channel spacing defined the spec
      * @return the corresponding ChannelSpacing instance
+     * @throws NoMappingFoundException if the specified channel spacing is not found
      */
-    static ChannelSpacing convertChannelSpacing(byte spacing) {
-        return convert(CHANNEL_SPACING.inverse(), spacing, ChannelSpacing.class);
+    static ChannelSpacing lookupChannelSpacing(byte spacing) {
+        return lookup(CHANNEL_SPACING.inverse(), spacing, ChannelSpacing.class);
     }
 
     /**
-     * Converts a {@link OchSignalType} to the corresponding byte value.
+     * Looks up the corresponding byte value for Och signal type defined in
+     * ONF "Optical Transport Protocol Extensions Version 1.0"
+     * from the specified {@link OchSignalType} instance.
      *
      * @param signalType optical signal type
      * @return byte value corresponding to the specified OCh signal type
+     * @throws NoMappingFoundException if the specified Och signal type is not found
      */
-    static byte convertOchSignalType(OchSignalType signalType) {
-        return convert(OCH_SIGNAL_TYPES, signalType, Byte.class);
+    static byte lookupOchSignalType(OchSignalType signalType) {
+        return lookup(OCH_SIGNAL_TYPES, signalType, Byte.class);
     }
 
     /**
-     * Converts a byte value for Och signal type
-     * defined in ONF "Optical Transport Protocol Extensions Version 1.0"
-     * to the corresponding {@link OchSignalType} instance.
+     * Looks up the the corresponding {@link OchSignalType} instance
+     * from the specified byte value for Och signal type defined in
+     * ONF "Optical Transport Protocol Extensions Version 1.0".
      *
      * @param signalType byte value as Och singal type defined the spec
      * @return the corresponding OchSignalType instance
+     * @throws NoMappingFoundException if the specified Och signal type is not found
      */
-    static OchSignalType convertOchSignalType(byte signalType) {
-        return convert(OCH_SIGNAL_TYPES.inverse(), signalType, OchSignalType.class);
+    static OchSignalType lookupOchSignalType(byte signalType) {
+        return lookup(OCH_SIGNAL_TYPES.inverse(), signalType, OchSignalType.class);
     }
 }