From 7ed69b1e3f118f0fb19efecf46607c0debb2ea82 Mon Sep 17 00:00:00 2001 From: Tomek Kaminski Date: Wed, 3 Jan 2018 13:13:09 +0100 Subject: Fix sonar blockers Fix two blockers with possible NPE in accessing parentNode Fix major related to using diamond operator with generics Fix major related to nesting more than 3 if statements. Change-Id: Ic3e5271bc599120ff6a3d1f74c97e614866c44ad Issue-ID: APPC-367 Signed-off-by: Tomek Kaminski --- .../impl/RankedAttributesTreeBuilder.java | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src') diff --git a/appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/RankedAttributesTreeBuilder.java b/appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/RankedAttributesTreeBuilder.java index 2a7cfbfe0..9092a1361 100644 --- a/appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/RankedAttributesTreeBuilder.java +++ b/appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/RankedAttributesTreeBuilder.java @@ -45,9 +45,7 @@ class RankedAttributesTreeBuilder { CompositeNode root = new CompositeNode<>("ROOT", Constants.DEFAULT_MATCH, null, new HashMap>()); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Building decision tree for ranked attributes: %s", config.getRankedAttributeNames())); - } + logDebugWhenEnabled(String.format("Building decision tree for ranked attributes: %s", config.getRankedAttributeNames())); for (ConfigurationEntry entry : config.getEntries()) { process(entry, names, root); @@ -57,13 +55,9 @@ class RankedAttributesTreeBuilder { } private static void process(ConfigurationEntry entry, Object[] names, CompositeNode root) { - CompositeNode parentNode = null; + CompositeNode parentNode = root; for (int i = 0; i < names.length; i++) { - if (i == 0) { - parentNode = root; - } - final String name = (String) names[i]; final Object value = value(entry, name); @@ -78,12 +72,10 @@ class RankedAttributesTreeBuilder { } else { LeafNode currentNode = (LeafNode) parentNode.children().get(value); if (currentNode == null) { - currentNode = new LeafNode(name, value, parentNode, entry.getResult()); + currentNode = new LeafNode<>(name, value, parentNode, entry.getResult()); parentNode.children().put(value, currentNode); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Branch has been created: %s", currentNode)); - } + logDebugWhenEnabled(String.format("Branch has been created: %s", currentNode)); } else { logger.error( String.format("Duplicated configuration entry has been detected for attribute '%s' with value '%s' - the node '%s'exists already", @@ -96,6 +88,12 @@ class RankedAttributesTreeBuilder { } } + private static void logDebugWhenEnabled(String message) { + if(logger.isDebugEnabled()) { + logger.debug(message); + } + } + private static Object value(ConfigurationEntry entry, String name) { Object value = entry.getAttributeValue(name); return Utils.value(value); -- cgit 1.2.3-korg