]> source.dussan.org Git - sonarqube.git/commitdiff
fix coding violations
authorsimonbrandhof <simon.brandhof@gmail.com>
Sun, 27 Mar 2011 19:26:17 +0000 (21:26 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Sun, 27 Mar 2011 19:26:17 +0000 (21:26 +0200)
plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/CpdAnalyser.java
plugins/sonar-pmd-plugin/src/main/java/org/sonar/plugins/pmd/PmdExecutor.java
sonar-duplications/src/main/java/org/sonar/duplications/cpd/MatchAlgorithm.java
sonar-graph/src/main/java/org/sonar/graph/Cycle.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/Measure.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/DateUtils.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java
sonar-plugin-api/src/main/java/org/sonar/api/utils/command/CommandException.java
sonar-server/src/main/java/org/sonar/server/rules/DeprecatedProfiles.java
sonar-server/src/main/java/org/sonar/server/ui/ViewProxy.java

index a185eed64affb9e31a764e0273a6429aac2dd1a5..4214a736039b07540e4b0787d2114a41ae78550a 100644 (file)
  */
 package org.sonar.plugins.cpd;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import net.sourceforge.pmd.cpd.TokenEntry;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.batch.CpdMapping;
@@ -40,6 +30,9 @@ import org.sonar.api.resources.Project;
 import org.sonar.api.resources.Resource;
 import org.sonar.duplications.cpd.Match;
 
+import java.io.File;
+import java.util.*;
+
 public class CpdAnalyser {
 
   private static final Logger LOG = LoggerFactory.getLogger(CpdAnalyser.class);
@@ -84,7 +77,7 @@ public class CpdAnalyser {
             continue;
           }
 
-          firstFileData.cumulate(secondFile, secondLine, firstLine, match.getLineCount(), match);
+          firstFileData.cumulate(secondFile, secondLine, firstLine, match.getLineCount());
         }
       }
     }
@@ -116,8 +109,7 @@ public class CpdAnalyser {
       this.resource = resource;
     }
 
-    protected void cumulate(Resource targetResource, int targetDuplicationStartLine, int duplicationStartLine, int duplicatedLines,
-        Match match) {
+    protected void cumulate(Resource targetResource, int targetDuplicationStartLine, int duplicationStartLine, int duplicatedLines) {
       StringBuilder xml = new StringBuilder();
       xml.append("<duplication lines=\"").append(duplicatedLines).append("\" start=\"").append(duplicationStartLine)
           .append("\" target-start=\"").append(targetDuplicationStartLine).append("\" target-resource=\"")
@@ -125,7 +117,6 @@ public class CpdAnalyser {
 
       duplicationXMLEntries.add(xml);
 
-      int duplicatedLinesBefore = this.duplicatedLines.size();
       for (int duplicatedLine = duplicationStartLine; duplicatedLine < duplicationStartLine + duplicatedLines; duplicatedLine++) {
         this.duplicatedLines.add(duplicatedLine);
       }
index 1103d9fccb4a2f3d4d59f907448d6cbfaed8aa62..e1552a340f7c5dae4bb02e396400538c177ffb33 100644 (file)
  */
 package org.sonar.plugins.pmd;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.List;
-
-import net.sourceforge.pmd.PMD;
-import net.sourceforge.pmd.PMDException;
-import net.sourceforge.pmd.Report;
-import net.sourceforge.pmd.RuleContext;
-import net.sourceforge.pmd.RuleSetFactory;
-import net.sourceforge.pmd.RuleSets;
-import net.sourceforge.pmd.SourceType;
+import net.sourceforge.pmd.*;
 import net.sourceforge.pmd.renderers.Renderer;
 import net.sourceforge.pmd.renderers.XMLRenderer;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -50,6 +33,9 @@ import org.sonar.api.resources.Project;
 import org.sonar.api.utils.TimeProfiler;
 import org.sonar.java.api.JavaUtils;
 
+import java.io.*;
+import java.util.List;
+
 public class PmdExecutor implements BatchExtension {
 
   private static final Logger LOG = LoggerFactory.getLogger(PmdExecutor.class);
@@ -147,13 +133,10 @@ public class PmdExecutor implements BatchExtension {
     xmlRenderer.start();
     xmlRenderer.renderFileReport(report);
     xmlRenderer.end();
-    String buffer = stringwriter.toString();
 
     File xmlReport = new File(project.getFileSystem().getSonarWorkingDirectory(), "pmd-result.xml");
     LOG.info("PMD output report: " + xmlReport.getAbsolutePath());
-    Writer writer = new FileWriter(xmlReport);
-    writer.write(buffer, 0, buffer.length());
-    writer.close();
+    FileUtils.write(xmlReport, stringwriter.toString());
     return xmlReport;
   }
 
index c94b69fee1430f1c7433db2fed81e0efd8181b9c..6b509c315b87bde639a8a90fc0e0c1c4c5548bf1 100644 (file)
@@ -94,7 +94,7 @@ public class MatchAlgorithm {
     }
     cpdListener.phaseUpdate(CPDListener.GROUPING);
     matches = matchCollector.getMatches();
-    matchCollector = null;
+
     for (Match match : matches) {
       for (Iterator<TokenEntry> occurrences = match.iterator(); occurrences.hasNext();) {
         TokenEntry mark = occurrences.next();
index 0e781641f77457b545a38e8189d4783ec61ee5eb..ce1e87b3cf3f2953d3a7094db02ccf2a2ef2d0d1 100644 (file)
@@ -27,7 +27,7 @@ public class Cycle {
   private int hashcode = 0;
 
   public Cycle(List<Edge> edges) {
-    this.edges = edges.toArray(new Edge[0]);
+    this.edges = edges.toArray(new Edge[edges.size()]);
     for(Edge edge : edges) {
       hashcode += edge.hashCode();
     }
index 6462db590d5d163a8bb4606c266c049c167c50dd..808328f877f51aea03568eb5ddbd50a674841dfe 100644 (file)
@@ -598,7 +598,7 @@ public class Measure {
     if (this == o) {
       return true;
     }
-    if (!(o.getClass().equals(Measure.class))) {
+    if (o == null || getClass() != o.getClass()) {
       return false;
     }
 
index b7702d660e50769438e76e89abf5e0531b6cb4eb..4d19a4144acbdbeee58be3ff120ad99adc57d244 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.utils;
 
+import java.lang.ref.Reference;
 import java.lang.ref.SoftReference;
 import java.text.*;
 import java.util.Date;
@@ -33,8 +34,8 @@ public final class DateUtils {
   public static final String DATE_FORMAT = "yyyy-MM-dd";
   public static final String DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ";
 
-  private static final DateFormat dateFormat = new ThreadSafeDateFormat(DATE_FORMAT);
-  private static final DateFormat dateTimeFormat = new ThreadSafeDateFormat(DATETIME_FORMAT);
+  private static final ThreadSafeDateFormat dateFormat = new ThreadSafeDateFormat(DATE_FORMAT);
+  private static final ThreadSafeDateFormat dateTimeFormat = new ThreadSafeDateFormat(DATETIME_FORMAT);
 
   public static String formatDate(Date d) {
     return dateFormat.format(d);
@@ -69,9 +70,9 @@ public final class DateUtils {
       this.format = format;
     }
 
-    private final ThreadLocal cache = new ThreadLocal() {
+    private final transient ThreadLocal cache = new ThreadLocal() {
       public Object get() {
-        SoftReference softRef = (SoftReference) super.get();
+        Reference softRef = (Reference)super.get();
         if (softRef == null || softRef.get() == null) {
           softRef = new SoftReference(new SimpleDateFormat(format));
           super.set(softRef);
@@ -81,7 +82,7 @@ public final class DateUtils {
     };
 
     private DateFormat getDateFormat() {
-      return (DateFormat) ((SoftReference) cache.get()).get();
+      return (DateFormat) ((Reference)cache.get()).get();
     }
 
     public StringBuffer format(Date date,StringBuffer toAppendTo, FieldPosition fieldPosition) {
index 165152c353747e1dbf5ccee7d7dfe1cfa2b5826e..996bfccd826fb2f4ac0b73f0bfd4e85df71c77bb 100644 (file)
@@ -29,7 +29,6 @@ import org.apache.commons.lang.math.NumberUtils;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.rules.RulePriority;
 
-import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -432,6 +431,9 @@ public final class KeyValueFormat {
   }
 
 
+  /**
+   * @deprecated since 2.7 replaced by Converter
+   */
   @Deprecated
   public interface Transformer<KEY, VALUE> {
     KeyValue<KEY, VALUE> transform(String key, String value);
@@ -439,6 +441,7 @@ public final class KeyValueFormat {
 
   /**
    * Implementation of Transformer<String, Double>
+   * @deprecated since 2.7 replaced by Converter
    */
   @Deprecated
   public static class StringNumberPairTransformer implements Transformer<String, Double> {
index 5f39b6af5a3dfe8e0763b41368e5e7dafe322fe4..f23d458a684c5dea204647a4fda31a6232fa9c84 100644 (file)
@@ -20,7 +20,8 @@
 package org.sonar.api.utils.command;
 
 public final class CommandException extends RuntimeException {
-  private Command command;
+
+  private transient Command command = null;
 
   public CommandException(Command command, String message, Throwable throwable) {
     super(message + " [command: " + command + "]", throwable);
index 7d61dc8ccb80fd3bfacb19ea56af2059cc92823a..9b7474ad594914ce2a783be0fff384a9574eb75c 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.server.rules;
 
+import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.sonar.api.Plugins;
 import org.sonar.api.checks.profiles.Check;
@@ -42,23 +43,23 @@ public final class DeprecatedProfiles {
   private CheckProfileProvider[] deprecatedCheckProfileProviders;
 
   public DeprecatedProfiles(Plugins plugins, RuleFinder ruleFinder, RulesRepository[] r, CheckProfile[] deprecatedCheckProfiles, CheckProfileProvider[] deprecatedCheckProfileProviders) {
-    this.deprecatedRepositories = r;
+    this.deprecatedRepositories = (RulesRepository[])ArrayUtils.clone(r);
     this.plugins = plugins;
     this.ruleFinder = ruleFinder;
-    this.deprecatedCheckProfiles = deprecatedCheckProfiles;
-    this.deprecatedCheckProfileProviders = deprecatedCheckProfileProviders;
+    this.deprecatedCheckProfiles = (CheckProfile[])ArrayUtils.clone(deprecatedCheckProfiles);
+    this.deprecatedCheckProfileProviders = (CheckProfileProvider[])ArrayUtils.clone(deprecatedCheckProfileProviders);
   }
 
   public DeprecatedProfiles(Plugins plugins, RuleFinder ruleFinder, RulesRepository[] r, CheckProfile[] deprecatedCheckProfiles) {
-    this.deprecatedRepositories = r;
+    this.deprecatedRepositories = (RulesRepository[])ArrayUtils.clone(r);
     this.plugins = plugins;
     this.ruleFinder = ruleFinder;
-    this.deprecatedCheckProfiles = deprecatedCheckProfiles;
+    this.deprecatedCheckProfiles = (CheckProfile[])ArrayUtils.clone(deprecatedCheckProfiles);
     this.deprecatedCheckProfileProviders = new CheckProfileProvider[0];
   }
 
   public DeprecatedProfiles(Plugins plugins, RuleFinder ruleFinder, RulesRepository[] r, CheckProfileProvider[] deprecatedCheckProfileProviders) {
-    this.deprecatedRepositories = r;
+    this.deprecatedRepositories = (RulesRepository[])ArrayUtils.clone(r);
     this.plugins = plugins;
     this.ruleFinder = ruleFinder;
     this.deprecatedCheckProfiles = new CheckProfile[0];
@@ -66,7 +67,7 @@ public final class DeprecatedProfiles {
   }
 
   public DeprecatedProfiles(Plugins plugins, RuleFinder ruleFinder, RulesRepository[] r) {
-    this.deprecatedRepositories = r;
+    this.deprecatedRepositories = (RulesRepository[])ArrayUtils.clone(r);
     this.plugins = plugins;
     this.ruleFinder = ruleFinder;
     this.deprecatedCheckProfiles = new CheckProfile[0];
index d36e9562dabeaa4f2b673864803aceafe0a2a47f..c00437ac9dce6a796fefa9fa57b0cdbaf90ec538 100644 (file)
@@ -73,7 +73,7 @@ public class ViewProxy<V extends View> implements Comparable<ViewProxy> {
 
     DefaultTab defaultTabAnnotation = AnnotationUtils.getClassAnnotation(view, DefaultTab.class);
     if (defaultTabAnnotation != null) {
-      if (defaultTabAnnotation == null || defaultTabAnnotation.metrics().length == 0) {
+      if (defaultTabAnnotation.metrics().length == 0) {
         isDefaultTab = true;
         defaultForMetrics = new String[0];