CORD Subscriber GUI - Added levels OFF, G, and NONE to UrlFilterFunction.Level enum.
- added some unit tests for UrlFilterFunction.

Change-Id: Ic241818e260b84541665031e659c87f61f8899cf
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/Bundle.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/Bundle.java
index 622d0e3..c51cc84 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/Bundle.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/Bundle.java
@@ -72,7 +72,7 @@
         XosFunction func;
         switch (xfd) {
             case URL_FILTER:
-                func = new UrlFilterFunction(xfd);
+                func = new UrlFilterFunction();
                 break;
 
             default:
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/UrlFilterFunction.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/UrlFilterFunction.java
index a2e2f2c..863681c 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/UrlFilterFunction.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/UrlFilterFunction.java
@@ -29,17 +29,19 @@
     private static final String LEVEL = "level";
 
     /**
-     * Denotes the URL filtering levels available.
+     * Denotes the URL filtering levels available. From most restrictive
+     * to least restrictive. Note: <em>OFF</em> denies everything;
+     * <em>NONE</em> allows everything.
      */
-    public enum Level { PG, PG_13, R }
+    public enum Level { OFF, G, PG, PG_13, R, NONE }
 
     /**
      * The default URL filtering level
      */
-    public static final Level DEFAULT_LEVEL = Level.PG;
+    public static final Level DEFAULT_LEVEL = Level.G;
 
-    public UrlFilterFunction(XosFunctionDescriptor xfd) {
-        super(xfd);
+    public UrlFilterFunction() {
+        super(XosFunctionDescriptor.URL_FILTER);
     }
 
     @Override
diff --git a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionFactory.java b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionFactory.java
index 991b72b..a91dbfb 100644
--- a/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionFactory.java
+++ b/apps/demo/cord-gui/src/main/java/org/onosproject/cord/gui/model/XosFunctionFactory.java
@@ -17,9 +17,6 @@
     private static final String LEVEL = "level";
     private static final String LEVELS = "levels";
 
-    private static final UrlFilterFunction.Level DEFAULT_FILTER_LEVEL =
-        UrlFilterFunction.Level.PG;
-
 
     // no instantiation
     private XosFunctionFactory() {}
@@ -91,7 +88,7 @@
         @Override
         ObjectNode params() {
             ObjectNode result = objectNode();
-            result.put(LEVEL, DEFAULT_FILTER_LEVEL.name());
+            result.put(LEVEL, UrlFilterFunction.DEFAULT_LEVEL.name());
             ArrayNode levels = arrayNode();
             for (UrlFilterFunction.Level lvl: UrlFilterFunction.Level.values()) {
                 levels.add(lvl.name());