*/\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(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