]> source.dussan.org Git - sonarqube.git/commitdiff
Fix some Quality flaws about nullability of variables
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 9 Nov 2016 10:55:56 +0000 (11:55 +0100)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 9 Nov 2016 11:00:49 +0000 (12:00 +0100)
server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
server/sonar-server/src/main/java/org/sonar/server/issue/IssueQueryService.java
server/sonar-server/src/main/java/org/sonar/server/ui/JRubyFacade.java
sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/MeasureUtils.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/MeasuresFilter.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/WildcardPattern.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/dag/DirectAcyclicGraph.java

index 1e713c826256b79344ab3d26dc7490e849a98295..2442a85c96f94800be315dbfa5312ab07cae7334 100644 (file)
@@ -229,7 +229,7 @@ public class ComponentService {
     return componentQualifiers;
   }
 
-  public Collection<ComponentDto> getByUuids(DbSession session, Collection<String> componentUuids) {
+  public Collection<ComponentDto> getByUuids(DbSession session, @Nullable Collection<String> componentUuids) {
     Set<ComponentDto> directoryPaths = Sets.newHashSet();
     if (componentUuids != null && !componentUuids.isEmpty()) {
       List<ComponentDto> components = dbClient.componentDao().selectByUuids(session, componentUuids);
index 3c81d1246e2cbc7df625af52f87fc4f7fe75e2c4..f25a9b49d6b63a994ab8a50e7ad001c8ecf684bc 100644 (file)
@@ -409,7 +409,8 @@ public class IssueQueryService {
     builder.projectUuids(projectUuids);
   }
 
-  private Collection<String> authorsFromParamsOrFromDeveloper(DbSession session, Collection<String> componentUuids, Collection<String> authors) {
+  private Collection<String> authorsFromParamsOrFromDeveloper(DbSession session, Collection<String> componentUuids,
+    @Nullable Collection<String> authors) {
     return authors == null ? dbClient.authorDao().selectScmAccountsByDeveloperUuids(session, componentUuids) : authors;
   }
 
index 8c17de8a742e2d7ecd065c1f3c528f04cf006c4b..a4a140bf4c3897fb5b6c9ea472db5461b6f70979 100644 (file)
@@ -224,10 +224,6 @@ public final class JRubyFacade {
   }
 
   public Object getCoreComponentByClassname(String className) {
-    if (className == null) {
-      return null;
-    }
-
     try {
       return get(Class.forName(className));
     } catch (ClassNotFoundException e) {
index 2f62eb28f2c26611ebba2d01c9d1c9e68fcaa321..c025818612fdf200af0e3a0ef03543929ee08db6 100644 (file)
@@ -54,9 +54,7 @@ public final class PropertyDefinitions {
   private final Map<String, String> deprecatedKeys = new HashMap<>();
 
   public PropertyDefinitions(Object... components) {
-    if (components != null) {
-      addComponents(Arrays.asList(components));
-    }
+    addComponents(Arrays.asList(components));
   }
 
   public PropertyDefinitions(Collection<PropertyDefinition> components) {
index 9700220b47f01403c13a61ac44c7d41ef5edd351..04732b9fae5596a48b093c1ed9e523d7645da98e 100644 (file)
@@ -135,7 +135,7 @@ public class Measure<G extends Serializable> implements Serializable {
    * @param metric the metric
    * @param level  the alert level
    */
-  public Measure(Metric metric, Metric.Level level) {
+  public Measure(Metric metric, @Nullable Metric.Level level) {
     this.metric = metric;
     this.metricKey = metric.getKey();
     if (level != null) {
@@ -308,7 +308,7 @@ public class Measure<G extends Serializable> implements Serializable {
    * @param i the value
    * @return the measure object instance
    */
-  public Measure<G> setIntValue(Integer i) {
+  public Measure<G> setIntValue(@Nullable Integer i) {
     if (i == null) {
       this.value = null;
     } else {
@@ -361,7 +361,7 @@ public class Measure<G extends Serializable> implements Serializable {
    * @param level the alert level
    * @return the measure object instance
    */
-  public Measure<G> setData(Metric.Level level) {
+  public Measure<G> setData(@Nullable Metric.Level level) {
     if (level == null) {
       this.data = null;
     } else {
index 9542220d04e518374113ba81aa3371cb3999eb2d..4626a6221e560e4929a974bed3baba55d204e380 100644 (file)
@@ -45,7 +45,7 @@ public final class MeasureUtils {
    * @return true if all measures numeric values
    */
   public static boolean haveValues(Measure... measures) {
-    if (measures == null || measures.length == 0) {
+    if (measures.length == 0) {
       return false;
     }
     for (Measure measure : measures) {
@@ -78,11 +78,11 @@ public final class MeasureUtils {
     return defaultValue;
   }
 
-  public static Double getVariation(Measure measure, int periodIndex) {
+  public static Double getVariation(@Nullable Measure measure, int periodIndex) {
     return getVariation(measure, periodIndex, null);
   }
 
-  public static Double getVariation(Measure measure, int periodIndex, @Nullable Double defaultValue) {
+  public static Double getVariation(@Nullable Measure measure, int periodIndex, @Nullable Double defaultValue) {
     Double result = null;
     if (measure != null) {
       result = measure.getVariation(periodIndex);
@@ -90,11 +90,11 @@ public final class MeasureUtils {
     return result != null ? result : defaultValue;
   }
 
-  public static Long getVariationAsLong(Measure measure, int periodIndex) {
+  public static Long getVariationAsLong(@Nullable Measure measure, int periodIndex) {
     return getVariationAsLong(measure, periodIndex, null);
   }
 
-  public static Long getVariationAsLong(Measure measure, int periodIndex, @Nullable Long defaultValue) {
+  public static Long getVariationAsLong(@Nullable Measure measure, int periodIndex, @Nullable Long defaultValue) {
     Double result = null;
     if (measure != null) {
       result = measure.getVariation(periodIndex);
@@ -108,7 +108,7 @@ public final class MeasureUtils {
    * @param measure the measure
    * @return whether the measure has a value
    */
-  public static boolean hasValue(Measure measure) {
+  public static boolean hasValue(@Nullable Measure measure) {
     return measure != null && measure.getValue() != null;
   }
 
@@ -118,7 +118,7 @@ public final class MeasureUtils {
    * @param measure the measure
    * @return whether the measure has a data field
    */
-  public static boolean hasData(Measure measure) {
+  public static boolean hasData(@Nullable Measure measure) {
     return measure != null && StringUtils.isNotBlank(measure.getData());
   }
 
@@ -129,7 +129,7 @@ public final class MeasureUtils {
    * @param measures   the series of measures
    * @return the sum of the measure series
    */
-  public static Double sum(boolean zeroIfNone, Collection<Measure> measures) {
+  public static Double sum(boolean zeroIfNone, @Nullable Collection<Measure> measures) {
     if (measures != null) {
       return sum(zeroIfNone, measures.toArray(new Measure[measures.size()]));
     }
@@ -144,9 +144,6 @@ public final class MeasureUtils {
    * @return the sum of the measure series
    */
   public static Double sum(boolean zeroIfNone, Measure... measures) {
-    if (measures == null) {
-      return zeroIfNone(zeroIfNone);
-    }
     Double sum = 0d;
     boolean hasValue = false;
     for (Measure measure : measures) {
@@ -170,7 +167,7 @@ public final class MeasureUtils {
    * @param measures   the series of measures
    * @return the sum of the variations for the measure series
    */
-  public static Double sumOnVariation(boolean zeroIfNone, int variationIndex, Collection<Measure> measures) {
+  public static Double sumOnVariation(boolean zeroIfNone, int variationIndex, @Nullable Collection<Measure> measures) {
     if (measures == null) {
       return zeroIfNone(zeroIfNone);
     }
index c576b34d88d090b2a99cad22ea96a13384d79280..309f3c51d14f29b7bfdafef34b0018ac8c10cd93 100644 (file)
@@ -20,6 +20,7 @@
 package org.sonar.api.measures;
 
 import java.util.Collection;
+import javax.annotation.Nullable;
 
 /**
  * @since 1.10
@@ -28,6 +29,6 @@ import java.util.Collection;
 @Deprecated
 public interface MeasuresFilter<M> {
 
-  M filter(Collection<Measure> measures);
+  M filter(@Nullable Collection<Measure> measures);
 
 }
index 5c8883e91a61dab8492cd3c7d344d025125fb0ba..3b83842d8ac624e0e0deb8bd9ff92b02efe7acc4 100644 (file)
@@ -144,11 +144,12 @@ public final class KeyValueFormat {
   }
 
   public abstract static class Converter<T> {
-    abstract String format(T type);
+    abstract String format(@Nullable T type);
 
     @CheckForNull
     abstract T parse(String s);
 
+
     String escape(String s) {
       if (s.contains(FIELD_SEPARATOR) || s.contains(PAIR_SEPARATOR)) {
         return new StringBuilder()
@@ -167,8 +168,8 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(String s) {
-      return escape(s);
+    String format(@Nullable String s) {
+      return s == null ? "" : escape(s);
     }
 
     @Override
@@ -188,8 +189,8 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(Object o) {
-      return escape(o.toString());
+    String format(@Nullable Object o) {
+      return o == null ? "" : escape(o.toString());
     }
 
     @Override
@@ -209,7 +210,7 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(Integer s) {
+    String format(@Nullable Integer s) {
       return s == null ? "" : String.valueOf(s);
     }
 
@@ -230,7 +231,7 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(RulePriority s) {
+    String format(@Nullable RulePriority s) {
       return s == null ? "" : s.toString();
     }
 
@@ -251,7 +252,7 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(Double d) {
+    String format(@Nullable Double d) {
       return d == null ? "" : String.valueOf(d);
     }
 
@@ -273,7 +274,7 @@ public final class KeyValueFormat {
     }
 
     @Override
-    String format(Date d) {
+    String format(@Nullable Date d) {
       return d == null ? "" : dateFormat.format(d);
     }
 
index 48b28e3342138ed41e1e352e66aaa808bde07490..41484e56d31e96646367278a07ff75b145af06fe 100644 (file)
@@ -22,6 +22,7 @@ package org.sonar.api.utils;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Pattern;
+import javax.annotation.Nullable;
 import org.apache.commons.lang.StringUtils;
 
 /**
@@ -169,7 +170,7 @@ public class WildcardPattern {
    * 
    * @see #create(String, String)
    */
-  public static WildcardPattern[] create(String[] patterns) {
+  public static WildcardPattern[] create(@Nullable String[] patterns) {
     if (patterns == null) {
       return new WildcardPattern[0];
     }
index 338f2962b764cefdc35b5a3ba56b077c62585fe4..2a6b75e57dc44860b6d71aba5c0ea405137c4b2f 100644 (file)
@@ -37,15 +37,13 @@ public class DirectAcyclicGraph {
   private Map<Object, Node> registeredObjects = new HashMap<>();
   private List<Node> nodes = new ArrayList<>();
 
-  public DirectAcyclicGraph(final Object... objects) {
-    if (objects != null) {
-      for (Object object : objects) {
-        add(object);
-      }
+  public DirectAcyclicGraph(Object... objects) {
+    for (Object object : objects) {
+      add(object);
     }
   }
 
-  public Node add(final Object object, final Object... dependencies) {
+  public Node add(Object object, Object... dependencies) {
     Node node = registeredObjects.get(object);
     if (node == null) {
       node = new Node(object);
@@ -53,11 +51,9 @@ public class DirectAcyclicGraph {
       registeredObjects.put(object, node);
     }
 
-    if (dependencies != null) {
-      for (Object dependency : dependencies) {
-        Node depNode = add(dependency);
-        node.addDependency(depNode);
-      }
+    for (Object dependency : dependencies) {
+      Node depNode = add(dependency);
+      node.addDependency(depNode);
     }
     return node;
   }