From: Simon Brandhof Date: Fri, 13 Apr 2018 14:04:21 +0000 (+0200) Subject: Delete useless startup task DeleteOldAnalysisReportsFromFs X-Git-Tag: 7.5~1255 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e39373b43e24f259ac80bcf8cc49cfe8f1c94573;p=sonarqube.git Delete useless startup task DeleteOldAnalysisReportsFromFs --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java index 88273c29d33..4cb4c934f57 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java +++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java @@ -32,7 +32,6 @@ import org.sonar.server.qualityprofile.BuiltInQualityProfilesUpdateListener; import org.sonar.server.qualityprofile.RegisterQualityProfiles; import org.sonar.server.rule.RegisterRules; import org.sonar.server.rule.WebServerRuleFinder; -import org.sonar.server.startup.DeleteOldAnalysisReportsFromFs; import org.sonar.server.startup.GeneratePluginIndex; import org.sonar.server.startup.RegisterMetrics; import org.sonar.server.startup.RegisterPermissionTemplates; @@ -65,8 +64,7 @@ public class PlatformLevelStartup extends PlatformLevel { BuiltInQProfileUpdateImpl.class, RegisterQualityProfiles.class, RegisterPermissionTemplates.class, - RenameDeprecatedPropertyKeys.class, - DeleteOldAnalysisReportsFromFs.class); + RenameDeprecatedPropertyKeys.class); // RegisterServletFilters makes the WebService engine of Level4 served by the MasterServletFilter, therefor it // must be started after all the other startup tasks diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFs.java b/server/sonar-server/src/main/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFs.java deleted file mode 100644 index 3a6307ad171..00000000000 --- a/server/sonar-server/src/main/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFs.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2018 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program 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. - * - * This program 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.server.startup; - -import java.io.File; -import org.picocontainer.Startable; -import org.sonar.api.platform.ServerUpgradeStatus; -import org.sonar.api.utils.log.Loggers; -import org.sonar.server.platform.ServerFileSystem; - -import static org.sonar.core.util.FileUtils.deleteQuietly; - -/** - * SONAR-7903 analysis reports are moved from file system to - * database. This task cleans up the directory. - */ -public class DeleteOldAnalysisReportsFromFs implements Startable { - - private final ServerUpgradeStatus upgradeStatus; - private final ServerFileSystem fs; - - public DeleteOldAnalysisReportsFromFs(ServerUpgradeStatus upgradeStatus, ServerFileSystem fs) { - this.upgradeStatus = upgradeStatus; - this.fs = fs; - } - - @Override - public void start() { - if (upgradeStatus.isUpgraded()) { - File dir = new File(fs.getDataDir(), "ce/reports"); - Loggers.get(getClass()).info("Delete unused directory of analysis reports: " + dir); - deleteQuietly(dir); - } - } - - @Override - public void stop() { - // do nothing - } -} diff --git a/server/sonar-server/src/test/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFsTest.java b/server/sonar-server/src/test/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFsTest.java deleted file mode 100644 index 5bffa57d399..00000000000 --- a/server/sonar-server/src/test/java/org/sonar/server/startup/DeleteOldAnalysisReportsFromFsTest.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2018 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program 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. - * - * This program 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.server.startup; - -import java.io.File; -import org.assertj.core.api.Condition; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.junit.rules.TemporaryFolder; -import org.sonar.api.platform.ServerUpgradeStatus; -import org.sonar.api.utils.log.LogTester; -import org.sonar.api.utils.log.LoggerLevel; -import org.sonar.server.platform.ServerFileSystem; - -import static org.apache.commons.io.FileUtils.touch; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class DeleteOldAnalysisReportsFromFsTest { - - @Rule - public ExpectedException expectedException = ExpectedException.none(); - - @Rule - public TemporaryFolder temp = new TemporaryFolder(); - - @Rule - public LogTester logTester = new LogTester(); - - private ServerUpgradeStatus status = mock(ServerUpgradeStatus.class); - private ServerFileSystem fs = mock(ServerFileSystem.class); - private DeleteOldAnalysisReportsFromFs underTest = new DeleteOldAnalysisReportsFromFs(status, fs); - private File dataDir = null; - private File reportsDir = null; - - @Before - public void setUp() throws Exception { - dataDir = temp.newFolder(); - reportsDir = new File(dataDir, "ce/reports"); - touch(new File(reportsDir, "report1.zip")); - when(fs.getDataDir()).thenReturn(dataDir); - } - - @After - public void tearDown() { - underTest.stop(); - } - - @Test - public void do_nothing_on_regular_startups() { - when(status.isUpgraded()).thenReturn(false); - - underTest.start(); - - assertThat(reportsDir).exists().isDirectory(); - assertThat(dataDir).exists().isDirectory(); - assertThat(logTester.logs(LoggerLevel.INFO)).isEmpty(); - } - - @Test - public void delete_reports_directory_if_upgrade() { - when(status.isUpgraded()).thenReturn(true); - - underTest.start(); - - assertThat(reportsDir).doesNotExist(); - assertThat(dataDir).exists().isDirectory(); - assertThat(logTester.logs(LoggerLevel.INFO)).have(new Condition<>(s -> s.contains("Delete unused directory of analysis reports"), "")); - } -}