16 package org.openkilda.topo;
18 import com.fasterxml.jackson.core.JsonFactory;
19 import com.fasterxml.jackson.core.JsonGenerator;
20 import com.fasterxml.jackson.databind.ObjectMapper;
21 import com.fasterxml.jackson.databind.SerializationFeature;
24 import java.io.IOException;
25 import java.io.StringWriter;
26 import java.util.TreeSet;
37 ObjectMapper mapper =
new ObjectMapper();
39 mapper.enable(SerializationFeature.INDENT_OUTPUT);
41 StringWriter sw =
new StringWriter();
42 JsonFactory f = mapper.getFactory();
44 try(JsonGenerator g = f.createGenerator(sw)) {
47 g.writeObjectField(
"switches",
new TreeSet<String>(
topo.getSwitches().keySet()));
48 g.writeObjectField(
"links",
new TreeSet<String>(
topo.getLinks().keySet()));
64 StringBuilder sb =
new StringBuilder(80);
68 return sb.append(
"}").toString();
72 StringBuilder sb =
new StringBuilder(80);
73 sb.append(
"\"controllers\": [{\n");
74 sb.append(
"\"host\": \"" +
host +
"\",\n");
75 sb.append(
"\"name\": \"" +
name +
"\",\n");
76 sb.append(
"\"port\": " +
port);
82 StringBuilder sb =
new StringBuilder(80);
83 sb.append(
"\"switches\": [\n");
84 String separator =
"";
85 for (String
id :
topo.getSwitches().keySet()) {
87 sb.append(
"{\"dpid\": \"" +
id +
"\",");
100 return id.replace(
":",
"").substring(8);
104 StringBuilder sb =
new StringBuilder(80);
105 sb.append(
"\"links\": [\n");
106 String separator =
"";
107 for (
Link link :
topo.getLinks().values()) {
108 sb.append(separator);
110 sb.append(
"{\"node1\": \"" +
112 sb.append(
"\"node2\": \"" +
117 return sb.toString();
120 public static void main(String[]
args)
throws IOException {
122 System.out.println(
"t = " + t);
static final String convertSwitchId2Name(String id)
static final String toJson(ITopology topo, boolean pretty)
static final String toMininetJson(ITopology topo)
static final String makeControllerSection(String host, String name, String port)
static final Topology buildLinearTopo(int numSwitches)
static final String makeSwitchSection(ITopology topo)
static final String toMininetJson(ITopology topo, String host, String name, String port)
static final String makeLinkSection(ITopology topo)
static void main(String[] args)