Built REST APIs to look at the in-memory network graph state.
Amended to clean up serializer code.
Change-Id: Ie020d1173fa108eec12e324e3ae37353c7ca8a00
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/serializers/SwitchSerializer.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/serializers/SwitchSerializer.java
new file mode 100644
index 0000000..774377d
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/serializers/SwitchSerializer.java
@@ -0,0 +1,36 @@
+package net.onrc.onos.ofcontroller.networkgraph.serializers;
+
+import java.io.IOException;
+
+import net.onrc.onos.ofcontroller.networkgraph.Port;
+import net.onrc.onos.ofcontroller.networkgraph.Switch;
+
+import org.codehaus.jackson.JsonGenerator;
+import org.codehaus.jackson.JsonProcessingException;
+import org.codehaus.jackson.map.SerializerProvider;
+import org.codehaus.jackson.map.ser.std.SerializerBase;
+import org.openflow.util.HexString;
+
+public class SwitchSerializer extends SerializerBase<Switch> {
+
+ public SwitchSerializer() {
+ super(Switch.class);
+ }
+
+ @Override
+ public void serialize(Switch sw, JsonGenerator jsonGenerator,
+ SerializerProvider serializerProvider) throws IOException,
+ JsonProcessingException {
+
+ jsonGenerator.writeStartObject();
+ jsonGenerator.writeStringField("dpid", HexString.toHexString(sw.getDpid()));
+ jsonGenerator.writeStringField("state", "ACTIVE");
+ jsonGenerator.writeArrayFieldStart("ports");
+ for (Port port : sw.getPorts()) {
+ jsonGenerator.writeObject(port);
+ }
+ jsonGenerator.writeEndArray();
+ jsonGenerator.writeEndObject();
+ }
+
+}