From 9f8719eeeb9aac242b932861400b287e1b1cf0d3 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 20 Apr 2015 10:26:03 +0200 Subject: [PATCH] Fix quality flaws --- .../step/PersistFileSourcesStep.java | 22 +++++++++---------- .../platform/DefaultServerFileSystem.java | 19 +++++++++------- .../org/sonar/server/platform/ServerImpl.java | 3 +++ .../platform/ServerLifecycleNotifierTest.java | 7 +++++- .../sonar/batch/platform/DefaultServer.java | 6 +++-- .../java/org/sonar/api/platform/Server.java | 3 +++ 6 files changed, 38 insertions(+), 22 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java index 974a5678a49..7bae33f27d4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java @@ -173,8 +173,8 @@ public class PersistFileSourcesStep implements ComputationStep { } private static class LineReaders { - private final List lineReaders = new ArrayList<>(); - private final List reportIterators = new ArrayList<>(); + private final List readers = new ArrayList<>(); + private final List iterators = new ArrayList<>(); LineReaders(BatchReportReader reportReader, int componentRef) { File coverageFile = reportReader.readComponentCoverage(componentRef); @@ -185,31 +185,31 @@ public class PersistFileSourcesStep implements ComputationStep { if (coverageFile != null) { ReportIterator coverageReportIterator = new ReportIterator<>(coverageFile, BatchReport.Coverage.PARSER); - reportIterators.add(coverageReportIterator); - lineReaders.add(new CoverageLineReader(coverageReportIterator)); + iterators.add(coverageReportIterator); + readers.add(new CoverageLineReader(coverageReportIterator)); } if (scmReport != null) { - lineReaders.add(new ScmLineReader(scmReport)); + readers.add(new ScmLineReader(scmReport)); } if (highlightingFile != null) { ReportIterator syntaxHighlightingReportIterator = new ReportIterator<>(highlightingFile, BatchReport.SyntaxHighlighting.PARSER); - reportIterators.add(syntaxHighlightingReportIterator); - lineReaders.add(new HighlightingLineReader(syntaxHighlightingReportIterator)); + iterators.add(syntaxHighlightingReportIterator); + readers.add(new HighlightingLineReader(syntaxHighlightingReportIterator)); } if (!duplications.isEmpty()) { - lineReaders.add(new DuplicationLineReader(duplications)); + readers.add(new DuplicationLineReader(duplications)); } if (!symbols.isEmpty()) { - lineReaders.add(new SymbolsLineReader(symbols)); + readers.add(new SymbolsLineReader(symbols)); } } List readers() { - return lineReaders; + return readers; } void close() { - for (ReportIterator reportIterator : reportIterators) { + for (ReportIterator reportIterator : iterators) { reportIterator.close(); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java b/server/sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java index b98a7c9f09d..ac5242da4cb 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java @@ -29,6 +29,8 @@ import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.process.ProcessProperties; +import javax.annotation.CheckForNull; + import java.io.File; import java.io.FileFilter; import java.io.IOException; @@ -66,24 +68,24 @@ public class DefaultServerFileSystem implements ServerFileSystem, Startable { @Override public void start() { LOGGER.info("SonarQube home: " + homeDir.getAbsolutePath()); + + File deployDir = getDeployDir(); + if (deployDir == null) { + throw new IllegalArgumentException("Web app directory does not exist: " + getDeployDir()); + } try { - if (getDeployDir() == null) { - throw new IllegalArgumentException("Web app directory does not exist: " + getDeployDir()); - } - FileUtils.forceMkdir(getDeployDir()); - for (File subDirectory : getDeployDir().listFiles((FileFilter) FileFilterUtils.directoryFileFilter())) { + FileUtils.forceMkdir(deployDir); + for (File subDirectory : deployDir.listFiles((FileFilter) FileFilterUtils.directoryFileFilter())) { FileUtils.cleanDirectory(subDirectory); } - } catch (IOException e) { - throw new IllegalStateException("The following directory can not be created: " + getDeployDir().getAbsolutePath(), e); + throw new IllegalStateException("The following directory can not be created: " + deployDir.getAbsolutePath(), e); } File deprecated = getDeprecatedPluginsDir(); try { FileUtils.forceMkdir(deprecated); FileUtils.cleanDirectory(deprecated); - } catch (IOException e) { throw new IllegalStateException("The following directory can not be created: " + deprecated.getAbsolutePath(), e); } @@ -104,6 +106,7 @@ public class DefaultServerFileSystem implements ServerFileSystem, Startable { return tempDir; } + @CheckForNull public File getDeployDir() { return server.getDeployDir(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/ServerImpl.java b/server/sonar-server/src/main/java/org/sonar/server/platform/ServerImpl.java index dd961e8c560..bae47f5e2fc 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/ServerImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/ServerImpl.java @@ -33,6 +33,8 @@ import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.process.ProcessProperties; +import javax.annotation.CheckForNull; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -127,6 +129,7 @@ public final class ServerImpl extends Server implements Startable { } @Override + @CheckForNull public File getDeployDir() { return deployDir; } diff --git a/server/sonar-server/src/test/java/org/sonar/server/platform/ServerLifecycleNotifierTest.java b/server/sonar-server/src/test/java/org/sonar/server/platform/ServerLifecycleNotifierTest.java index 8907b3e6d5d..aaada9f9131 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/platform/ServerLifecycleNotifierTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/platform/ServerLifecycleNotifierTest.java @@ -25,10 +25,14 @@ import org.sonar.api.platform.Server; import org.sonar.api.platform.ServerStartHandler; import org.sonar.api.platform.ServerStopHandler; +import javax.annotation.CheckForNull; + import java.io.File; import java.util.Date; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; public class ServerLifecycleNotifierTest { @@ -106,6 +110,7 @@ class FakeServer extends Server { } @Override + @CheckForNull public File getDeployDir() { return null; } diff --git a/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java b/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java index 4c18063f574..662d5bd9a1e 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java +++ b/sonar-batch/src/main/java/org/sonar/batch/platform/DefaultServer.java @@ -19,13 +19,14 @@ */ package org.sonar.batch.platform; -import org.sonar.batch.bootstrap.ServerClient; - import org.slf4j.LoggerFactory; import org.sonar.api.BatchComponent; import org.sonar.api.CoreProperties; import org.sonar.api.config.Settings; import org.sonar.api.platform.Server; +import org.sonar.batch.bootstrap.ServerClient; + +import javax.annotation.CheckForNull; import java.io.File; import java.text.ParseException; @@ -72,6 +73,7 @@ public class DefaultServer extends Server implements BatchComponent { } @Override + @CheckForNull public File getDeployDir() { return null; } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java index 7fd8afd1b1e..4f4502779ab 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/Server.java @@ -22,6 +22,8 @@ package org.sonar.api.platform; import org.sonar.api.BatchComponent; import org.sonar.api.ServerComponent; +import javax.annotation.CheckForNull; + import java.io.File; import java.util.Date; @@ -38,6 +40,7 @@ public abstract class Server implements BatchComponent, ServerComponent { public abstract File getRootDir(); + @CheckForNull public abstract File getDeployDir(); public abstract String getContextPath(); -- 2.39.5