commit | 9eb45bbf5c4a03004de1d1a63c68a7f04a28b837 | [log] [tgz] |
---|---|---|
author | Jonathan Hart <jono@onlab.us> | Fri Feb 12 10:59:11 2016 -0800 |
committer | Gerrit Code Review <gerrit@onlab.us> | Thu Mar 03 00:59:04 2016 +0000 |
tree | 4a8caad9f307d2b044f88c58801c55ea5375ac9d | |
parent | fd129b2234999f6d44c4bc0cf475288ad5c860a2 [diff] |
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); + } }