OF-1.0 related fixes
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / OF10ErrorMessageFactory.java
index f7fc25df0edfa55594594b850e33aff08ed4c659..d68166305aa140b312482a4a22945aa105d2d843 100644 (file)
@@ -20,7 +20,11 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
  */\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
@@ -57,7 +61,8 @@ private static OF10ErrorMessageFactory instance;
         {\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
@@ -65,7 +70,8 @@ private static OF10ErrorMessageFactory instance;
         {\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
@@ -73,7 +79,8 @@ private static OF10ErrorMessageFactory instance;
         {\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
@@ -81,7 +88,8 @@ private static OF10ErrorMessageFactory instance;
         {\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
@@ -89,7 +97,8 @@ private static OF10ErrorMessageFactory instance;
         {\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
@@ -97,21 +106,25 @@ private static OF10ErrorMessageFactory instance;
         {\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