From d232983a8de0016634283599f5e416472e7c19b9 Mon Sep 17 00:00:00 2001
From: Subrata Banerjee <subrata.banerjee@bigswitch.com>
Date: Wed, 11 Jan 2012 09:39:31 -0800
Subject: [PATCH] Prepend zero if dataLayerType hex-string is less than 4
 chars.

---
 .../core/web/serializers/OFMatchJSONSerializer.java         | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/main/java/net/floodlightcontroller/core/web/serializers/OFMatchJSONSerializer.java b/src/main/java/net/floodlightcontroller/core/web/serializers/OFMatchJSONSerializer.java
index e08eeb61a..42693c8a0 100644
--- a/src/main/java/net/floodlightcontroller/core/web/serializers/OFMatchJSONSerializer.java
+++ b/src/main/java/net/floodlightcontroller/core/web/serializers/OFMatchJSONSerializer.java
@@ -48,7 +48,11 @@ public class OFMatchJSONSerializer extends JsonSerializer<OFMatch> {
         jGen.writeStartObject();
         jGen.writeStringField("dataLayerDestination", HexString.toHexString(match.getDataLayerDestination()));
         jGen.writeStringField("dataLayerSource", HexString.toHexString(match.getDataLayerSource()));
-        jGen.writeStringField("dataLayerType", "0x" + Integer.toHexString(match.getDataLayerType()));
+        String dataType = Integer.toHexString(match.getDataLayerType());
+        while (dataType.length() < 4) {
+            dataType = "0".concat(dataType);
+        }
+        jGen.writeStringField("dataLayerType", "0x" + dataType);
         jGen.writeNumberField("dataLayerVirtualLan", match.getDataLayerVirtualLan());
         jGen.writeNumberField("dataLayerVirtualLanPriorityCodePoint", match.getDataLayerVirtualLanPriorityCodePoint());
         jGen.writeStringField("inputSwitch", HexString.toHexString(match.getSwitchDataPathId()));
-- 
GitLab