3 import static java.lang.String.format;
4 import static java.util.Base64.getEncoder;
16 import com.fasterxml.jackson.core.type.TypeReference;
17 import com.fasterxml.jackson.databind.ObjectMapper;
18 import org.glassfish.jersey.client.ClientConfig;
20 import java.io.IOException;
21 import java.util.List;
22 import javax.ws.rs.client.Client;
23 import javax.ws.rs.client.ClientBuilder;
24 import javax.ws.rs.client.Entity;
25 import javax.ws.rs.core.HttpHeaders;
26 import javax.ws.rs.core.MediaType;
27 import javax.ws.rs.core.Response;
31 private static final String auth = topologyUsername +
":" + topologyPassword;
32 private static final String authHeaderValue =
"Basic " + getEncoder().encodeToString(auth.getBytes());
43 System.out.println(
"\n==> Northbound Dump Links");
45 long current = System.currentTimeMillis();
46 Client client = ClientBuilder.newClient(
new ClientConfig());
48 Response response = client
49 .target(northboundEndpoint)
50 .path(
"/api/v1/links")
51 .request(MediaType.APPLICATION_JSON)
52 .header(HttpHeaders.AUTHORIZATION, authHeaderValue)
56 System.out.println(String.format(
"===> Response = %s", response.toString()));
57 System.out.println(String.format(
"===> Topology-Engine Dump Links Time: %,.3f", getTimeDuration(current)));
60 List<LinkDto> links =
new ObjectMapper().readValue(
61 response.readEntity(String.class),
new TypeReference<List<LinkDto>>() {
67 }
catch (IOException ex) {
75 public static boolean islFail(String switchName, String portNo) {
76 System.out.println(
"\n==> Set ISL Discovery Failed");
78 long current = System.currentTimeMillis();
79 Client client = ClientBuilder.newClient(
new ClientConfig());
81 .target(trafficEndpoint)
83 .queryParam(
"switch", switchName)
84 .queryParam(
"port", portNo)
86 .post(Entity.json(
""));
88 System.out.println(String.format(
"===> Response = %s",
result.toString()));
89 System.out.println(String.format(
"===> Set ISL Discovery Failed Time: %,.3f", getTimeDuration(current)));
91 return result.getStatus() == 200;
97 public static boolean addLink(String srcSwitchName, String destSwitchName) {
98 System.out.println(
"\n==> Adding link");
100 Client client = ClientBuilder.newClient(
new ClientConfig());
102 .target(mininetEndpoint)
104 .request(MediaType.APPLICATION_JSON)
106 String.format(
"{\"links\":[{\"node1\": \"%s\", \"node2\": \"%s\"}]}",
107 srcSwitchName, destSwitchName)));
109 return result.getStatus() == 200;
static boolean islFail(String switchName, String portNo)
static List< LinkDto > dumpLinks()
static final String topologyUsername
static final String mininetEndpoint
static final String trafficEndpoint
static final String CORRELATION_ID
static final String topologyPassword
static boolean addLink(String srcSwitchName, String destSwitchName)
static final String northboundEndpoint
static double getTimeDuration(final long current)