diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkDiscovery.java b/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkDiscovery.java index 9bd5570e71240de0f4dac460aec075f06f2df323..f172f63be26459ce241e0c4400a3e63885b5bed4 100644 --- a/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkDiscovery.java +++ b/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkDiscovery.java @@ -1,8 +1,30 @@ package net.floodlightcontroller.linkdiscovery; +import org.codehaus.jackson.map.annotate.JsonSerialize; +import org.codehaus.jackson.map.ser.ToStringSerializer; +import org.openflow.util.HexString; + public interface ILinkDiscovery { - public static enum UpdateOperation {LINK_UPDATED, LINK_REMOVED, SWITCH_UPDATED, SWITCH_REMOVED, PORT_UP, PORT_DOWN}; + @JsonSerialize(using=ToStringSerializer.class) + public enum UpdateOperation { + LINK_UPDATED("Link Updated"), + LINK_REMOVED("Link Removed"), + SWITCH_UPDATED("Switch Updated"), + SWITCH_REMOVED("Switch Removed"), + PORT_UP("Port Up"), + PORT_DOWN("Port Down"); + + private String value; + UpdateOperation(String v) { + value = v; + } + + @Override + public String toString() { + return value; + } + } public class LDUpdate { protected long src; @@ -83,36 +105,25 @@ public interface ILinkDiscovery { @Override public String toString() { - String operationString = null; - if (operation == UpdateOperation.LINK_REMOVED) { - operationString = "Link Removed"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + ", srcPort=" + srcPort - + ", dst=" + dst + ", dstPort=" + dstPort - + ", type=" + type + "]"; - } else if (operation == UpdateOperation.LINK_UPDATED) { - operationString = "Link Updated"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + ", srcPort=" + srcPort - + ", dst=" + dst + ", dstPort=" + dstPort + switch (operation) { + case LINK_REMOVED: + case LINK_UPDATED: + return "LDUpdate [operation=" + operation + + ", src=" + HexString.toHexString(src) + + ", srcPort=" + srcPort + + ", dst=" + HexString.toHexString(dst) + + ", dstPort=" + dstPort + ", type=" + type + "]"; - } else if (operation == UpdateOperation.PORT_DOWN) { - operationString = "Port Down"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + ", srcPort=" + srcPort + "]"; - } else if (operation == UpdateOperation.PORT_UP) { - operationString = "Port Up"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + ", srcPort=" + srcPort + "]"; - } else if (operation == UpdateOperation.SWITCH_REMOVED) { - operationString = "Switch Removed"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + "]"; - } else if (operation == UpdateOperation.SWITCH_UPDATED) { - operationString = "Switch Updated"; - return "LDUpdate [operation=" + operationString + - ", src=" + src + "]"; - } else { + case PORT_DOWN: + case PORT_UP: + return "LDUpdate [operation=" + operation + + ", src=" + HexString.toHexString(src) + + ", srcPort=" + srcPort + "]"; + case SWITCH_REMOVED: + case SWITCH_UPDATED: + return "LDUpdate [operation=" + operation + + ", src=" + HexString.toHexString(src) + "]"; + default: return "LDUpdate: Unknown update."; } }