From 37dc7ea307e00451bdb09ffca55e97b9e1fe20ac Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Fri, 3 Oct 2014 15:19:38 +0200 Subject: [PATCH] Fix some quality flaws --- .../plugins/scm/git/GitBlameCommand.java | 16 +------- .../plugins/scm/svn/SvnBlameCommand.java | 17 +-------- .../plugins/scm/svn/SvnBlameConsumer.java | 9 ++--- .../org/sonar/plugins/scm/svn/SvnPlugin.java | 2 +- .../api/batch/sensor/test/package-info.java | 3 +- .../utils/command/StringStreamConsumer.java | 38 +++++++++++++++++++ 6 files changed, 46 insertions(+), 39 deletions(-) create mode 100644 sonar-plugin-api/src/main/java/org/sonar/api/utils/command/StringStreamConsumer.java diff --git a/plugins/sonar-git-plugin/src/main/java/org/sonar/plugins/scm/git/GitBlameCommand.java b/plugins/sonar-git-plugin/src/main/java/org/sonar/plugins/scm/git/GitBlameCommand.java index be50267fe90..58dc0a6b3fa 100644 --- a/plugins/sonar-git-plugin/src/main/java/org/sonar/plugins/scm/git/GitBlameCommand.java +++ b/plugins/sonar-git-plugin/src/main/java/org/sonar/plugins/scm/git/GitBlameCommand.java @@ -30,6 +30,7 @@ import org.sonar.api.batch.scm.BlameLine; import org.sonar.api.utils.command.Command; import org.sonar.api.utils.command.CommandExecutor; import org.sonar.api.utils.command.StreamConsumer; +import org.sonar.api.utils.command.StringStreamConsumer; import java.io.File; import java.util.List; @@ -87,19 +88,4 @@ public class GitBlameCommand implements BlameCommand, BatchComponent { return cl; } - private static class StringStreamConsumer implements StreamConsumer { - private StringBuffer string = new StringBuffer(); - - private String ls = System.getProperty("line.separator"); - - @Override - public void consumeLine(String line) { - string.append(line + ls); - } - - public String getOutput() { - return string.toString(); - } - } - } diff --git a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java index 8f668141c76..4a9f2ba0e27 100644 --- a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java +++ b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java @@ -29,6 +29,7 @@ import org.sonar.api.batch.scm.BlameCommand; import org.sonar.api.utils.command.Command; import org.sonar.api.utils.command.CommandExecutor; import org.sonar.api.utils.command.StreamConsumer; +import org.sonar.api.utils.command.StringStreamConsumer; import java.io.File; import java.util.ArrayList; @@ -133,20 +134,4 @@ public class SvnBlameCommand implements BlameCommand, BatchComponent { } return cl; } - - private static class StringStreamConsumer implements StreamConsumer { - private StringBuffer string = new StringBuffer(); - - private String ls = System.getProperty("line.separator"); - - @Override - public void consumeLine(String line) { - string.append(line + ls); - } - - public String getOutput() { - return string.toString(); - } - } - } diff --git a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameConsumer.java b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameConsumer.java index b0ca1932fb2..05699981b63 100644 --- a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameConsumer.java +++ b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameConsumer.java @@ -93,14 +93,11 @@ public class SvnBlameConsumer implements StreamConsumer { } String lineNumberStr = matcher.group(1); lineNumber = Integer.parseInt(lineNumberStr); - } - else if ((matcher = REVISION_PATTERN.matcher(line)).find()) { + } else if ((matcher = REVISION_PATTERN.matcher(line)).find()) { revision = matcher.group(1); - } - else if ((matcher = AUTHOR_PATTERN.matcher(line)).find()) { + } else if ((matcher = AUTHOR_PATTERN.matcher(line)).find()) { author = matcher.group(1); - } - else if ((matcher = DATE_PATTERN.matcher(line)).find()) { + } else if ((matcher = DATE_PATTERN.matcher(line)).find()) { String date = matcher.group(1); String time = matcher.group(2); Date dateTime = parseDateTime(date + " " + time); diff --git a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnPlugin.java b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnPlugin.java index bf628688eb7..d8815d8dd60 100644 --- a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnPlugin.java +++ b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnPlugin.java @@ -28,7 +28,7 @@ import java.util.List; public final class SvnPlugin extends SonarPlugin { public List getExtensions() { - ArrayList result = new ArrayList(); + List result = new ArrayList(); result.addAll(ImmutableList.of( SvnScmProvider.class, SvnBlameCommand.class, diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/test/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/test/package-info.java index c0e60bb0977..b522765c2d6 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/test/package-info.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/test/package-info.java @@ -18,4 +18,5 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ @javax.annotation.ParametersAreNonnullByDefault -package org.sonar.api.batch.sensor.test; \ No newline at end of file +package org.sonar.api.batch.sensor.test; + diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/command/StringStreamConsumer.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/command/StringStreamConsumer.java new file mode 100644 index 00000000000..16453c6c41c --- /dev/null +++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/command/StringStreamConsumer.java @@ -0,0 +1,38 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.api.utils.command; + +/** + * @since 5.0 + */ +public class StringStreamConsumer implements StreamConsumer { + private StringBuilder string = new StringBuilder(); + + private String ls = System.getProperty("line.separator"); + + @Override + public void consumeLine(String line) { + string.append(line + ls); + } + + public String getOutput() { + return string.toString(); + } +} -- 2.39.5