From 8528c0cfc11b334a5bbe2f95b13ce215eadb52f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Tue, 2 Jun 2020 21:48:28 +0200 Subject: [PATCH] Fix sonar issues --- .../work/NoneCachingWorkingCopyPool.java | 1 + .../work/WorkdirCreationException.java | 42 +++++++++++++++++++ .../scm/repository/work/WorkdirProvider.java | 2 +- .../spi/SimpleHgWorkingCopyFactory.java | 2 + .../repository/spi/HgBranchCommandTest.java | 5 ++- .../spi/SimpleSvnWorkingCopyFactory.java | 2 + .../main/resources/locales/de/plugins.json | 4 ++ .../main/resources/locales/en/plugins.json | 4 ++ 8 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 scm-core/src/main/java/sonia/scm/repository/work/WorkdirCreationException.java diff --git a/scm-core/src/main/java/sonia/scm/repository/work/NoneCachingWorkingCopyPool.java b/scm-core/src/main/java/sonia/scm/repository/work/NoneCachingWorkingCopyPool.java index e5faa4935e..c7bea0fd80 100644 --- a/scm-core/src/main/java/sonia/scm/repository/work/NoneCachingWorkingCopyPool.java +++ b/scm-core/src/main/java/sonia/scm/repository/work/NoneCachingWorkingCopyPool.java @@ -56,5 +56,6 @@ public class NoneCachingWorkingCopyPool implements WorkingCopyPool { @Override public void shutdown() { + // no caches, nothing to clean up :-) } } diff --git a/scm-core/src/main/java/sonia/scm/repository/work/WorkdirCreationException.java b/scm-core/src/main/java/sonia/scm/repository/work/WorkdirCreationException.java new file mode 100644 index 0000000000..df3bb93ff1 --- /dev/null +++ b/scm-core/src/main/java/sonia/scm/repository/work/WorkdirCreationException.java @@ -0,0 +1,42 @@ +/* + * MIT License + * + * Copyright (c) 2020-present Cloudogu GmbH and Contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package sonia.scm.repository.work; + +import sonia.scm.ContextEntry; +import sonia.scm.ExceptionWithContext; + +public class WorkdirCreationException extends ExceptionWithContext { + + public static final String CODE = "3tS0mjSoo1"; + + public WorkdirCreationException(String path, Exception cause) { + super(ContextEntry.ContextBuilder.entity("Path", path).build(), "Could not create directory " + path, cause); + } + + @Override + public String getCode() { + return CODE; + } +} diff --git a/scm-core/src/main/java/sonia/scm/repository/work/WorkdirProvider.java b/scm-core/src/main/java/sonia/scm/repository/work/WorkdirProvider.java index 7f511b8d74..ae6a5a6d5e 100644 --- a/scm-core/src/main/java/sonia/scm/repository/work/WorkdirProvider.java +++ b/scm-core/src/main/java/sonia/scm/repository/work/WorkdirProvider.java @@ -47,7 +47,7 @@ public class WorkdirProvider { try { return Files.createTempDirectory(rootDirectory.toPath(),"workdir").toFile(); } catch (IOException e) { - throw new RuntimeException("could not create temporary workdir", e); + throw new WorkdirCreationException(rootDirectory.toString(), e); } } } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/SimpleHgWorkingCopyFactory.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/SimpleHgWorkingCopyFactory.java index edd2e3aca1..4e4c4cf80c 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/SimpleHgWorkingCopyFactory.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/SimpleHgWorkingCopyFactory.java @@ -73,6 +73,8 @@ public class SimpleHgWorkingCopyFactory extends SimpleWorkingCopyFactory reclaim(HgCommandContext context, File target, String initialBranch) throws ReclaimFailedException { Repository centralRepository = openCentral(context); try { diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/HgBranchCommandTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/HgBranchCommandTest.java index 0972f11e8f..f3a632fa59 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/HgBranchCommandTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/HgBranchCommandTest.java @@ -93,8 +93,9 @@ public class HgBranchCommandTest extends AbstractHgCommandTestBase { public void shouldThrowInternalRepositoryException() { String branchToBeClosed = "default"; - new HgBranchCommand(cmdContext, workingCopyFactory).deleteOrClose(branchToBeClosed); - assertThrows(InternalRepositoryException.class, () -> new HgBranchCommand(cmdContext, workingCopyFactory).deleteOrClose(branchToBeClosed)); + HgBranchCommand hgBranchCommand = new HgBranchCommand(cmdContext, workingCopyFactory); + hgBranchCommand.deleteOrClose(branchToBeClosed); + assertThrows(InternalRepositoryException.class, () -> hgBranchCommand.deleteOrClose(branchToBeClosed)); } private List readBranches() { diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SimpleSvnWorkingCopyFactory.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SimpleSvnWorkingCopyFactory.java index e3a1bda34c..a2996d4148 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SimpleSvnWorkingCopyFactory.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SimpleSvnWorkingCopyFactory.java @@ -50,9 +50,11 @@ public class SimpleSvnWorkingCopyFactory extends SimpleWorkingCopyFactory