]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaws
authorJulien Lancelot <julien.lancelot@gmail.com>
Tue, 20 Aug 2013 10:26:24 +0000 (12:26 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Tue, 20 Aug 2013 10:26:24 +0000 (12:26 +0200)
19 files changed:
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/GenerateAlertEvents.java
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/TendencyAnalyser.java
plugins/sonar-design-plugin/src/main/java/org/sonar/plugins/design/ui/libraries/client/ProjectPanel.java
sonar-batch/src/main/java/org/sonar/batch/index/Bucket.java
sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java
sonar-batch/src/main/java/org/sonar/batch/profiling/PhasesSumUpTimeProfiler.java
sonar-core/src/main/java/org/sonar/core/measure/MeasureFilterFactory.java
sonar-core/src/main/java/org/sonar/core/measure/MeasureFilterSort.java
sonar-maven-plugin/src/main/java/org/sonar/maven/ExceptionHandling.java
sonar-plugin-api/src/main/java/org/sonar/api/qualitymodel/Characteristic.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/command/CommandExecutor.java
sonar-server/src/main/java/org/sonar/server/configuration/Backup.java
sonar-server/src/main/java/org/sonar/server/exceptions/HttpException.java
sonar-server/src/main/java/org/sonar/server/platform/MasterServletFilter.java
sonar-server/src/main/java/org/sonar/server/plugins/PluginDeployer.java
sonar-server/src/main/java/org/sonar/server/startup/JdbcDriverDeployer.java
sonar-server/src/test/java/org/sonar/server/plugins/PluginDeployerTest.java
sonar-squid/src/main/java/org/sonar/squid/recognizer/Detector.java
sonar-ws-client/src/main/java/org/sonar/wsclient/internal/EncodingUtils.java

index 4bdc0c13a068e5cbf79a834235fb226ca0979b54..3e048566bf6c9d96d564904a5b6c0adf95b8a8bd 100644 (file)
  */
 package org.sonar.plugins.core.sensors;
 
-import org.sonar.api.batch.Decorator;
-import org.sonar.api.batch.DecoratorContext;
-import org.sonar.api.batch.DependsUpon;
-import org.sonar.api.batch.Event;
-import org.sonar.api.batch.TimeMachine;
-import org.sonar.api.batch.TimeMachineQuery;
+import org.sonar.api.batch.*;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.api.measures.Measure;
 import org.sonar.api.measures.Metric;
@@ -71,7 +66,7 @@ public class GenerateAlertEvents implements Decorator {
     TimeMachineQuery query = new TimeMachineQuery(resource).setOnlyLastAnalysis(true).setMetrics(CoreMetrics.ALERT_STATUS);
     List<Measure> measures = timeMachine.getMeasures(query);
 
-    Measure pastStatus = (measures != null && measures.size() == 1 ? measures.get(0) : null);
+    Measure pastStatus = measures != null && measures.size() == 1 ? measures.get(0) : null;
     String alertText = currentStatus.getAlertText();
     Level alertLevel = currentStatus.getDataAsLevel();
     String alertName = null;
index 6923ec0fa945e3bce3e7a0232c8cce4fe848630d..92c964f7b61b20bde53155eb055aaa52496ab75d 100644 (file)
@@ -68,9 +68,9 @@ public class TendencyAnalyser {
     if (nullValuesYList || nbrPoints == 1) {
       return null;
     }
-    double n0 = ((nbrPoints * sumXY) - (sumX * sumY));
-    double d = ((nbrPoints * sumXPower2) - (sumX * sumX));
-    double n1 = ((sumY * sumXPower2) - (sumX * sumXY));
+    double n0 = (nbrPoints * sumXY) - (sumX * sumY);
+    double d = (nbrPoints * sumXPower2) - (sumX * sumX);
+    double n1 = (sumY * sumXPower2) - (sumX * sumXY);
 
     SlopeData result = new SlopeData();
 
index 0dff6d7e40d2aa1a6d71d4fbe112b3cfc6c8cff6..14d269610b5d58ea50c468cda3ba5a22aead4f74 100644 (file)
@@ -108,7 +108,7 @@ public class ProjectPanel extends FlowPanel {
   }
 
   public void filter() {
-    boolean visible = (tree.getItemCount() == 0 && !filters.hasKeyword());
+    boolean visible = tree.getItemCount() == 0 && !filters.hasKeyword();
     for (int index = 0; index < tree.getItemCount(); index++) {
       Library lib = (Library) tree.getItem(index);
       visible |= !lib.filter(filters.getKeywordFilter().getKeyword(), filters.isTestFiltered());
index d44e9613e116acbc0779274d2b0683784af6aa2f..a7feab1300636e291a6d2884d0aee319a99483c8 100644 (file)
@@ -71,7 +71,7 @@ public final class Bucket {
   }
 
   public List<Bucket> getChildren() {
-    return (children == null ? Collections.<Bucket>emptyList() : children);
+    return children == null ? Collections.<Bucket>emptyList() : children;
   }
 
   public Bucket getParent() {
index 40a2b99c77392a599ad78626fe877326c1f6fd41..308b9f02eb5f94918857494877b7e9579217651e 100644 (file)
@@ -331,9 +331,9 @@ public class DefaultIndex extends SonarIndex {
   }
 
   private static boolean isFiltered(Violation violation, ViolationQuery.SwitchMode mode) {
-    return (mode == ViolationQuery.SwitchMode.BOTH
+    return mode == ViolationQuery.SwitchMode.BOTH
       || (mode == ViolationQuery.SwitchMode.OFF && violation.isSwitchedOff())
-      || (mode == ViolationQuery.SwitchMode.ON && !violation.isSwitchedOff()));
+      || (mode == ViolationQuery.SwitchMode.ON && !violation.isSwitchedOff());
   }
 
   @Override
@@ -535,7 +535,8 @@ public class DefaultIndex extends SonarIndex {
 
     boolean excluded = checkExclusion(resource, parentBucket);
     if (!excluded) {
-      Snapshot snapshot = persistence.saveResource(currentProject, resource, (parentBucket != null ? parentBucket.getResource() : null));
+      Resource parentSnapshot = parentBucket != null ? parentBucket.getResource() : null;
+      Snapshot snapshot = persistence.saveResource(currentProject, resource, parentSnapshot);
       if (ResourceUtils.isPersistable(resource) && !Qualifiers.LIBRARY.equals(resource.getQualifier())) {
         graph.addComponent(resource, snapshot);
       }
index 9e35c1936d07a0c2f73562c35ef7898fe37689ac..ed23f549868827ce73a9efede50ad0c741a01b7b 100644 (file)
@@ -25,16 +25,7 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.batch.Decorator;
-import org.sonar.api.batch.events.DecoratorExecutionHandler;
-import org.sonar.api.batch.events.DecoratorsPhaseHandler;
-import org.sonar.api.batch.events.InitializerExecutionHandler;
-import org.sonar.api.batch.events.InitializersPhaseHandler;
-import org.sonar.api.batch.events.MavenPhaseHandler;
-import org.sonar.api.batch.events.PostJobExecutionHandler;
-import org.sonar.api.batch.events.PostJobsPhaseHandler;
-import org.sonar.api.batch.events.ProjectAnalysisHandler;
-import org.sonar.api.batch.events.SensorExecutionHandler;
-import org.sonar.api.batch.events.SensorsPhaseHandler;
+import org.sonar.api.batch.events.*;
 import org.sonar.api.resources.Project;
 import org.sonar.api.utils.TimeUtils;
 import org.sonar.batch.events.BatchStepHandler;
@@ -51,7 +42,7 @@ import static org.sonar.batch.profiling.AbstractTimeProfiling.sortByDescendingTo
 import static org.sonar.batch.profiling.AbstractTimeProfiling.truncate;
 
 public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorExecutionHandler, DecoratorExecutionHandler, PostJobExecutionHandler, DecoratorsPhaseHandler,
-    SensorsPhaseHandler, PostJobsPhaseHandler, MavenPhaseHandler, InitializersPhaseHandler, InitializerExecutionHandler, BatchStepHandler {
+  SensorsPhaseHandler, PostJobsPhaseHandler, MavenPhaseHandler, InitializersPhaseHandler, InitializerExecutionHandler, BatchStepHandler {
 
   static final Logger LOG = LoggerFactory.getLogger(PhasesSumUpTimeProfiler.class);
   private static final int TEXT_RIGHT_PAD = 60;
@@ -166,7 +157,7 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
     } else {
       for (Decorator decorator : decoratorsProfiler.getDurations().keySet()) {
         currentModuleProfiling.getProfilingPerPhase(Phases.Phase.DECORATOR)
-            .getProfilingPerItem(decorator).setTotalTime(decoratorsProfiler.getDurations().get(decorator));
+          .getProfilingPerItem(decorator).setTotalTime(decoratorsProfiler.getDurations().get(decorator));
       }
       currentModuleProfiling.getProfilingPerPhase(Phases.Phase.DECORATOR).stop();
     }
@@ -202,8 +193,7 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   public void onInitializersPhase(InitializersPhaseEvent event) {
     if (event.isStart()) {
       currentModuleProfiling.addPhaseProfiling(Phases.Phase.INIT);
-    }
-    else {
+    } else {
       currentModuleProfiling.getProfilingPerPhase(Phases.Phase.INIT).stop();
     }
   }
@@ -222,8 +212,7 @@ public class PhasesSumUpTimeProfiler implements ProjectAnalysisHandler, SensorEx
   public void onBatchStep(BatchStepEvent event) {
     if (event.isStart()) {
       currentModuleProfiling.addBatchStepProfiling(event.stepName());
-    }
-    else {
+    } else {
       currentModuleProfiling.getProfilingPerBatchStep(event.stepName()).stop();
     }
   }
index 22f8fdf6a67bace491dfee0e2373482690aa7278..1431b30301938270864a087cf0b8a58acf069b24 100644 (file)
@@ -32,11 +32,7 @@ import org.sonar.api.utils.DateUtils;
 
 import javax.annotation.Nullable;
 
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class MeasureFilterFactory implements ServerComponent {
 
@@ -55,7 +51,7 @@ public class MeasureFilterFactory implements ServerComponent {
     filter.setResourceScopes(toList(properties.get("scopes")));
     filter.setResourceQualifiers(toList(properties.get("qualifiers")));
     filter.setResourceLanguages(toList(properties.get("languages")));
-    MeasureFilterCondition condition = alertToCondition((toList(properties.get("alertLevels"))));
+    MeasureFilterCondition condition = alertToCondition(toList(properties.get("alertLevels")));
     if (condition != null) {
       filter.addCondition(condition);
     }
index 4af58151c38bce3211086c7680ca87ac4e76a0bc..b3ee0d6f1aeb346e946e43d996c218362b386024 100644 (file)
@@ -116,15 +116,19 @@ class MeasureFilterSort {
         column = "p.created_at";
         break;
       case METRIC:
-        if (metric.isNumericType()) {
-          column = (period != null ? "pmsort.variation_value_" + period : "pmsort.value");
-        } else {
-          column = "pmsort.text_value";
-        }
+        column = getMetricColumn();
         break;
       default:
         throw new IllegalArgumentException("Unsupported sorting: " + field);
     }
     return column;
   }
+
+  private String getMetricColumn(){
+    if (metric.isNumericType()) {
+      return period != null ? "pmsort.variation_value_" + period : "pmsort.value";
+    } else {
+      return "pmsort.text_value";
+    }
+  }
 }
index 2fcd44e55e2af66d2ea9f96ace03cc54b377e1eb..2baf46278d7ed5f349e6f5dc6c7f41548b9226b3 100644 (file)
@@ -24,9 +24,13 @@ import org.apache.maven.plugin.logging.Log;
 
 class ExceptionHandling {
 
+  private ExceptionHandling(){
+    // Hide public constructor
+  }
+
   static RuntimeException handle(Exception e, Log log) throws MojoExecutionException {
     Throwable source = e;
-    if (e.getClass().getName().equals("org.sonar.runner.impl.RunnerException") && e.getCause() != null) {
+    if ("org.sonar.runner.impl.RunnerException".equals(e.getClass().getName()) && e.getCause() != null) {
       source = e.getCause();
     }
     log.error(source.getMessage());
index 33940a06ff21e8bdff17da8b5b6c1e3f34486c69..17b518de8f92fa3c58e9ca8d666d19c157395e6b 100644 (file)
@@ -28,6 +28,7 @@ import org.hibernate.annotations.SortType;
 import org.sonar.api.rules.Rule;
 
 import javax.persistence.*;
+
 import java.util.Collections;
 import java.util.List;
 
@@ -299,7 +300,7 @@ public final class Characteristic implements Comparable<Characteristic> {
 
   public Double getPropertyValue(String key, Double defaultValue) {
     CharacteristicProperty property = getProperty(key);
-    Double value = (property != null ? property.getValue() : null);
+    Double value = property != null ? property.getValue() : null;
     return value == null ? defaultValue : value;
   }
 
index 15227f0deb73cb49164390c71d7d5d18c00b5d32..55878682ff6941f46c376bb232a07ac2a0606c41 100644 (file)
@@ -27,12 +27,7 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
+import java.util.concurrent.*;
 
 /**
  * Synchronously execute a native command line. It's much more limited than the Apache Commons Exec library.
@@ -79,6 +74,7 @@ public class CommandExecutor {
       final Process finalProcess = process;
       executorService = Executors.newSingleThreadExecutor();
       Future<Integer> ft = executorService.submit(new Callable<Integer>() {
+        @Override
         public Integer call() throws Exception {
           return finalProcess.waitFor();
         }
index 0b3f3e2f9a29673cf3d8a5456ae381a106de1883..0c80cc0de4e84e2656e79287dad380bd5b78c66a 100644 (file)
@@ -34,6 +34,7 @@ import org.sonar.core.persistence.DatabaseVersion;
 import org.sonar.server.platform.PersistentSettings;
 
 import javax.annotation.Nullable;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
@@ -137,7 +138,7 @@ public class Backup {
 
       return (SonarConfig) xStream.fromXML(inputStream);
     } catch (IOException e) {
-      throw new RuntimeException("Can't read xml", e);
+      throw new IllegalStateException("Can't read xml", e);
     }
   }
 
index b3d8d2f9875be916d5d43ca88eb8889b10ddc2dd..7a8cd4176a84ad92514326c6be46e3cbb7925c01 100644 (file)
@@ -30,16 +30,20 @@ import static com.google.common.collect.Lists.newArrayList;
 public class HttpException extends RuntimeException {
   private final int httpCode;
 
-  private String l10nKey;
-  private Collection<Object> l10nParams;
+  private final String l10nKey;
+  private final Collection<Object> l10nParams;
 
   public HttpException(int httpCode) {
     this.httpCode = httpCode;
+    this.l10nKey = null;
+    this.l10nParams = null;
   }
 
   public HttpException(int httpCode, String message) {
     super(message);
     this.httpCode = httpCode;
+    this.l10nKey = null;
+    this.l10nParams = null;
   }
 
   public HttpException(int httpCode, @Nullable String message, @Nullable String l10nKey, @Nullable Object[] l10nParams) {
index 0e8ec2db19d9d788d348ee5a84d150f0735b458e..e7742c3400bff0f8309f15a1f03f04c26a30eab5 100644 (file)
@@ -25,12 +25,7 @@ import com.google.common.collect.Lists;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.web.ServletFilter;
 
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import javax.servlet.*;
 import javax.servlet.http.HttpServletRequest;
 
 import java.io.IOException;
@@ -117,6 +112,7 @@ public class MasterServletFilter implements Filter {
       this.chain = chain;
     }
 
+    @Override
     public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
       if (iterator == null) {
         iterator = filters.iterator();
index 7a0f57f3d21853ce0e332cfdb91fdebb1965a4db..d183e9a0a8fe38509fe7a94045dd37b0a70e3ae5 100644 (file)
@@ -30,7 +30,6 @@ import org.slf4j.LoggerFactory;
 import org.sonar.api.ServerComponent;
 import org.sonar.api.platform.PluginMetadata;
 import org.sonar.api.platform.Server;
-import org.sonar.api.utils.SonarException;
 import org.sonar.api.utils.TimeProfiler;
 import org.sonar.core.plugins.DefaultPluginMetadata;
 import org.sonar.core.plugins.PluginInstaller;
@@ -83,7 +82,7 @@ public class PluginDeployer implements ServerComponent {
         FileUtils.deleteDirectory(trashDir);
       }
     } catch (IOException e) {
-      throw new SonarException("Fail to clean the plugin trash directory: " + trashDir, e);
+      throw new IllegalStateException("Fail to clean the plugin trash directory: " + trashDir, e);
     }
   }
 
@@ -161,7 +160,7 @@ public class PluginDeployer implements ServerComponent {
         File masterFile = new File(fileSystem.getUserPluginsDir(), metadata.getFile().getName());
         FileUtils.moveFileToDirectory(masterFile, fileSystem.getRemovedPluginsDir(), true);
       } catch (IOException e) {
-        throw new SonarException("Fail to uninstall plugin: " + pluginKey, e);
+        throw new IllegalStateException("Fail to uninstall plugin: " + pluginKey, e);
       }
     }
   }
@@ -184,7 +183,7 @@ public class PluginDeployer implements ServerComponent {
         try {
           FileUtils.moveFileToDirectory(file, fileSystem.getUserPluginsDir(), false);
         } catch (IOException e) {
-          throw new SonarException("Fail to cancel plugin uninstalls", e);
+          throw new IllegalStateException("Fail to cancel plugin uninstalls", e);
         }
       }
     }
@@ -215,7 +214,7 @@ public class PluginDeployer implements ServerComponent {
 
       installer.install(plugin, pluginDeployDir);
     } catch (IOException e) {
-      throw new RuntimeException("Fail to deploy the plugin " + plugin, e);
+      throw new IllegalStateException("Fail to deploy the plugin " + plugin, e);
     }
   }
 
index bf40292c6282bb806c8e3777cede09a073a12433..9529bf6d76221ee968c42acbf7b2e22375f6f92c 100644 (file)
@@ -42,7 +42,7 @@ public class JdbcDriverDeployer {
         FileUtils.copyFile(driver, deployedDriver);
 
       } catch (IOException e) {
-        throw new RuntimeException("Can not copy the JDBC driver from " + driver + " to " + deployedDriver, e);
+        throw new IllegalStateException("Can not copy the JDBC driver from " + driver + " to " + deployedDriver, e);
       }
     }
     File deployedDriverIndex = fileSystem.getDeployedJdbcDriverIndex();
index 956d0409c7b9497760871684a08aad3d79507042..7d5ededcba49810d4f8b49e2f60a80fb3eee9355 100644 (file)
@@ -48,7 +48,6 @@ public class PluginDeployerTest {
   private File deployDir;
   private PluginDeployer deployer;
   private Server server = mock(Server.class);
-  private UpdateCenterMatrixFactory updateCenterMatrixFactory;
 
   @Before
   public void start() {
index 867ff9658ad04b2f5a513b9933e1f503a3542086..956d6fc14517ead426be5e4368c2811a983fb198 100644 (file)
@@ -22,7 +22,7 @@ package org.sonar.squid.recognizer;
 
 public abstract class Detector {
 
-  public final double probability;
+  private final double probability;
 
   public Detector(double probability) {
     if (probability < 0 || probability > 1) {
index 99be0b4af2f9499389a214a16b46a6d929a3f985..51354057bb92f06fb35b804bb1d3822e5825d0a6 100644 (file)
@@ -64,7 +64,7 @@ public class EncodingUtils {
   }
 
   public static String toQueryParam(Date d, boolean includeTime) {
-    String format = (includeTime ? DATETIME_FORMAT : DATE_FORMAT);
+    String format = includeTime ? DATETIME_FORMAT : DATE_FORMAT;
     SimpleDateFormat dateFormat = new SimpleDateFormat(format);
     return dateFormat.format(d);
   }