Fix a cast error when creating OpticalConnectivityIntent
A cast error occurred in FlowModBuilder when the type of
Criterion was OCH_SIGID.
Move two convertion methods from FlowModBuilderVer13 to
FlowModBuilderHelper for refactoring.
Change-Id: I4634d57fc70cfb144de64d72140cbca81e060248
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 18f43bf..a636a76 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
@@ -18,8 +18,6 @@
import com.google.common.collect.Lists;
import org.onlab.packet.Ip4Address;
import org.onlab.packet.Ip6Address;
-import org.onosproject.net.ChannelSpacing;
-import org.onosproject.net.GridType;
import org.onosproject.net.OchSignal;
import org.onosproject.net.PortNumber;
import org.onosproject.net.flow.FlowRule;
@@ -73,6 +71,9 @@
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+.
*/
@@ -281,48 +282,6 @@
));
}
- private byte convertGridType(GridType type) {
- // See ONF "Optical Transport Protocol Extensions Version 1.0"
- // for the following values
- switch (type) {
- case DWDM:
- // OFPGRIDT_DWDM of enum ofp_grid_type
- return 1;
- case CWDM:
- // OFPGRIDT_CWDM of enum ofp_grid_type
- return 2;
- case FLEX:
- // OFPGRIDT_FLEX of enum ofp_grid_type
- return 3;
- default:
- throw new UnsupportedGridTypeException(type);
- }
- }
-
- private byte convertChannelSpacing(ChannelSpacing spacing) {
- // See ONF "Optical Transport Protocol Extensions Version 1.0"
- // for the following values
- switch (spacing) {
- case CHL_100GHZ:
- // OFPCS_100GHZ of enum ofp_chl_spacing
- return 1;
- case CHL_50GHZ:
- // OFPCS_50GHZ of enum ofp_chl_spacing
- return 2;
- case CHL_25GHZ:
- // OFPCS_25GHZ of enum ofp_chl_spacing
- return 3;
- case CHL_12P5GHZ:
- // OFPCS_12P5GHZ of enum ofp_chl_spacing
- return 4;
- case CHL_6P25GHZ:
- // OFPCS_6P25GHZ of enum ofp_chl_spacing
- return 5;
- default:
- throw new UnsupportedChannelSpacingException(spacing);
- }
- }
-
private OFAction buildL2Modification(Instruction i) {
L2ModificationInstruction l2m = (L2ModificationInstruction) i;
ModEtherInstruction eth;