aboutsummaryrefslogtreecommitdiffstats
path: root/uni/unibase/src
diff options
context:
space:
mode:
authorSteven Saunders <steve@sentosatech.com>2015-12-16 14:31:40 -0700
committerSteven Saunders <steve@sentosatech.com>2015-12-16 14:33:44 -0700
commit754851249b5722222a84e5a821f6edea095e72e7 (patch)
tree72f1abf438e8fb877ebf0be5aa65e2a2c56888fc /uni/unibase/src
parentb123b74d81d20efbb594db5eb1fb17ed79953c58 (diff)
make create, delete, get work with new topology based REST callsHEADstable/brahmaputramaster
Change-Id: Iad6fa28971ad61003d34ed38ab2e2d8647dc31bd Signed-off-by: Steven Saunders <steve@sentosatech.com>
Diffstat (limited to 'uni/unibase/src')
-rw-r--r--uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/EvcPathClient.java9
-rw-r--r--uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/UniClient.java81
-rw-r--r--uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/EvcPath.java119
-rw-r--r--uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/Uni.java55
4 files changed, 147 insertions, 117 deletions
diff --git a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/EvcPathClient.java b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/EvcPathClient.java
index 0fb47d1..50feb6c 100644
--- a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/EvcPathClient.java
+++ b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/EvcPathClient.java
@@ -29,9 +29,10 @@ import java.util.List;
public class EvcPathClient {
+ // private String evcMgrServer = "10.36.0.20";
private String evcMgrServer = "localhost";
private String evcMgrPort = "8181";
- private String evcMgrCfgRESTPath = "/restconf/config/cl-vcpe-mef:evcs/";
+ private String evcMgrCfgRESTPath = "/restconf/config/network-topology:network-topology/topology/unimgr:evc/link/";
private Client client; // provided by Jersey
@@ -49,7 +50,7 @@ public class EvcPathClient {
Dbg.p("\nEVC Create JSON:");
Dbg.p(json);
- Response response = target.path("evc")
+ Response response = target.path("")
.request(MediaType.APPLICATION_JSON)
.post(Entity.entity(json, MediaType.APPLICATION_JSON));
@@ -74,7 +75,7 @@ public class EvcPathClient {
Dbg.p("\nEVC Create/Update JSON:");
Dbg.p(json);
- Response response = target.path("evc/"+evcPath.getId())
+ Response response = target.path(evcPath.getId())
.request(MediaType.APPLICATION_JSON)
.header("Authorization", authorizationHeaderValue)
.put(Entity.entity(json, MediaType.APPLICATION_JSON));
@@ -97,7 +98,7 @@ public class EvcPathClient {
String authorizationHeaderValue = "Basic " +
DatatypeConverter.printBase64Binary(uNameAndPass.getBytes("UTF-8"));
- Response response = target.path("evc/" + evcPathId)
+ Response response = target.path(evcPathId)
.request(MediaType.APPLICATION_JSON)
.header("Authorization", authorizationHeaderValue)
.delete();
diff --git a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/UniClient.java b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/UniClient.java
index 08994fe..a61f0d9 100644
--- a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/UniClient.java
+++ b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/client/UniClient.java
@@ -31,10 +31,15 @@ import javax.xml.bind.DatatypeConverter;
public class UniClient {
+ // put this in config file
+ // private String uniMgrServer = "localhost";
+
+ //private String uniMgrServer = "10.36.0.20";
private String uniMgrServer = "localhost";
private String uniMgrPort = "8181";
- private String uniMgrCfgRESTPath = "/restconf/config/cl-vcpe-mef:unis/";
- private String uniMgrOpRESTPath = "/restconf/operational/cl-vcpe-mef:unis/";
+
+ private String uniMgrCfgRESTPath = "/restconf/config/network-topology:network-topology/topology/unimgr:uni/node/";
+ private String uniMgrOpRESTPath = "/restconf/operational/network-topology:network-topology/topology/unimgr:uni/node/";
private Client client; // provided by Jersey
@@ -43,37 +48,9 @@ public class UniClient {
}
//--------------------------------------------------------
- public Response create(Uni uni ) throws Exception
- //--------------------------------------------------------
- // create Uni
- {
- WebTarget target =client.target("http://"+uniMgrServer+":" + uniMgrPort + uniMgrCfgRESTPath);
-
- String json = uni.toJson();
- Dbg.p("\nUNI Create JSON:");
- Dbg.p(json);
-
- String uNameAndPass = "admin:admin";
- String authorizationHeaderValue = "Basic " +
- DatatypeConverter.printBase64Binary(uNameAndPass.getBytes("UTF-8"));
- Response response = target.path("uni")
- .request(MediaType.APPLICATION_JSON)
- .header("Authorization", authorizationHeaderValue)
- .post(Entity.entity(json, MediaType.APPLICATION_JSON));
-
- if (response.getStatus() != 200 ) // figure out how to use Status.OK
- {
- // in production you can be more specific based on reponse code, id, etc
- throw new RuntimeException(response.getStatus() + ": there was an error on the server.");
- }
- //return response.readEntity(Uni.class);
- return response;
- }
-
- //--------------------------------------------------------
public Response update(Uni uni) throws Exception
//--------------------------------------------------------
- // create/update Uni. This seems to be how OLD expects uni creation
+ // create/update Uni. This seems to be how ODL expects uni creation
{
WebTarget target =client.target("http://"+uniMgrServer+":" + uniMgrPort + uniMgrCfgRESTPath);
@@ -84,7 +61,7 @@ public class UniClient {
String uNameAndPass = "admin:admin";
String authorizationHeaderValue = "Basic " +
DatatypeConverter.printBase64Binary(uNameAndPass.getBytes("UTF-8"));
- Response response = target.path("uni/"+uni.getId())
+ Response response = target.path(uni.getId())
.request(MediaType.APPLICATION_JSON)
.header("Authorization", authorizationHeaderValue)
.put(Entity.entity(json, MediaType.APPLICATION_JSON));
@@ -108,7 +85,7 @@ public class UniClient {
String authorizationHeaderValue = "Basic " +
DatatypeConverter.printBase64Binary(uNameAndPass.getBytes("UTF-8"));
- Response response = target.path("uni/" + uniId)
+ Response response = target.path(uniId)
.request(MediaType.APPLICATION_JSON)
.header("Authorization", authorizationHeaderValue)
.delete();
@@ -120,10 +97,6 @@ public class UniClient {
}
}
- //
- // Code from here below requires work in order to work with ODL
- //
-
//--------------------------------------------------------
public Uni get(String uniId) throws Exception
//--------------------------------------------------------
@@ -143,7 +116,6 @@ public class UniClient {
return JsonToUni(uni, uniJson);
}
-
//--------------------------------------------------------
public Uni JsonToUni(Uni uni, String uniJson) {
//--------------------------------------------------------
@@ -239,6 +211,39 @@ public class UniClient {
return uni;
}
+ //
+ // Code from here below requires work in order to work with ODL
+ // Currently none of the calls below are being invoked
+ // Consider removing these from the source
+ //
+
+ //--------------------------------------------------------
+ public Response create(Uni uni ) throws Exception
+ //--------------------------------------------------------
+ // create Uni
+ {
+ WebTarget target =client.target("http://"+uniMgrServer+":" + uniMgrPort + uniMgrCfgRESTPath);
+
+ String json = uni.toJson();
+ Dbg.p("\nUNI Create JSON:");
+ Dbg.p(json);
+
+ String uNameAndPass = "admin:admin";
+ String authorizationHeaderValue = "Basic " +
+ DatatypeConverter.printBase64Binary(uNameAndPass.getBytes("UTF-8"));
+ Response response = target.path("uni")
+ .request(MediaType.APPLICATION_JSON)
+ .header("Authorization", authorizationHeaderValue)
+ .post(Entity.entity(json, MediaType.APPLICATION_JSON));
+
+ if (response.getStatus() != 200 ) // figure out how to use Status.OK
+ {
+ // in production you can be more specific based on reponse code, id, etc
+ throw new RuntimeException(response.getStatus() + ": there was an error on the server.");
+ }
+ //return response.readEntity(Uni.class);
+ return response;
+ }
//--------------------------------------------------------
public List<Uni> getAll()
diff --git a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/EvcPath.java b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/EvcPath.java
index 469b05b..6c97cf8 100644
--- a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/EvcPath.java
+++ b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/EvcPath.java
@@ -36,71 +36,72 @@ public class EvcPath {
public String toJson() {
-//{
-// "evc":
-// {
-// "evc:id": "822f8284-2b35-11e5-b345-feff819cdc9f",
-// "evc:uni-dest":
-// [
-// {
-// "order": 0,
-// "uni": "822f7eec-2b35-11e5-b345-feff819cdc9f"
-// }
-// ],
-// "evc:uni-source":
-// [
-// {
-// "order": 0,
-// "uni": "111f7eec-2c35-11e5-b345-feff819cdc9f"
-// }
-// ],
-// "evc:cos-id": "string",
-// "evc:ingress-bw":
-// {
-// "speed-1G": {}
-// },
-// "evc:egress-bw":
-// {
-// "speed-1G": {}
-// }
-// }
-//}
-
- String json = "{\n"+
- " \"evc\":\n"+
- " {\n"+
- " \"evc:id\": \""+ this.getId() +"\",\n"+
- " \"evc:uni-dest\":\n"+
- " [\n"+
- " {\n"+
- " \"order\": 0,\n"+
- " \"uni\": \""+ this.uni1.getId() +"\"\n"+
- " }\n"+
- " ],\n"+
- " \"evc:uni-source\":\n"+
- " [\n"+
- " {\n"+
- " \"order\": 0,\n"+
- " \"uni\": \""+ this.uni2.getId() +"\"\n"+
- " }\n"+
- " ],\n"+
- " \"evc:cos-id\": \""+ this.getCos() +"\",\n"+
- " \"evc:ingress-bw\":\n"+
- " {\n"+
-// " \"speed-1G\": {}\n"+
- " \"" + this.getIngressBW() + "\": {}\n"+
- " },\n"+
- " \"evc:egress-bw\":\n"+
+ // {
+ // "network-topology:link":
+ // [
+ // {
+ // "evc:link-id": "evc1",
+ // "evc:uni-dest": [
+ // {
+ // "order": 0,
+ // "ip-address": "10.36.0.21"
+ // }
+ // ],
+
+ // "evc:uni-source": [
+ // {
+ // "order": 0,
+ // "ip-address": "10.36.0.22"
+ // }
+ // ],
+
+ // "evc:cos-id": "string",
+ // "evc:ingress-bw": {
+ // "speed-1G": {}
+ // },
+ // "evc:egress-bw": {
+ // "speed-1G": {}
+ // }
+ // }
+ // ]
+ // }
+
+ String json =
+
+ "{\n"+
+ " \"network-topology:link\":\n" +
+ " [" +
" {\n"+
-// " \"speed-1G\": {}\n"+
- " \"" + this.getEgressBW() + "\": {}\n"+
+ " \"evc:link-id\": \""+ this.getId() +"\",\n"+
+ " \"evc:uni-dest\":\n"+
+ " [\n"+
+ " {\n"+
+ " \"order\": 0,\n"+
+ " \"ip-address\": \""+ this.uni1.getIpAddress() +"\"\n"+
+ " }\n"+
+ " ],\n"+
+ " \"evc:uni-source\":\n"+
+ " [\n"+
+ " {\n"+
+ " \"order\": 0,\n"+
+ " \"ip-address\": \""+ this.uni2.getIpAddress() +"\"\n"+
+ " }\n"+
+ " ],\n"+
+ " \"evc:cos-id\": \""+ this.getCos() +"\",\n"+
+ " \"evc:ingress-bw\":\n"+
+ " {\n"+
+ " \"" + this.getIngressBW() + "\": {}\n"+
+ " },\n"+
+ " \"evc:egress-bw\":\n"+
+ " {\n"+
+ " \"" + this.getEgressBW() + "\": {}\n"+
+ " }\n"+
" }\n"+
- " }\n"+
+ " ]" +
"}";
return json;
}
-
public String getId() { return id; }
public void setId(String id) { this.id = id; }
diff --git a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/Uni.java b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/Uni.java
index cec4d80..0edf3db 100644
--- a/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/Uni.java
+++ b/uni/unibase/src/main/java/com/cablelabs/vcpe/uni/unibase/model/Uni.java
@@ -126,22 +126,45 @@ public class Uni
public String toJson() {
- String json = "{\n"+
- " \"uni\":\n"+
- " {\n"+
- " \"uni:id\": \""+ this.getId() +"\",\n"+
- " \"speed\":\n" +
- " {\n" +
- " \"" + this.getSpeed() + "\": "+"\"1\"\n"+
- " },\n"+
- " \"uni:mac-layer\": \""+ this.getMacLayer() +"\",\n"+
- " \"uni:physical-medium\": \""+ this.getPhysicalMedium() +"\",\n"+
- " \"uni:mtu-size\": \""+ this.getMtuSize() +"\",\n"+
- " \"uni:type\": \"\",\n"+
- " \"uni:mac-address\": \""+ this.getMacAddress() +"\",\n"+
- " \"uni:ip-address\": \""+ this.getIpAddress() +"\",\n"+
- " \"uni:mode\": \""+ this.getMode() +"\"\n"+
- " }\n"+
+ /*
+ {
+ "network-topology:node": [
+ {
+ "node-id": "uni1",
+ "speed": {
+ "speed-1G": 1
+ },
+ "uni:mac-layer": "IEEE 802.3-2005",
+ "uni:physical-medium": "UNI TypeFull Duplex 2 Physical Interface",
+ "uni:mtu-size": 0,
+ "uni:type": "",
+ "uni:mac-address": "b8:27:eb:c9:a9:66",
+ "uni:ip-address": "10.36.0.21",
+ "uni:mode": "Full Duplex"
+ }
+ ]
+ }
+ */
+
+ String json =
+ "{\n"+
+ " \"network-topology:node\":\n" +
+ " [" +
+ " {\n"+
+ " \"node-id\": \""+ this.getId() +"\",\n"+
+ " \"speed\":\n" +
+ " {\n" +
+ " \"" + this.getSpeed() + "\": "+"\"1\"\n"+
+ " },\n"+
+ " \"uni:mac-layer\": \""+ this.getMacLayer() +"\",\n"+
+ " \"uni:physical-medium\": \""+ this.getPhysicalMedium() +"\",\n"+
+ " \"uni:mtu-size\": \""+ this.getMtuSize() +"\",\n"+
+ " \"uni:type\": \"\",\n"+
+ " \"uni:mac-address\": \""+ this.getMacAddress() +"\",\n"+
+ " \"uni:ip-address\": \""+ this.getIpAddress() +"\",\n"+
+ " \"uni:mode\": \""+ this.getMode() +"\"\n"+
+ " }\n"+
+ " ]" +
"}";
return json;