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);
     }