From e63291850fd0795c5700e25e67e5dee89ba54c5f Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Tue, 1 Dec 2015 05:49:27 -0800 Subject: onos commit hash c2999f30c69e50df905a9d175ef80b3f23a98514 Change-Id: I2bb8562c4942b6d6a6d60b663db2e17540477b81 Signed-off-by: Ashlee Young --- .../main/java/org/onosproject/net/config/Config.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/config/Config.java') diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/Config.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/Config.java index 3757d327..5f2c9f3a 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/Config.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/Config.java @@ -332,6 +332,26 @@ public abstract class Config { return list; } + /** + * Gets the specified array property as a list of items. + * + * @param name property name + * @param function mapper from string to item + * @param defaultValue default value if property not set + * @param type of item + * @return list of items + */ + protected List getList(String name, Function function, List defaultValue) { + List list = Lists.newArrayList(); + JsonNode jsonNode = object.path(name); + if (jsonNode.isMissingNode()) { + return defaultValue; + } + ArrayNode arrayNode = (ArrayNode) jsonNode; + arrayNode.forEach(i -> list.add(function.apply(i.asText()))); + return list; + } + /** * Sets the specified property as an array of items in a given collection or * clears it if null is given. -- cgit 1.2.3-korg