JSON Serializers for Intents
Implements JSON serializers for objects
used by the Intent REST APIs:
- ShortestPathIntent
- LinkEvent
- SwitchPort
Change-Id: I7dfe98d7b9d0d2449af02b1e1f9361a105a7efa5
diff --git a/src/main/java/net/onrc/onos/core/topology/web/serializers/LinkEventSerializer.java b/src/main/java/net/onrc/onos/core/topology/web/serializers/LinkEventSerializer.java
new file mode 100644
index 0000000..2621167
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/topology/web/serializers/LinkEventSerializer.java
@@ -0,0 +1,43 @@
+package net.onrc.onos.core.topology.web.serializers;
+
+import net.onrc.onos.core.topology.LinkEvent;
+import org.codehaus.jackson.JsonGenerator;
+import org.codehaus.jackson.map.SerializerProvider;
+import org.codehaus.jackson.map.ser.std.SerializerBase;
+
+import java.io.IOException;
+
+/**
+ * JSON serializer for LinkEvents.
+ */
+public class LinkEventSerializer extends SerializerBase<LinkEvent> {
+
+ /**
+ * Public constructor - just calls its super class constructor.
+ */
+ public LinkEventSerializer() {
+ super(LinkEvent.class);
+ }
+
+ /**
+ * Serializes a LinkEvent object.
+ *
+ * @param linkEvent LinkEvent to serialize
+ * @param jsonGenerator generator to add the serialized object to
+ * @param serializerProvider not used
+ * @throws IOException if the JSON serialization fails
+ */
+ @Override
+ public void serialize(final LinkEvent linkEvent,
+ final JsonGenerator jsonGenerator,
+ final SerializerProvider serializerProvider)
+ throws IOException {
+
+ jsonGenerator.writeStartObject();
+
+ jsonGenerator.writeObjectField("src", linkEvent.getSrc());
+ jsonGenerator.writeObjectField("dst", linkEvent.getDst());
+
+ jsonGenerator.writeEndObject();
+ }
+}