Repository: logging-log4j2 Updated Branches: refs/heads/master e52b01618 -> 714bfafdd
Refactor cleaners to be Path-based (I am using this in a WIP test.) Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/714bfafd Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/714bfafd Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/714bfafd Branch: refs/heads/master Commit: 714bfafddfcea9986a0079fe1395760336ba393c Parents: e52b016 Author: Gary Gregory <[email protected]> Authored: Sun Aug 7 11:51:30 2016 -0700 Committer: Gary Gregory <[email protected]> Committed: Sun Aug 7 11:51:30 2016 -0700 ---------------------------------------------------------------------- .../junit/AbstractExternalFileCleaner.java | 40 +++++++++++++------- .../apache/logging/log4j/junit/CleanFiles.java | 4 ++ .../logging/log4j/junit/CleanFolders.java | 4 ++ 3 files changed, 34 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/714bfafd/log4j-core/src/test/java/org/apache/logging/log4j/junit/AbstractExternalFileCleaner.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/junit/AbstractExternalFileCleaner.java b/log4j-core/src/test/java/org/apache/logging/log4j/junit/AbstractExternalFileCleaner.java index fa15c67..ce7eafd 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/junit/AbstractExternalFileCleaner.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/junit/AbstractExternalFileCleaner.java @@ -18,7 +18,9 @@ package org.apache.logging.log4j.junit; import java.io.File; import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -33,26 +35,37 @@ public abstract class AbstractExternalFileCleaner extends ExternalResource { private static final int SLEEP_RETRY_MILLIS = 200; private final boolean cleanAfter; private final boolean cleanBefore; - private final Set<File> files; + private final Set<Path> files; private final int maxTries; public AbstractExternalFileCleaner(final boolean before, final boolean after, final int maxTries, final File... files) { this.cleanBefore = before; this.cleanAfter = after; - this.files = new HashSet<>(Arrays.asList(files)); this.maxTries = maxTries; + this.files = new HashSet<>(files.length); + for (final File file : files) { + this.files.add(file.toPath()); + } + } + + public AbstractExternalFileCleaner(final boolean before, final boolean after, final int maxTries, + final Path... files) { + this.cleanBefore = before; + this.cleanAfter = after; + this.maxTries = maxTries; + this.files = new HashSet<>(Arrays.asList(files)); } public AbstractExternalFileCleaner(final boolean before, final boolean after, final int maxTries, final String... fileNames) { this.cleanBefore = before; this.cleanAfter = after; + this.maxTries = maxTries; this.files = new HashSet<>(fileNames.length); for (final String fileName : fileNames) { - this.files.add(new File(fileName)); + this.files.add(Paths.get(fileName)); } - this.maxTries = maxTries; } @Override @@ -70,11 +83,10 @@ public abstract class AbstractExternalFileCleaner extends ExternalResource { } protected void clean() { - Map<Path, IOException> failures = new HashMap<>(); + final Map<Path, IOException> failures = new HashMap<>(); // Clean and gather failures - for (final File file : getFiles()) { - if (file.exists()) { - final Path path = file.toPath(); + for (final Path path : getPaths()) { + if (Files.exists(path)) { for (int i = 0; i < getMaxTries(); i++) { try { if (clean(path, i)) { @@ -97,9 +109,9 @@ public abstract class AbstractExternalFileCleaner extends ExternalResource { } // Fail on failures if (failures.size() > 0) { - StringBuilder sb = new StringBuilder(); + final StringBuilder sb = new StringBuilder(); boolean first = true; - for (Map.Entry<Path, IOException> failure : failures.entrySet()) { + for (final Map.Entry<Path, IOException> failure : failures.entrySet()) { failure.getValue().printStackTrace(); if (!first) { sb.append(", "); @@ -122,14 +134,14 @@ public abstract class AbstractExternalFileCleaner extends ExternalResource { return cleanBefore; } - public Set<File> getFiles() { - return files; - } - public int getMaxTries() { return maxTries; } + public Set<Path> getPaths() { + return files; + } + @Override public String toString() { return getClass().getSimpleName() + " [files=" + files + ", cleanAfter=" + cleanAfter + ", cleanBefore=" http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/714bfafd/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java index fdd4cdd..39a2324 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFiles.java @@ -39,6 +39,10 @@ public class CleanFiles extends AbstractExternalFileCleaner { super(true, true, MAX_TRIES, files); } + public CleanFiles(final Path... paths) { + super(true, true, MAX_TRIES, paths); + } + public CleanFiles(final String... fileNames) { super(true, true, MAX_TRIES, fileNames); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/714bfafd/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFolders.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFolders.java b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFolders.java index 52ade89..5bddd12 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFolders.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/junit/CleanFolders.java @@ -42,6 +42,10 @@ public class CleanFolders extends AbstractExternalFileCleaner { super(true, true, MAX_TRIES, folders); } + public CleanFolders(final Path... paths) { + super(true, true, MAX_TRIES, paths); + } + public CleanFolders(final String... folderNames) { super(true, true, MAX_TRIES, folderNames); }
