Add config validation for vRouter and PIM configs

Change-Id: I97ddf4f745a19df6998b15ae47ebde5aa5f46238
diff --git a/apps/routing-api/src/main/java/org/onosproject/routing/config/RouterConfig.java b/apps/routing-api/src/main/java/org/onosproject/routing/config/RouterConfig.java
index 9099019..dbd49ff 100644
--- a/apps/routing-api/src/main/java/org/onosproject/routing/config/RouterConfig.java
+++ b/apps/routing-api/src/main/java/org/onosproject/routing/config/RouterConfig.java
@@ -82,4 +82,19 @@
         return interfaces;
     }
 
+    @Override
+    public boolean isValid() {
+        if (!hasOnlyFields(INTERFACES, CP_CONNECT_POINT, OSPF_ENABLED, PIM_ENABLED)) {
+            return false;
+        }
+
+        JsonNode intfNode = object.path(INTERFACES);
+        if (!intfNode.isMissingNode() && !intfNode.isArray()) {
+            return false;
+        }
+
+        return isConnectPoint(CP_CONNECT_POINT, FieldPresence.MANDATORY) &&
+                isBoolean(OSPF_ENABLED, FieldPresence.OPTIONAL) &&
+                isBoolean(PIM_ENABLED, FieldPresence.OPTIONAL);
+    }
 }