blob: 00bdcad1b1836bb25b8807476ba6eab6564a0909 [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.Port;
6import net.onrc.onos.core.topology.Switch;
Jonathan Hart891d0502014-02-10 10:04:08 -08007
8import org.codehaus.jackson.JsonGenerator;
9import org.codehaus.jackson.JsonProcessingException;
10import org.codehaus.jackson.map.SerializerProvider;
11import org.codehaus.jackson.map.ser.std.SerializerBase;
12import org.openflow.util.HexString;
13
14public class SwitchSerializer extends SerializerBase<Switch> {
15
Ray Milkey269ffb92014-04-03 14:43:30 -070016 public SwitchSerializer() {
17 super(Switch.class);
18 }
Jonathan Hart891d0502014-02-10 10:04:08 -080019
Ray Milkey269ffb92014-04-03 14:43:30 -070020 @Override
21 public void serialize(Switch sw, JsonGenerator jsonGenerator,
22 SerializerProvider serializerProvider) throws IOException,
23 JsonProcessingException {
24
25 jsonGenerator.writeStartObject();
26 jsonGenerator.writeStringField("dpid", HexString.toHexString(sw.getDpid()));
27 jsonGenerator.writeStringField("state", "ACTIVE");
28 jsonGenerator.writeArrayFieldStart("ports");
29 for (Port port : sw.getPorts()) {
30 jsonGenerator.writeObject(port);
31 }
32 jsonGenerator.writeEndArray();
33 jsonGenerator.writeEndObject();
34 }
Jonathan Hart891d0502014-02-10 10:04:08 -080035
36}