*/\r
public class ErrorMessageFactory implements OFDeserializer<ErrorMessage> {\r
\r
+ private static final String UNKNOWN_CODE = "UNKNOWN_CODE";\r
+ private static final String UNKNOWN_TYPE = "UNKNOWN_TYPE";\r
+ private static final int NO_CORRECT_ENUM_FOUND_VALUE = -1;\r
+ \r
private static ErrorMessageFactory instance;\r
\r
private ErrorMessageFactory() {\r
{\r
HelloFailedCode code = HelloFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadRequestCode code = BadRequestCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadActionCode code = BadActionCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadInstructionCode code = BadInstructionCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadMatchCode code = BadMatchCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
FlowModFailedCode code = FlowModFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
GroupModFailedCode code = GroupModFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
PortModFailedCode code = PortModFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
TableModFailedCode code = TableModFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
QueueOpFailedCode code = QueueOpFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
SwitchConfigFailedCode code = SwitchConfigFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
RoleRequestFailedCode code = RoleRequestFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
MeterModFailedCode code = MeterModFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
TableFeaturesFailedCode code = TableFeaturesFailedCode.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
builder.addAugmentation(ExperimenterError.class, expBuilder.build());\r
break;\r
default:\r
- builder.setCode("UNKNOWN_CODE");\r
+ builder.setCode(NO_CORRECT_ENUM_FOUND_VALUE);\r
+ builder.setCodeString(UNKNOWN_CODE);\r
break;\r
}\r
}\r
\r
private static void decodeType(ErrorMessageBuilder builder, ErrorType type) {\r
if (type != null) {\r
- builder.setType(type.name());\r
+ builder.setType(type.getIntValue());\r
+ builder.setTypeString(type.name());\r
} else {\r
- builder.setType("UNKNOWN_TYPE");\r
+ builder.setType(NO_CORRECT_ENUM_FOUND_VALUE);\r
+ builder.setTypeString(UNKNOWN_TYPE);\r
}\r
}\r
\r
*/\r
public class OF10ErrorMessageFactory implements OFDeserializer<ErrorMessage> {\r
\r
-private static OF10ErrorMessageFactory instance;\r
+ private static final String UNKNOWN_TYPE = "UNKNOWN_TYPE";\r
+ private static final String UNKNOWN_CODE = "UNKNOWN_CODE";\r
+ private static final int NO_CORRECT_ENUM_FOUND_VALUE = -1;\r
+ \r
+ private static OF10ErrorMessageFactory instance;\r
\r
private OF10ErrorMessageFactory() {\r
// do nothing, just singleton\r
{\r
HelloFailedCodeV10 code = HelloFailedCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadRequestCodeV10 code = BadRequestCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
BadActionCodeV10 code = BadActionCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
FlowModFailedCodeV10 code = FlowModFailedCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
PortModFailedCodeV10 code = PortModFailedCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
{\r
QueueOpFailedCodeV10 code = QueueOpFailedCodeV10.forValue(rawMessage.readUnsignedShort());\r
if (code != null) {\r
- builder.setCode(code.name());\r
+ builder.setCode(code.getIntValue());\r
+ builder.setCodeString(code.name());\r
}\r
break;\r
}\r
default:\r
- builder.setCode("UNKNOWN_CODE");\r
+ builder.setCode(NO_CORRECT_ENUM_FOUND_VALUE);\r
+ builder.setCodeString(UNKNOWN_CODE);\r
break;\r
}\r
}\r
\r
private static void decodeType(ErrorMessageBuilder builder, ErrorTypeV10 type) {\r
if (type != null) {\r
- builder.setType(type.name());\r
+ builder.setType(NO_CORRECT_ENUM_FOUND_VALUE);\r
+ builder.setTypeString(type.name());\r
} else {\r
- builder.setType("UNKNOWN_TYPE");\r
+ builder.setType(NO_CORRECT_ENUM_FOUND_VALUE);\r
+ builder.setTypeString(UNKNOWN_TYPE);\r
}\r
}\r
\r