ignore false positive squid:S2083

This commit is contained in:
Sebastian Sdorra
2018-07-16 13:21:55 +02:00
parent 01cbbe89da
commit 0a1ed6c6da
2 changed files with 18 additions and 44 deletions

View File

@@ -36,8 +36,6 @@ package sonia.scm.repository;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Preconditions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.io.DirectoryFileFilter;
import sonia.scm.util.IOUtil;
@@ -55,32 +53,10 @@ import java.util.List;
* @author Sebastian Sdorra
* @since 1.11
*/
public final class RepositoryUtil
{
public final class RepositoryUtil {
/** the logger for RepositoryUtil */
private static final Logger logger =
LoggerFactory.getLogger(RepositoryUtil.class);
//~--- constructors ---------------------------------------------------------
/**
* Constructs ...
*
*/
private RepositoryUtil() {}
//~--- methods --------------------------------------------------------------
/**
* Method description
*
*
* @param directory
* @param names
*
* @return
*/
public static List<File> searchRepositoryDirectories(File directory, String... names) {
List<File> repositories = new ArrayList<>();
@@ -89,6 +65,7 @@ public final class RepositoryUtil
return repositories;
}
@SuppressWarnings("squid:S2083") // ignore, because the path is validated at {@link #getRepositoryId(File, File)}
public static String getRepositoryId(AbstractRepositoryHandler handler, String directoryPath) throws IOException {
return getRepositoryId(handler.getConfig().getRepositoryDirectory(), new File(directoryPath));
}
@@ -120,33 +97,24 @@ public final class RepositoryUtil
return id;
}
private static void searchRepositoryDirectories(List<File> repositories,
File directory, List<String> names)
{
private static void searchRepositoryDirectories(List<File> repositories, File directory, List<String> names) {
boolean found = false;
for (String name : names)
{
if (new File(directory, name).exists())
{
for (String name : names) {
if (new File(directory, name).exists()) {
found = true;
break;
}
}
if (found)
{
if (found) {
repositories.add(directory);
}
else
{
} else {
File[] directories = directory.listFiles(DirectoryFileFilter.instance);
if (directories != null)
{
for (File d : directories)
{
if (directories != null) {
for (File d : directories) {
searchRepositoryDirectories(repositories, d, names);
}
}

View File

@@ -55,13 +55,19 @@ public class RepositoryUtilTest {
File repositoryTypeRoot = temporaryFolder.newFolder();
repositoryConfig.setRepositoryDirectory(repositoryTypeRoot);
System.out.println(repositoryTypeRoot);
File repository = new File(temporaryFolder.newFolder(), "abc");
System.out.println(repository);
String id = RepositoryUtil.getRepositoryId(repositoryHandler, repository.getPath());
assertEquals("abc", id);
}
@Test(expected = IllegalArgumentException.class)
public void testGetRepositoryIdWithInvalidId() throws IOException {
File repositoryTypeRoot = temporaryFolder.newFolder();
repositoryConfig.setRepositoryDirectory(repositoryTypeRoot);
File repository = new File(repositoryTypeRoot, "abc/123");
RepositoryUtil.getRepositoryId(repositoryHandler, repository.getPath());
}
}