提交 389c810e 编写于 作者: R redestad

8068790: ZipEntry/JarEntry.setCreation/LastAccessTime(null) don't throw NPE as specified

Reviewed-by: coffeys, sherman
上级 2b07bf20
...@@ -180,8 +180,7 @@ class ZipEntry implements ZipConstants, Cloneable { ...@@ -180,8 +180,7 @@ class ZipEntry implements ZipConstants, Cloneable {
* @since 1.8 * @since 1.8
*/ */
public ZipEntry setLastModifiedTime(FileTime time) { public ZipEntry setLastModifiedTime(FileTime time) {
Objects.requireNonNull(name, "time"); this.mtime = Objects.requireNonNull(time, "lastModifiedTime");
this.mtime = time;
this.time = time.to(TimeUnit.MILLISECONDS); this.time = time.to(TimeUnit.MILLISECONDS);
return this; return this;
} }
...@@ -227,8 +226,7 @@ class ZipEntry implements ZipConstants, Cloneable { ...@@ -227,8 +226,7 @@ class ZipEntry implements ZipConstants, Cloneable {
* @since 1.8 * @since 1.8
*/ */
public ZipEntry setLastAccessTime(FileTime time) { public ZipEntry setLastAccessTime(FileTime time) {
Objects.requireNonNull(name, "time"); this.atime = Objects.requireNonNull(time, "lastAccessTime");
this.atime = time;
return this; return this;
} }
...@@ -265,8 +263,7 @@ class ZipEntry implements ZipConstants, Cloneable { ...@@ -265,8 +263,7 @@ class ZipEntry implements ZipConstants, Cloneable {
* @since 1.8 * @since 1.8
*/ */
public ZipEntry setCreationTime(FileTime time) { public ZipEntry setCreationTime(FileTime time) {
Objects.requireNonNull(name, "time"); this.ctime = Objects.requireNonNull(time, "creationTime");
this.ctime = time;
return this; return this;
} }
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
/** /**
* @test * @test
* @bug 4759491 6303183 7012868 8015666 8023713 * @bug 4759491 6303183 7012868 8015666 8023713 8068790
* @summary Test ZOS and ZIS timestamp in extra field correctly * @summary Test ZOS and ZIS timestamp in extra field correctly
*/ */
...@@ -69,6 +69,8 @@ public class TestExtraTime { ...@@ -69,6 +69,8 @@ public class TestExtraTime {
test(mtime, atime, ctime, tz, extra); test(mtime, atime, ctime, tz, extra);
} }
} }
testNullHandling();
} }
static void test(FileTime mtime, FileTime atime, FileTime ctime, static void test(FileTime mtime, FileTime atime, FileTime ctime,
...@@ -154,4 +156,26 @@ public class TestExtraTime { ...@@ -154,4 +156,26 @@ public class TestExtraTime {
} }
} }
} }
static void testNullHandling() {
ZipEntry ze = new ZipEntry("TestExtraTime.java");
try {
ze.setLastAccessTime(null);
throw new RuntimeException("setLastAccessTime(null) should throw NPE");
} catch (NullPointerException ignored) {
// pass
}
try {
ze.setCreationTime(null);
throw new RuntimeException("setCreationTime(null) should throw NPE");
} catch (NullPointerException ignored) {
// pass
}
try {
ze.setLastModifiedTime(null);
throw new RuntimeException("setLastModifiedTime(null) should throw NPE");
} catch (NullPointerException ignored) {
// pass
}
}
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册