Add config validation for vRouter and PIM configs
Change-Id: I97ddf4f745a19df6998b15ae47ebde5aa5f46238
diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
index 48969c3..63ceb36 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceConfig.java
@@ -112,4 +112,20 @@
}
return Optional.of(Short.parseShort(node.path(OVERRIDE_INTERVAL).asText()));
}
+
+ @Override
+ public boolean isValid() {
+ if (!hasOnlyFields(INTERFACE_NAME, ENABLED, HELLO_INTERVAL, HOLD_TIME,
+ PRIORITY, PROPAGATION_DELAY, OVERRIDE_INTERVAL)) {
+ return false;
+ }
+
+ return isString(INTERFACE_NAME, FieldPresence.MANDATORY) &&
+ isBoolean(ENABLED, FieldPresence.MANDATORY) &&
+ isIntegralNumber(HELLO_INTERVAL, FieldPresence.OPTIONAL) &&
+ isIntegralNumber(HOLD_TIME, FieldPresence.OPTIONAL) &&
+ isIntegralNumber(PRIORITY, FieldPresence.OPTIONAL) &&
+ isIntegralNumber(PROPAGATION_DELAY, FieldPresence.OPTIONAL) &&
+ isIntegralNumber(OVERRIDE_INTERVAL, FieldPresence.OPTIONAL);
+ }
}