Repository: incubator-slider Updated Branches: refs/heads/develop e4ac8ac2c -> 8ae7cd198
SLIDER-971 NPE when "slider resolve" with "--out" (kyungwan nam) Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/eade2578 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/eade2578 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/eade2578 Branch: refs/heads/develop Commit: eade2578150249ea784b20b4c0d78a51435f0b29 Parents: e4ac8ac Author: Steve Loughran <ste...@apache.org> Authored: Wed Feb 10 17:54:03 2016 +0000 Committer: Steve Loughran <ste...@apache.org> Committed: Wed Feb 10 17:57:49 2016 +0000 ---------------------------------------------------------------------- .../java/org/apache/slider/common/tools/SliderUtils.java | 5 ++++- .../org/apache/slider/common/tools/TestSliderUtils.java | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/eade2578/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java b/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java index 7277c21..9c0547f 100644 --- a/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java +++ b/slider-core/src/main/java/org/apache/slider/common/tools/SliderUtils.java @@ -2139,7 +2139,10 @@ public final class SliderUtils { */ public static void write(File outfile, byte[] data, boolean createParent) throws IOException { - File parentDir = outfile.getParentFile(); + File parentDir = outfile.getCanonicalFile().getParentFile(); + if (parentDir == null) { + throw new IOException(outfile.getPath() + " has no parent dir"); + } if (createParent) { parentDir.mkdirs(); } http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/eade2578/slider-core/src/test/java/org/apache/slider/common/tools/TestSliderUtils.java ---------------------------------------------------------------------- diff --git a/slider-core/src/test/java/org/apache/slider/common/tools/TestSliderUtils.java b/slider-core/src/test/java/org/apache/slider/common/tools/TestSliderUtils.java index 46fe638..20e72c0 100644 --- a/slider-core/src/test/java/org/apache/slider/common/tools/TestSliderUtils.java +++ b/slider-core/src/test/java/org/apache/slider/common/tools/TestSliderUtils.java @@ -16,6 +16,7 @@ */ package org.apache.slider.common.tools; +import org.apache.commons.io.FileUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; @@ -30,6 +31,8 @@ import org.junit.rules.TemporaryFolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; @@ -147,4 +150,10 @@ public class TestSliderUtils { Assert.assertFalse("Should be false", SliderUtils.isHdp()); } + @Test + public void testWrite() throws IOException { + File testWriteFile = folder.newFile("testWrite"); + SliderUtils.write(testWriteFile, "test".getBytes("UTF-8"), true); + Assert.assertTrue(FileUtils.readFileToString(testWriteFile, "UTF-8").equals("test")); + } }