Rest-intent
- add get intent by id
- fix problem of not returning the correct intent id at creation to UI.
- create script for mesh mininet topology
Change-Id: I5fc4f008ab2d31a63d222f3e42502408dc25fe6b
diff --git a/src/main/java/net/onrc/onos/datagrid/web/DatagridWebRoutable.java b/src/main/java/net/onrc/onos/datagrid/web/DatagridWebRoutable.java
index 99f79fc..28399c8 100755
--- a/src/main/java/net/onrc/onos/datagrid/web/DatagridWebRoutable.java
+++ b/src/main/java/net/onrc/onos/datagrid/web/DatagridWebRoutable.java
@@ -19,6 +19,7 @@
router.attach("/get/map/{map-name}/json", GetMapResource.class);
router.attach("/add/intents/json", IntentResource.class);
router.attach("/get/intents/json", IntentResource.class);
+ router.attach("/get/intent/{intent_id}/json", IntentResource.class);
return router;
}
diff --git a/src/main/java/net/onrc/onos/datagrid/web/IntentResource.java b/src/main/java/net/onrc/onos/datagrid/web/IntentResource.java
index daf786f..7a2cdd9 100755
--- a/src/main/java/net/onrc/onos/datagrid/web/IntentResource.java
+++ b/src/main/java/net/onrc/onos/datagrid/web/IntentResource.java
@@ -105,17 +105,29 @@
getAttributes().get(IPathCalcRuntimeService.class.getCanonicalName());
ObjectMapper mapper = new ObjectMapper();
String restStr = "";
+
+ String intentId = (String) getRequestAttributes().get("intent_id");
ArrayNode arrayNode = mapper.createArrayNode();
IntentMap intentMap = pathRuntime.getHighLevelIntents();
Collection<Intent> intents = intentMap.getAllIntents();
if (!intents.isEmpty()) {
- for (Intent intent : intents) {
- ObjectNode node = mapper.createObjectNode();
- node.put("intent_id", intent.getId());
- node.put("status", intent.getState().toString());
- arrayNode.add(node);
- restStr = mapper.writeValueAsString(arrayNode);
+ if ((intentId != null )) {
+ Intent intent = intentMap.getIntent(intentId);
+ if (intent != null) {
+ ObjectNode node = mapper.createObjectNode();
+ node.put("intent_id", intent.getId());
+ node.put("status", intent.getState().toString());
+ arrayNode.add(node);
+ }
+ } else {
+ for (Intent intent : intents) {
+ ObjectNode node = mapper.createObjectNode();
+ node.put("intent_id", intent.getId());
+ node.put("status", intent.getState().toString());
+ arrayNode.add(node);
+ }
}
+ restStr = mapper.writeValueAsString(arrayNode);
}
return restStr;
}
@@ -146,9 +158,8 @@
private void appendIntentStatus(String status, final String applnIntentId,
ObjectMapper mapper, ArrayNode arrayNode) throws IOException {
- String intentId = applnIntentId.split(":")[1];
ObjectNode node = mapper.createObjectNode();
- node.put("intent_id", intentId);
+ node.put("intent_id", applnIntentId);
node.put("status", status);
arrayNode.add(node);
}