You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/08/12 12:11:54 UTC
[08/50] logging-log4j2 git commit: Refactor cleaners to be Path-based
(I am using this in a WIP test.)
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/LOG4J2-1010&LOG4J2-1447-injectable-contextdata&better-datastructure
Commit: 714bfafddfcea9986a0079fe1395760336ba393c
Parents: e52b016
Author: Gary Gregory <gg...@apache.org>
Authored: Sun Aug 7 11:51:30 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
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);
}