Sonar fixes in "appc-ranking-framework-lib" 35/29035/4
authorwejs <maciej.wejs@nokia.com>
Wed, 24 Jan 2018 12:12:49 +0000 (13:12 +0100)
committerTakamune Cho <tc012c@att.com>
Mon, 5 Feb 2018 19:23:58 +0000 (19:23 +0000)
Change-Id: Ib9c490a8bcb5107fda4be1baf12d776b30777be1
Issue-ID: APPC-477
Signed-off-by: wejs <maciej.wejs@nokia.com>
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/AbstractRankedAttributesResolverFactory.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/BacktraceStrategy.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/Constants.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/DefaultRankedAttributesTreeFactory.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/LeafNode.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/NodeBase.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/Strategy.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/main/java/org/onap/appc/rankingframework/impl/Utils.java
appc-dispatcher/appc-dispatcher-common/ranking-framework-lib/src/test/java/org/onap/appc/rankingframework/TestRankingFramework.java

index 99ac8a7..2b296e2 100644 (file)
@@ -26,13 +26,15 @@ package org.onap.appc.rankingframework;
 
 import org.onap.appc.rankingframework.impl.DefaultRankedAttributesTreeFactory;
 
-public abstract class AbstractRankedAttributesResolverFactory implements RankedAttributesResolverFactory {
+public interface AbstractRankedAttributesResolverFactory  {
 
-    private static class ReferenceHolder {
+    class ReferenceHolder {
         private static final RankedAttributesResolverFactory INSTANCE = new DefaultRankedAttributesTreeFactory();
+
+        private ReferenceHolder() {}
     }
 
-    public static RankedAttributesResolverFactory getInstance() {
+    static RankedAttributesResolverFactory getInstance() {
         return ReferenceHolder.INSTANCE;
     }
 }
index 5da4a8e..ca62020 100644 (file)
@@ -9,15 +9,15 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- * 
+ *
  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  * ============LICENSE_END=========================================================
  */
@@ -39,13 +39,7 @@ class BacktraceStrategy implements Strategy {
     @Override
     public <R> R resolve(CompositeNode<R> rootNode, List<String> rankedNames, RankedAttributesContext context) {
 
-        if (logger.isDebugEnabled()) {
-            StringBuilder buff = new StringBuilder(128);
-            for (String name : rankedNames) {
-                buff.append("/{").append(name).append(" = ").append(Utils.value(context.getAttributeValue(name))).append('}');
-            }
-            logger.debug(String.format("Trying to resolve path: %s", buff));
-        }
+        logEntryPath(rankedNames, context);
 
         Set<String> visited = new HashSet<>();
 
@@ -63,24 +57,7 @@ class BacktraceStrategy implements Strategy {
                 value = Utils.value(context.getAttributeValue(attribute));
             }
 
-            Node<R> childNode = parentNode.children().get(value);
-
-            if (childNode != null) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug(String.format("Found matching node '%s' - checking it out", childNode));
-                }
-
-                if (!visited.add(childNode.id())) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug(String.format("The matching node '%s' was checked before - ignoring it", childNode));
-                    }
-                    childNode = null;
-                }
-            } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug(String.format("Node '%s/{%s = %s}' not found  - falling back", parentNode, attribute, value != null ? value : "NULL"));
-                }
-            }
+            Node<R> childNode = getChildNode(parentNode, visited, attribute, value);
 
             if (childNode != null) {
                 switch (childNode.type()) {
@@ -90,9 +67,7 @@ class BacktraceStrategy implements Strategy {
                         parentNode = (CompositeNode<R>) childNode;
                         break;
                     case LEAF:
-                        if (logger.isDebugEnabled()) {
-                            logger.debug( String.format("Result node has been resolved succesfully - '%s'", childNode));
-                        }
+                        log("Result node has been resolved succesfully - '%s'", childNode);
                         result = ((LeafNode<R>) childNode).result();
                         stop = true;
                         break;
@@ -100,13 +75,12 @@ class BacktraceStrategy implements Strategy {
                         throw new IllegalStateException(childNode.type().name());
                 }
             } else {
-                if (!value.equals(Constants.DEFAULT_MATCH)) {
+                if (!(Constants.DEFAULT_MATCH).equals(value)) {
                     logger.debug("Exact match didn't work, trying the default option, if any");
                     value = Constants.DEFAULT_MATCH;
                 } else if (depth > 0) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug(String.format("Exact match didn't work and no default option available beneath '%s' - moving out", parentNode));
-                    }
+                    log("Exact match didn't work and no default option available beneath '%s' - moving out",
+                            parentNode);
                     depth--;
                     value = null;
                     parentNode = parentNode.parent();
@@ -119,4 +93,41 @@ class BacktraceStrategy implements Strategy {
 
         return result;
     }
+
+    private <R> Node<R> getChildNode(CompositeNode<R> parentNode, Set<String> visited, String attribute, Object value) {
+
+        Node<R> childNode = parentNode.children().get(value);
+        if (childNode != null) {
+            log("Found matching node '%s' - checking it out", childNode);
+
+            if (!visited.add(childNode.id())) {
+                log("The matching node '%s' was checked before - ignoring it", childNode);
+                childNode = null;
+            }
+        } else {
+            log("Node '%s/{%s = %s}' not found  - falling back",
+                    parentNode, attribute, value != null ? value : "NULL");
+        }
+        return childNode;
+    }
+
+    private void logEntryPath(List<String> rankedNames, RankedAttributesContext context){
+        if (logger.isDebugEnabled()) {
+            StringBuilder buff = new StringBuilder(128);
+            for (String name : rankedNames) {
+                buff.append("/{")
+                        .append(name)
+                        .append(" = ")
+                        .append(Utils.value(context.getAttributeValue(name)))
+                        .append('}');
+            }
+            logger.debug(String.format("Trying to resolve path: %s", buff));
+        }
+    }
+
+    private void log(String log, Object... args) {
+        if (logger.isDebugEnabled()) {
+            logger.debug(String.format(log, args));
+        }
+    }
 }
index 4d59735..cf33533 100644 (file)
@@ -35,15 +35,13 @@ import org.onap.appc.rankingframework.RankedAttributesResolverFactory;
 
 public final class DefaultRankedAttributesTreeFactory implements RankedAttributesResolverFactory {
 
-    private final Strategy DEFAULT_STRATEGY = new BacktraceStrategy();
+    private final Strategy defaultStrategy = new BacktraceStrategy();
 
     @Override
     public <R> RankedAttributesResolver<R> create(ConfigurationSet<R> config) {
 
         CompositeNode<R> root = RankedAttributesTreeBuilder.build(config);
-        RankedAttributesResolver<R> tree = new RankedAttributesTree<R>(root, toList(config.getRankedAttributeNames()),
-                DEFAULT_STRATEGY);
-        return tree;
+        return new RankedAttributesTree<>(root, toList(config.getRankedAttributeNames()), defaultStrategy);
     }
 
     private static List<String> toList(Collection<String> col) {
index c6bb973..4e20e48 100644 (file)
@@ -39,7 +39,7 @@ class LeafNode<R> extends NodeBase<R> {
 
     @Override
     public String toString() {
-        StringBuffer buff = new StringBuffer(128);
+        StringBuilder buff = new StringBuilder(128);
         buff.append(super.toString());
         buff.append(" --> ");
         buff.append(result.toString());
index 1075cca..59d5e7a 100644 (file)
@@ -73,8 +73,8 @@ abstract class NodeBase<R> implements Node<R> {
 
     @Override
     public String toString() {
-        if (!name.equals("ROOT")) {
-            StringBuffer buff = new StringBuffer(128);
+        if (!("ROOT").equals(name)) {
+            StringBuilder buff = new StringBuilder(128);
             if (parent != null) {
                 buff.append(parent.toString());
             }
index fb18377..63fe2db 100644 (file)
@@ -29,9 +29,9 @@ class Utils {
     private Utils() {
     }
 
-    static <R> Object value(Object value) {
+    static Object value(Object value) {
         if (value == null || (value instanceof String && isEmpty((String) value))) {
-            value = Constants.DEFAULT_MATCH;
+            return Constants.DEFAULT_MATCH;
         }
 
         return value;
index 9937692..beba506 100644 (file)
@@ -32,11 +32,6 @@ import java.util.Map;
 
 import org.junit.Assert;
 import org.junit.Test;
-import org.onap.appc.rankingframework.AbstractRankedAttributesResolverFactory;
-import org.onap.appc.rankingframework.ConfigurationEntry;
-import org.onap.appc.rankingframework.ConfigurationSet;
-import org.onap.appc.rankingframework.RankedAttributesContext;
-import org.onap.appc.rankingframework.RankedAttributesResolver;
 
 public class  TestRankingFramework {
 
@@ -64,6 +59,7 @@ public class  TestRankingFramework {
         return new ConfigurationEntryImpl(map, result);
     }
 
+    @SafeVarargs
     private static ConfigurationSet<String> config(ConfigurationEntry<String> ... entries) {
         return new ConfigurationSetImpl(Arrays.asList(entries), NAMES);
     }