Use JUnit 4 TemporaryFolder rule for temp folder. This removes the Java 7 dependency in the FileResourceTest by using JUnit 4's TemporaryFolder rule. This also ensures that the folder will always be deleted after running the test.
The license header in AbstractDirectoryInputStream has also been put where it is supposed to be, and minor cleanups of imports and code style has been done. Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/85f955a5 Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/85f955a5 Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/85f955a5 Branch: refs/heads/master Commit: 85f955a58544cc1d9da34aacd317e7bfe5fde0dd Parents: 66915e7 Author: Dennis Du Krøger <[email protected]> Authored: Mon Aug 10 10:01:00 2015 +0200 Committer: Dennis Du Krøger <[email protected]> Committed: Mon Aug 10 10:01:00 2015 +0200 ---------------------------------------------------------------------- .../util/AbstractDirectoryInputStream.java | 22 ++++++++++---------- .../org/apache/metamodel/util/FileResource.java | 9 ++++---- .../apache/metamodel/util/FileResourceTest.java | 13 ++++++------ .../org/apache/metamodel/util/HdfsResource.java | 2 -- 4 files changed, 21 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/metamodel/blob/85f955a5/core/src/main/java/org/apache/metamodel/util/AbstractDirectoryInputStream.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/metamodel/util/AbstractDirectoryInputStream.java b/core/src/main/java/org/apache/metamodel/util/AbstractDirectoryInputStream.java index 5b34527..c5619ec 100644 --- a/core/src/main/java/org/apache/metamodel/util/AbstractDirectoryInputStream.java +++ b/core/src/main/java/org/apache/metamodel/util/AbstractDirectoryInputStream.java @@ -1,8 +1,3 @@ -package org.apache.metamodel.util; - -import java.io.IOException; -import java.io.InputStream; - /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -21,6 +16,11 @@ import java.io.InputStream; * specific language governing permissions and limitations * under the License. */ +package org.apache.metamodel.util; + +import java.io.IOException; +import java.io.InputStream; + public abstract class AbstractDirectoryInputStream<T> extends InputStream { protected T[] _files; private int _currentFileIndex = -1; @@ -36,7 +36,7 @@ public abstract class AbstractDirectoryInputStream<T> extends InputStream { } } - if (!openNextFile()){ + if (!openNextFile()) { return -1; // No more files. } @@ -51,8 +51,8 @@ public abstract class AbstractDirectoryInputStream<T> extends InputStream { @Override public int read() throws IOException { final byte[] b = new byte[1]; - int count = read(b, 0 , 1); - if(count < 0){ + int count = read(b, 0, 1); + if (count < 0) { return -1; } return (int) b[0]; @@ -60,7 +60,7 @@ public abstract class AbstractDirectoryInputStream<T> extends InputStream { @Override public int available() throws IOException { - if(_currentInputStream != null){ + if (_currentInputStream != null) { return _currentInputStream.available(); } else { return 0; @@ -68,7 +68,7 @@ public abstract class AbstractDirectoryInputStream<T> extends InputStream { } private boolean openNextFile() throws IOException { - if(_currentInputStream != null){ + if (_currentInputStream != null) { FileHelper.safeClose(_currentInputStream); _currentInputStream = null; } @@ -90,7 +90,7 @@ public abstract class AbstractDirectoryInputStream<T> extends InputStream { @Override public void close() throws IOException { - if(_currentInputStream != null){ + if (_currentInputStream != null) { FileHelper.safeClose(_currentInputStream); } } http://git-wip-us.apache.org/repos/asf/metamodel/blob/85f955a5/core/src/main/java/org/apache/metamodel/util/FileResource.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/metamodel/util/FileResource.java b/core/src/main/java/org/apache/metamodel/util/FileResource.java index 20dea50..ab2d8c3 100644 --- a/core/src/main/java/org/apache/metamodel/util/FileResource.java +++ b/core/src/main/java/org/apache/metamodel/util/FileResource.java @@ -25,7 +25,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import java.util.Arrays; -import java.util.Comparator; /** * {@link File} based {@link Resource} implementation. @@ -34,7 +33,7 @@ public class FileResource implements Resource, Serializable { private class DirectoryInputStream extends AbstractDirectoryInputStream<File> { - public DirectoryInputStream(){ + public DirectoryInputStream() { final File[] unsortedFiles = _file.listFiles(new FileFilter() { @Override public boolean accept(final File pathname) { @@ -42,7 +41,7 @@ public class FileResource implements Resource, Serializable { } }); - if(unsortedFiles == null){ + if (unsortedFiles == null) { _files = new File[0]; } else { Arrays.sort(unsortedFiles); @@ -66,7 +65,7 @@ public class FileResource implements Resource, Serializable { public FileResource(File file) { _file = file; } - + @Override public String toString() { return "FileResource[" + _file.getPath() + "]"; @@ -169,7 +168,7 @@ public class FileResource implements Resource, Serializable { @Override public InputStream read() throws ResourceException { - if(_file.isDirectory()){ + if (_file.isDirectory()) { return new DirectoryInputStream(); } final InputStream in = FileHelper.getInputStream(_file); http://git-wip-us.apache.org/repos/asf/metamodel/blob/85f955a5/core/src/test/java/org/apache/metamodel/util/FileResourceTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/metamodel/util/FileResourceTest.java b/core/src/test/java/org/apache/metamodel/util/FileResourceTest.java index 1316db9..c085225 100644 --- a/core/src/test/java/org/apache/metamodel/util/FileResourceTest.java +++ b/core/src/test/java/org/apache/metamodel/util/FileResourceTest.java @@ -20,28 +20,28 @@ package org.apache.metamodel.util; import java.io.InputStream; import java.io.OutputStream; -import java.nio.file.Files; -import java.nio.file.Path; import java.util.Arrays; import java.util.Collections; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; public class FileResourceTest { + @Rule + public TemporaryFolder folder = new TemporaryFolder(); @Test public void testReadDirectory() throws Exception { final String contentString = "fun and games with Apache MetaModel and Hadoop is what we do"; final String[] contents = new String[] { "fun ", "and ", "games ", "with ", "Apache ", "MetaModel ", "and ", "Hadoop ", "is ", "what ", "we ", "do" }; - Path path = Files.createTempDirectory("test"); - // Reverse both filename and contents to make sure it is the name and not the creation order that is sorted on. int i = contents.length; Collections.reverse(Arrays.asList(contents)); for(final String contentPart : contents){ - final FileResource partResource = new FileResource(path + "/part-" + String.format("%02d", i--)); + final FileResource partResource = new FileResource(folder.newFile("/part-" + String.format("%02d", i--))); partResource.write(new Action<OutputStream>() { @Override public void run(OutputStream out) throws Exception { @@ -50,8 +50,7 @@ public class FileResourceTest { }); } - - final FileResource res1 = new FileResource(path.toFile()); + final FileResource res1 = new FileResource(folder.getRoot()); final String str1 = res1.read(new Func<InputStream, String>() { @Override http://git-wip-us.apache.org/repos/asf/metamodel/blob/85f955a5/hadoop/src/main/java/org/apache/metamodel/util/HdfsResource.java ---------------------------------------------------------------------- diff --git a/hadoop/src/main/java/org/apache/metamodel/util/HdfsResource.java b/hadoop/src/main/java/org/apache/metamodel/util/HdfsResource.java index eab9597..263ac1d 100644 --- a/hadoop/src/main/java/org/apache/metamodel/util/HdfsResource.java +++ b/hadoop/src/main/java/org/apache/metamodel/util/HdfsResource.java @@ -18,13 +18,11 @@ */ package org.apache.metamodel.util; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Serializable; import java.util.Arrays; -import java.util.Comparator; import java.util.regex.Matcher; import java.util.regex.Pattern;
