Committed by
Thomas Vachuska
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
Showing
5 changed files
with
58 additions
and
55 deletions
| ... | @@ -79,9 +79,9 @@ import java.util.List; | ... | @@ -79,9 +79,9 @@ import java.util.List; |
| 79 | 79 | ||
| 80 | import static org.onosproject.net.flow.criteria.Criteria.matchLambda; | 80 | import static org.onosproject.net.flow.criteria.Criteria.matchLambda; |
| 81 | import static org.onosproject.net.flow.criteria.Criteria.matchOchSignalType; | 81 | import static org.onosproject.net.flow.criteria.Criteria.matchOchSignalType; |
| 82 | -import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertChannelSpacing; | 82 | +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupChannelSpacing; |
| 83 | -import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertGridType; | 83 | +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupGridType; |
| 84 | -import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertOchSignalType; | 84 | +import static org.onosproject.provider.of.flow.impl.OpenFlowValueMapper.lookupOchSignalType; |
| 85 | import static org.slf4j.LoggerFactory.getLogger; | 85 | import static org.slf4j.LoggerFactory.getLogger; |
| 86 | 86 | ||
| 87 | public class FlowEntryBuilder { | 87 | public class FlowEntryBuilder { |
| ... | @@ -643,13 +643,13 @@ public class FlowEntryBuilder { | ... | @@ -643,13 +643,13 @@ public class FlowEntryBuilder { |
| 643 | case OCH_SIGID: | 643 | case OCH_SIGID: |
| 644 | CircuitSignalID sigId = match.get(MatchField.OCH_SIGID); | 644 | CircuitSignalID sigId = match.get(MatchField.OCH_SIGID); |
| 645 | builder.add(matchLambda(Lambda.ochSignal( | 645 | builder.add(matchLambda(Lambda.ochSignal( |
| 646 | - convertGridType(sigId.getGridType()), convertChannelSpacing(sigId.getChannelSpacing()), | 646 | + lookupGridType(sigId.getGridType()), lookupChannelSpacing(sigId.getChannelSpacing()), |
| 647 | sigId.getChannelNumber(), sigId.getChannelSpacing()) | 647 | sigId.getChannelNumber(), sigId.getChannelSpacing()) |
| 648 | )); | 648 | )); |
| 649 | break; | 649 | break; |
| 650 | case OCH_SIGTYPE: | 650 | case OCH_SIGTYPE: |
| 651 | U8 sigType = match.get(MatchField.OCH_SIGTYPE); | 651 | U8 sigType = match.get(MatchField.OCH_SIGTYPE); |
| 652 | - builder.add(matchOchSignalType(convertOchSignalType((byte) sigType.getValue()))); | 652 | + builder.add(matchOchSignalType(lookupOchSignalType((byte) sigType.getValue()))); |
| 653 | break; | 653 | break; |
| 654 | case ARP_OP: | 654 | case ARP_OP: |
| 655 | case ARP_SHA: | 655 | case ARP_SHA: | ... | ... |
| ... | @@ -378,18 +378,18 @@ public abstract class FlowModBuilder { | ... | @@ -378,18 +378,18 @@ public abstract class FlowModBuilder { |
| 378 | try { | 378 | try { |
| 379 | OchSignalCriterion ochSignalCriterion = (OchSignalCriterion) c; | 379 | OchSignalCriterion ochSignalCriterion = (OchSignalCriterion) c; |
| 380 | OchSignal signal = ochSignalCriterion.lambda(); | 380 | OchSignal signal = ochSignalCriterion.lambda(); |
| 381 | - byte gridType = FlowModBuilderHelper.convertGridType(signal.gridType()); | 381 | + byte gridType = OpenFlowValueMapper.lookupGridType(signal.gridType()); |
| 382 | - byte channelSpacing = FlowModBuilderHelper.convertChannelSpacing(signal.channelSpacing()); | 382 | + byte channelSpacing = OpenFlowValueMapper.lookupChannelSpacing(signal.channelSpacing()); |
| 383 | mBuilder.setExact(MatchField.OCH_SIGID, | 383 | mBuilder.setExact(MatchField.OCH_SIGID, |
| 384 | new CircuitSignalID(gridType, channelSpacing, | 384 | new CircuitSignalID(gridType, channelSpacing, |
| 385 | (short) signal.spacingMultiplier(), (short) signal.slotGranularity())); | 385 | (short) signal.spacingMultiplier(), (short) signal.slotGranularity())); |
| 386 | - } catch (UnsupportedConversionException e) { | 386 | + } catch (NoMappingFoundException e) { |
| 387 | log.warn(e.getMessage()); | 387 | log.warn(e.getMessage()); |
| 388 | } | 388 | } |
| 389 | break; | 389 | break; |
| 390 | case OCH_SIGTYPE: | 390 | case OCH_SIGTYPE: |
| 391 | OchSignalTypeCriterion sc = (OchSignalTypeCriterion) c; | 391 | OchSignalTypeCriterion sc = (OchSignalTypeCriterion) c; |
| 392 | - byte signalType = FlowModBuilderHelper.convertOchSignalType(sc.signalType()); | 392 | + byte signalType = OpenFlowValueMapper.lookupOchSignalType(sc.signalType()); |
| 393 | mBuilder.setExact(MatchField.OCH_SIGTYPE, U8.of(signalType)); | 393 | mBuilder.setExact(MatchField.OCH_SIGTYPE, U8.of(signalType)); |
| 394 | break; | 394 | break; |
| 395 | case ARP_OP: | 395 | case ARP_OP: | ... | ... |
providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
| ... | @@ -71,9 +71,6 @@ import java.util.LinkedList; | ... | @@ -71,9 +71,6 @@ import java.util.LinkedList; |
| 71 | import java.util.List; | 71 | import java.util.List; |
| 72 | import java.util.Optional; | 72 | import java.util.Optional; |
| 73 | 73 | ||
| 74 | -import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertChannelSpacing; | ||
| 75 | -import static org.onosproject.provider.of.flow.impl.FlowModBuilderHelper.convertGridType; | ||
| 76 | - | ||
| 77 | /** | 74 | /** |
| 78 | * Flow mod builder for OpenFlow 1.3+. | 75 | * Flow mod builder for OpenFlow 1.3+. |
| 79 | */ | 76 | */ |
| ... | @@ -267,7 +264,7 @@ public class FlowModBuilderVer13 extends FlowModBuilder { | ... | @@ -267,7 +264,7 @@ public class FlowModBuilderVer13 extends FlowModBuilder { |
| 267 | case OCH: | 264 | case OCH: |
| 268 | try { | 265 | try { |
| 269 | return buildModOchSignalInstruction((ModOchSignalInstruction) i); | 266 | return buildModOchSignalInstruction((ModOchSignalInstruction) i); |
| 270 | - } catch (UnsupportedConversionException e) { | 267 | + } catch (NoMappingFoundException e) { |
| 271 | log.warn(e.getMessage()); | 268 | log.warn(e.getMessage()); |
| 272 | break; | 269 | break; |
| 273 | } | 270 | } |
| ... | @@ -285,8 +282,8 @@ public class FlowModBuilderVer13 extends FlowModBuilder { | ... | @@ -285,8 +282,8 @@ public class FlowModBuilderVer13 extends FlowModBuilder { |
| 285 | 282 | ||
| 286 | private OFAction buildModOchSignalInstruction(ModOchSignalInstruction instruction) { | 283 | private OFAction buildModOchSignalInstruction(ModOchSignalInstruction instruction) { |
| 287 | OchSignal signal = instruction.lambda(); | 284 | OchSignal signal = instruction.lambda(); |
| 288 | - byte gridType = convertGridType(signal.gridType()); | 285 | + byte gridType = OpenFlowValueMapper.lookupGridType(signal.gridType()); |
| 289 | - byte channelSpacing = convertChannelSpacing(signal.channelSpacing()); | 286 | + byte channelSpacing = OpenFlowValueMapper.lookupChannelSpacing(signal.channelSpacing()); |
| 290 | 287 | ||
| 291 | return factory().actions().circuit(factory().oxms().ochSigidBasic( | 288 | return factory().actions().circuit(factory().oxms().ochSigidBasic( |
| 292 | new CircuitSignalID(gridType, channelSpacing, | 289 | new CircuitSignalID(gridType, channelSpacing, | ... | ... |
| ... | @@ -16,16 +16,16 @@ | ... | @@ -16,16 +16,16 @@ |
| 16 | package org.onosproject.provider.of.flow.impl; | 16 | package org.onosproject.provider.of.flow.impl; |
| 17 | 17 | ||
| 18 | /** | 18 | /** |
| 19 | - * Thrown to indicate that unsupported conversion occurs. | 19 | + * Thrown to indicate that no mapping for the input value is found. |
| 20 | */ | 20 | */ |
| 21 | -public class UnsupportedConversionException extends RuntimeException { | 21 | +public class NoMappingFoundException extends RuntimeException { |
| 22 | /** | 22 | /** |
| 23 | * Creates an instance with the specified values. | 23 | * Creates an instance with the specified values. |
| 24 | * | 24 | * |
| 25 | - * @param input input value of conversion causing this exception | 25 | + * @param input input value of mapping causing this exception |
| 26 | - * @param output the desired class which the input value is converted to | 26 | + * @param output the desired class which the input value is mapped to |
| 27 | */ | 27 | */ |
| 28 | - public UnsupportedConversionException(Object input, Class<?> output) { | 28 | + public NoMappingFoundException(Object input, Class<?> output) { |
| 29 | super(String.format("No mapping found for %s when converting to %s", input, output.getName())); | 29 | super(String.format("No mapping found for %s when converting to %s", input, output.getName())); |
| 30 | } | 30 | } |
| 31 | } | 31 | } | ... | ... |
| ... | @@ -24,11 +24,10 @@ import org.onosproject.net.OchSignalType; | ... | @@ -24,11 +24,10 @@ import org.onosproject.net.OchSignalType; |
| 24 | /** | 24 | /** |
| 25 | * Collection of helper methods to convert protocol agnostic models to values used in OpenFlow spec. | 25 | * Collection of helper methods to convert protocol agnostic models to values used in OpenFlow spec. |
| 26 | */ | 26 | */ |
| 27 | -// TODO: Rename to a better name | 27 | +final class OpenFlowValueMapper { |
| 28 | -final class FlowModBuilderHelper { | ||
| 29 | 28 | ||
| 30 | // prohibit instantiation | 29 | // prohibit instantiation |
| 31 | - private FlowModBuilderHelper() {} | 30 | + private OpenFlowValueMapper() {} |
| 32 | 31 | ||
| 33 | private static final BiMap<GridType, Byte> GRID_TYPES = EnumHashBiMap.create(GridType.class); | 32 | private static final BiMap<GridType, Byte> GRID_TYPES = EnumHashBiMap.create(GridType.class); |
| 34 | static { | 33 | static { |
| ... | @@ -56,7 +55,7 @@ final class FlowModBuilderHelper { | ... | @@ -56,7 +55,7 @@ final class FlowModBuilderHelper { |
| 56 | } | 55 | } |
| 57 | 56 | ||
| 58 | /** | 57 | /** |
| 59 | - * Converts the specified input value to the corresponding value with the specified map. | 58 | + * Looks up the specified input value to the corresponding value with the specified map. |
| 60 | * | 59 | * |
| 61 | * @param map bidirectional mapping | 60 | * @param map bidirectional mapping |
| 62 | * @param input input value | 61 | * @param input input value |
| ... | @@ -64,83 +63,90 @@ final class FlowModBuilderHelper { | ... | @@ -64,83 +63,90 @@ final class FlowModBuilderHelper { |
| 64 | * @param <I> type of input value | 63 | * @param <I> type of input value |
| 65 | * @param <O> type of output value | 64 | * @param <O> type of output value |
| 66 | * @return the corresponding value stored in the specified map | 65 | * @return the corresponding value stored in the specified map |
| 67 | - * @throws UnsupportedConversionException if no corresponding value is found | 66 | + * @throws NoMappingFoundException if no corresponding value is found |
| 68 | */ | 67 | */ |
| 69 | - private static <I, O> O convert(BiMap<I, O> map, I input, Class<O> cls) { | 68 | + private static <I, O> O lookup(BiMap<I, O> map, I input, Class<O> cls) { |
| 70 | if (!map.containsKey(input)) { | 69 | if (!map.containsKey(input)) { |
| 71 | - throw new UnsupportedConversionException(input, cls); | 70 | + throw new NoMappingFoundException(input, cls); |
| 72 | } | 71 | } |
| 73 | 72 | ||
| 74 | return map.get(input); | 73 | return map.get(input); |
| 75 | } | 74 | } |
| 76 | 75 | ||
| 77 | /** | 76 | /** |
| 78 | - * Converts a {@link GridType} to the corresponding byte value defined in | 77 | + * Looks up the corresponding byte value defined in |
| 79 | - * ONF "Optical Transport Protocol Extensions Version 1.0". | 78 | + * ONF "Optical Transport Protocol Extensions Version 1.0" |
| 79 | + * from the specified {@link GridType} instance. | ||
| 80 | * | 80 | * |
| 81 | * @param type grid type | 81 | * @param type grid type |
| 82 | * @return the byte value corresponding to the specified grid type | 82 | * @return the byte value corresponding to the specified grid type |
| 83 | - * @throws UnsupportedConversionException if the specified grid type is not supported | 83 | + * @throws NoMappingFoundException if the specified grid type is not found |
| 84 | */ | 84 | */ |
| 85 | - static byte convertGridType(GridType type) { | 85 | + static byte lookupGridType(GridType type) { |
| 86 | - return convert(GRID_TYPES, type, Byte.class); | 86 | + return lookup(GRID_TYPES, type, Byte.class); |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | /** | 89 | /** |
| 90 | - * Converts a byte value for grid type | 90 | + * Looks up the corresponding {@link GridType} instance |
| 91 | - * defined in ONF "Optical Transport Protocol Extensions Version 1.0" | 91 | + * from the specified byte value for grid type |
| 92 | - * to the corresponding {@link GridType} instance. | 92 | + * defined in ONF "Optical Transport Protocol Extensions Version 1.0". |
| 93 | * | 93 | * |
| 94 | * @param type byte value as grid type defined the spec | 94 | * @param type byte value as grid type defined the spec |
| 95 | * @return the corresponding GridType instance | 95 | * @return the corresponding GridType instance |
| 96 | */ | 96 | */ |
| 97 | - static GridType convertGridType(byte type) { | 97 | + static GridType lookupGridType(byte type) { |
| 98 | - return convert(GRID_TYPES.inverse(), type, GridType.class); | 98 | + return lookup(GRID_TYPES.inverse(), type, GridType.class); |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | /** | 101 | /** |
| 102 | - * Converts a {@link ChannelSpacing} to the corresponding byte value defined in | 102 | + * Looks up the corresponding byte value for channel spacing defined in |
| 103 | - * ONF "Optical Transport Protocol Extensions Version 1.0". | 103 | + * ONF "Optical Transport Protocol Extensions Version 1.0" |
| 104 | + * from the specified {@link ChannelSpacing} instance. | ||
| 104 | * | 105 | * |
| 105 | * @param spacing channel spacing | 106 | * @param spacing channel spacing |
| 106 | * @return byte value corresponding to the specified channel spacing | 107 | * @return byte value corresponding to the specified channel spacing |
| 107 | - * @throws UnsupportedConversionException if the specified channel spacing is not supported | 108 | + * @throws NoMappingFoundException if the specified channel spacing is not found |
| 108 | */ | 109 | */ |
| 109 | - static byte convertChannelSpacing(ChannelSpacing spacing) { | 110 | + static byte lookupChannelSpacing(ChannelSpacing spacing) { |
| 110 | - return convert(CHANNEL_SPACING, spacing, Byte.class); | 111 | + return lookup(CHANNEL_SPACING, spacing, Byte.class); |
| 111 | } | 112 | } |
| 112 | 113 | ||
| 113 | /** | 114 | /** |
| 114 | - * Converts a byte value for channel spacing | 115 | + * Looks up the corresponding {@link ChannelSpacing} instance |
| 115 | - * defined in ONF "Optical Transport Protocol Extensions Version 1.0" | 116 | + * from the specified byte value for channel spacing |
| 116 | - * to the corresponding {@link ChannelSpacing} instance. | 117 | + * defined in ONF "Optical Transport Protocol Extensions Version 1.0". |
| 117 | * | 118 | * |
| 118 | * @param spacing byte value as channel spacing defined the spec | 119 | * @param spacing byte value as channel spacing defined the spec |
| 119 | * @return the corresponding ChannelSpacing instance | 120 | * @return the corresponding ChannelSpacing instance |
| 121 | + * @throws NoMappingFoundException if the specified channel spacing is not found | ||
| 120 | */ | 122 | */ |
| 121 | - static ChannelSpacing convertChannelSpacing(byte spacing) { | 123 | + static ChannelSpacing lookupChannelSpacing(byte spacing) { |
| 122 | - return convert(CHANNEL_SPACING.inverse(), spacing, ChannelSpacing.class); | 124 | + return lookup(CHANNEL_SPACING.inverse(), spacing, ChannelSpacing.class); |
| 123 | } | 125 | } |
| 124 | 126 | ||
| 125 | /** | 127 | /** |
| 126 | - * Converts a {@link OchSignalType} to the corresponding byte value. | 128 | + * Looks up the corresponding byte value for Och signal type defined in |
| 129 | + * ONF "Optical Transport Protocol Extensions Version 1.0" | ||
| 130 | + * from the specified {@link OchSignalType} instance. | ||
| 127 | * | 131 | * |
| 128 | * @param signalType optical signal type | 132 | * @param signalType optical signal type |
| 129 | * @return byte value corresponding to the specified OCh signal type | 133 | * @return byte value corresponding to the specified OCh signal type |
| 134 | + * @throws NoMappingFoundException if the specified Och signal type is not found | ||
| 130 | */ | 135 | */ |
| 131 | - static byte convertOchSignalType(OchSignalType signalType) { | 136 | + static byte lookupOchSignalType(OchSignalType signalType) { |
| 132 | - return convert(OCH_SIGNAL_TYPES, signalType, Byte.class); | 137 | + return lookup(OCH_SIGNAL_TYPES, signalType, Byte.class); |
| 133 | } | 138 | } |
| 134 | 139 | ||
| 135 | /** | 140 | /** |
| 136 | - * Converts a byte value for Och signal type | 141 | + * Looks up the the corresponding {@link OchSignalType} instance |
| 137 | - * defined in ONF "Optical Transport Protocol Extensions Version 1.0" | 142 | + * from the specified byte value for Och signal type defined in |
| 138 | - * to the corresponding {@link OchSignalType} instance. | 143 | + * ONF "Optical Transport Protocol Extensions Version 1.0". |
| 139 | * | 144 | * |
| 140 | * @param signalType byte value as Och singal type defined the spec | 145 | * @param signalType byte value as Och singal type defined the spec |
| 141 | * @return the corresponding OchSignalType instance | 146 | * @return the corresponding OchSignalType instance |
| 147 | + * @throws NoMappingFoundException if the specified Och signal type is not found | ||
| 142 | */ | 148 | */ |
| 143 | - static OchSignalType convertOchSignalType(byte signalType) { | 149 | + static OchSignalType lookupOchSignalType(byte signalType) { |
| 144 | - return convert(OCH_SIGNAL_TYPES.inverse(), signalType, OchSignalType.class); | 150 | + return lookup(OCH_SIGNAL_TYPES.inverse(), signalType, OchSignalType.class); |
| 145 | } | 151 | } |
| 146 | } | 152 | } | ... | ... |
-
Please register or login to post a comment