blob: 93bce900b115beedf81a4d329546682b25580dcf [file] [log] [blame]
Jonathan Hart472062d2014-04-03 10:56:48 -07001package net.onrc.onos.core.topology.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
7import org.codehaus.jackson.JsonGenerationException;
8import org.codehaus.jackson.JsonGenerator;
9import org.codehaus.jackson.map.SerializerProvider;
10import org.codehaus.jackson.map.ser.std.SerializerBase;
11import org.openflow.util.HexString;
12
13public class LinkSerializer extends SerializerBase<Link> {
14
15 public LinkSerializer() {
16 super(Link.class);
17 }
18
19 @Override
20 public void serialize(Link link, JsonGenerator jsonGenerator,
21 SerializerProvider serializerProvider)
22 throws IOException, JsonGenerationException {
23 jsonGenerator.writeStartObject();
24 jsonGenerator.writeStringField("src-switch",
Pavlin Radoslavov7c8f69a2014-02-19 19:01:45 -080025 HexString.toHexString(link.getSrcSwitch().getDpid()));
Jonathan Hart891d0502014-02-10 10:04:08 -080026 jsonGenerator.writeNumberField("src-port",
Pavlin Radoslavov7c8f69a2014-02-19 19:01:45 -080027 link.getSrcPort().getNumber());
Jonathan Hart891d0502014-02-10 10:04:08 -080028 jsonGenerator.writeStringField("dst-switch",
Pavlin Radoslavov7c8f69a2014-02-19 19:01:45 -080029 HexString.toHexString(link.getDstSwitch().getDpid()));
Jonathan Hart369875b2014-02-13 10:00:31 -080030 jsonGenerator.writeNumberField("dst-port",
Pavlin Radoslavov7c8f69a2014-02-19 19:01:45 -080031 link.getDstPort().getNumber());
Jonathan Hart891d0502014-02-10 10:04:08 -080032 jsonGenerator.writeEndObject();
33 }
34
35}