blob: 1cecca50bab1d7ae4000d9d8068fcef8355b5698 [file] [log] [blame]
Yuta HIGUCHIa7f1cdd2014-06-09 15:05:20 -07001package net.onrc.onos.core.topology.web.serializers;
Jonathan Hart891d0502014-02-10 10:04:08 -08002
3import java.io.IOException;
4
Jonathan Hart472062d2014-04-03 10:56:48 -07005import net.onrc.onos.core.topology.Link;
Jonathan Hart891d0502014-02-10 10:04:08 -08006
Jonathan Hart891d0502014-02-10 10:04:08 -08007import org.codehaus.jackson.JsonGenerator;
8import org.codehaus.jackson.map.SerializerProvider;
9import org.codehaus.jackson.map.ser.std.SerializerBase;
Jonathan Hart891d0502014-02-10 10:04:08 -080010
11public class LinkSerializer extends SerializerBase<Link> {
12
Ray Milkey269ffb92014-04-03 14:43:30 -070013 public LinkSerializer() {
14 super(Link.class);
15 }
Jonathan Hart891d0502014-02-10 10:04:08 -080016
Ray Milkey269ffb92014-04-03 14:43:30 -070017 @Override
18 public void serialize(Link link, JsonGenerator jsonGenerator,
19 SerializerProvider serializerProvider)
Ray Milkey7d7f0a02014-06-18 12:52:13 -070020 throws IOException {
Ray Milkey269ffb92014-04-03 14:43:30 -070021 jsonGenerator.writeStartObject();
22 jsonGenerator.writeStringField("src-switch",
Yuta HIGUCHI8f3dfa32014-06-25 00:14:25 -070023 link.getSrcSwitch().getDpid().toString());
24 // XXX port number as unsigned?
Ray Milkey269ffb92014-04-03 14:43:30 -070025 jsonGenerator.writeNumberField("src-port",
Yuta HIGUCHI8f3dfa32014-06-25 00:14:25 -070026 link.getSrcPort().getNumber().value());
Ray Milkey269ffb92014-04-03 14:43:30 -070027 jsonGenerator.writeStringField("dst-switch",
Yuta HIGUCHI8f3dfa32014-06-25 00:14:25 -070028 link.getDstSwitch().getDpid().toString());
Ray Milkey269ffb92014-04-03 14:43:30 -070029 jsonGenerator.writeNumberField("dst-port",
Yuta HIGUCHI8f3dfa32014-06-25 00:14:25 -070030 link.getDstPort().getNumber().value());
Ray Milkey269ffb92014-04-03 14:43:30 -070031 jsonGenerator.writeEndObject();
32 }
Jonathan Hart891d0502014-02-10 10:04:08 -080033
34}