CORD Subscriber GUI - Added CDN function. Added backend boolean to filter out 'internet' when talking to XOS.
Change-Id: I076b9966c38589636968eef3dcaa203ba57f4eba
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/XosManager.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/XosManager.java
index 4264e6b..20b1baf 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/XosManager.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/XosManager.java
@@ -59,9 +59,12 @@
String uriFmt = subId(subscriberId) + "services/%s/%s";
Set<XosFunctionDescriptor> inBundle = bundle.descriptor().functions();
for (XosFunctionDescriptor xfd: XosFunctionDescriptor.values()) {
- String uri = String.format(uriFmt, xfd.id(), inBundle.contains(xfd));
- String result = xosUtils.putRest(uri);
- // TODO: convert JSON result to object and check (if we care)
+ // only process the functions that have a real back-end on XOS
+ if (xfd.backend()) {
+ String uri = String.format(uriFmt, xfd.id(), inBundle.contains(xfd));
+ String result = xosUtils.putRest(uri);
+ // TODO: convert JSON result to object and check (if we care)
+ }
}
}
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionDescriptor.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionDescriptor.java
index b2362c0..8ed4666 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionDescriptor.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionDescriptor.java
@@ -26,30 +26,45 @@
*/
INTERNET("internet",
"Internet",
- "Basic internet connectivity."),
+ "Basic internet connectivity.",
+ false),
/**
* Firewall function.
*/
FIREWALL("firewall",
"Firewall",
- "Normal firewall protection."),
+ "Normal firewall protection.",
+ true),
/**
* URL Filtering function (parental controls).
*/
URL_FILTER("url_filter",
"Parental Control",
- "Variable levels of URL filtering.");
+ "Variable levels of URL filtering.",
+ true),
+
+ /**
+ * Content Distribution function.
+ */
+ CDN("cdn",
+ "CDN",
+ "Content Distribution Network service.",
+ true);
+
private final String id;
private final String displayName;
private final String description;
+ private final boolean backend;
- XosFunctionDescriptor(String id, String displayName, String description) {
+ XosFunctionDescriptor(String id, String displayName, String description,
+ boolean backend) {
this.id = id;
this.displayName = displayName;
this.description = description;
+ this.backend = backend;
}
/**
@@ -79,4 +94,13 @@
return description;
}
+ /**
+ * Returns true if this function is supported by the XOS backend.
+ *
+ * @return true if backend function exists
+ */
+ public boolean backend() {
+ return backend;
+ }
+
}