Mercurial > hg > release > icedtea6-1.11
changeset 2896:59cea2380fcc
Cleanup after previous commit.
2013-04-17 Andrew John Hughes <gnu.andrew@redhat.com>
* ChangeLog:
Move Elliott's entry to correct position.
* Makefile.am:
(ICEDTEA_PATCHES): Fix path to previous patch.
* NEWS: Remove duplicate 1.11.11 sections.
* patches/openjdk/jaxws-tempfiles-ioutils-6.patch:
Moved from here to...
* patches/jaxws-tempfiles-ioutils-6.patch:
...here as not an upstream OpenJDK patch.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Thu, 18 Apr 2013 00:42:34 +0100 |
parents | 7877650b6ba6 |
children | 221283e06c1a |
files | ChangeLog Makefile.am NEWS patches/jaxws-tempfiles-ioutils-6.patch patches/openjdk/jaxws-tempfiles-ioutils-6.patch |
diffstat | 5 files changed, 201 insertions(+), 191 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Apr 17 18:50:36 2013 -0400 +++ b/ChangeLog Thu Apr 18 00:42:34 2013 +0100 @@ -1,3 +1,24 @@ +2013-04-17 Andrew John Hughes <gnu.andrew@redhat.com> + + * ChangeLog: + Move Elliott's entry to correct position. + * Makefile.am: + (ICEDTEA_PATCHES): Fix path to previous patch. + * NEWS: Remove duplicate 1.11.11 sections. + * patches/openjdk/jaxws-tempfiles-ioutils-6.patch: + Moved from here to... + * patches/jaxws-tempfiles-ioutils-6.patch: + ...here as not an upstream OpenJDK patch. + +2013-04-17 Elliott Baron <ebaron@redhat.com> + + * patches/openjdk/jaxws-tempfiles-ioutils-6.patch: + Restrict temp file permissions. + * Makefile.am: + (ICEDTEA_PATCHES): Added new patch. + * NEWS: Updated. + * configure.ac: Prepare for 1.11.11. + 2013-04-17 Andrew John Hughes <gnu.andrew@redhat.com> * patches/aarch64.patch: @@ -6,20 +27,11 @@ 2013-04-17 Andrew John Hughes <gnu.andrew@redhat.com> PR1402: Support glibc < 2.17 with AArch64 patch - * NEWS: Updated. + * NEWS: List in new 1.11.11 section. * patches/aarch64.patch: Define EM_AARCH64 for legacy systems with glibc earlier than 2.17. -2013-04-17 Elliott Baron <ebaron@redhat.com> - - * patches/openjdk/jaxws-tempfiles-ioutils-6.patch: - Restrict temp file permissions. - * Makefile.am: - (ICEDTEA_PATCHES): Added new patch. - * NEWS: Add section for 1.11.11. - * configure.ac: Prepare for 1.11.11. - 2013-04-17 Andrew John Hughes <gnu.andrew@redhat.com> * NEWS: Improve listing for S8004987 and
--- a/Makefile.am Wed Apr 17 18:50:36 2013 -0400 +++ b/Makefile.am Thu Apr 18 00:42:34 2013 +0100 @@ -536,7 +536,7 @@ patches/fix_get_stack_bounds_leak.patch \ patches/openjdk/7197906-handle_32_bit_shifts.patch \ patches/aarch64.patch \ - patches/openjdk/jaxws-tempfiles-ioutils-6.patch + patches/jaxws-tempfiles-ioutils-6.patch if WITH_RHINO ICEDTEA_PATCHES += \
--- a/NEWS Wed Apr 17 18:50:36 2013 -0400 +++ b/NEWS Thu Apr 18 00:42:34 2013 +0100 @@ -13,13 +13,11 @@ New in release 1.11.11 (2013-04-XX): +* Security fixes + - RH952389: Temporary files created with insecure permissions * Bug fixes - PR1402: Support glibc < 2.17 with AArch64 patch -New in release 1.11.11 (2013-XX-XX): -* Security fixes - - RH952389: Temporary files created with insecure permissions - New in release 1.11.10 (2013-04-17): * New features
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/jaxws-tempfiles-ioutils-6.patch Thu Apr 18 00:42:34 2013 +0100 @@ -0,0 +1,176 @@ +diff -ru openjdk/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java openjdk.new/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java +--- openjdk/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java 2013-04-17 13:14:56.952315541 -0400 ++++ openjdk.new/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java 2013-04-17 13:14:20.578155775 -0400 +@@ -44,25 +44,47 @@ + private static final Class<?> CLASS_PATH; + private static final Class<?> CLASS_FILE_ATTRIBUTE; + private static final Class<?> CLASS_FILE_ATTRIBUTES; ++ private static final Class<?> CLASS_IOUTILS; + private static final Method METHOD_FILE_TO_PATH; + private static final Method METHOD_FILES_CREATE_TEMP_FILE; + private static final Method METHOD_FILES_CREATE_TEMP_FILE_WITHPATH; +- ++ private static final Method METHOD_IOUTILS_CREATE_TEMP_FILE; ++ private static final Method METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR; + private static final Method METHOD_PATH_TO_FILE; + + private static boolean useJdk6API; ++ private static boolean useFileAPI; + + static { + useJdk6API = isJdk6(); +- +- CLASS_FILES = safeGetClass("java.nio.file.Files"); +- CLASS_PATH = safeGetClass("java.nio.file.Path"); +- CLASS_FILE_ATTRIBUTE = safeGetClass("java.nio.file.attribute.FileAttribute"); +- CLASS_FILE_ATTRIBUTES = safeGetClass("[Ljava.nio.file.attribute.FileAttribute;"); +- METHOD_FILE_TO_PATH = safeGetMethod(File.class, "toPath"); +- METHOD_FILES_CREATE_TEMP_FILE = safeGetMethod(CLASS_FILES, "createTempFile", String.class, String.class, CLASS_FILE_ATTRIBUTES); +- METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = safeGetMethod(CLASS_FILES, "createTempFile", CLASS_PATH, String.class, String.class, CLASS_FILE_ATTRIBUTES); +- METHOD_PATH_TO_FILE = safeGetMethod(CLASS_PATH, "toFile"); ++ useFileAPI = false; ++ ++ if (useJdk6API) { ++ CLASS_IOUTILS = safeGetClass("sun.misc.IOUtils"); ++ METHOD_IOUTILS_CREATE_TEMP_FILE = safeGetMethod(CLASS_IOUTILS, "createTempFile", String.class, String.class); ++ METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR = safeGetMethod(CLASS_IOUTILS, "createTempFile", String.class, String.class, File.class); ++ CLASS_FILES = null; ++ CLASS_PATH = null; ++ CLASS_FILE_ATTRIBUTE = null; ++ CLASS_FILE_ATTRIBUTES = null; ++ METHOD_FILE_TO_PATH = null; ++ METHOD_FILES_CREATE_TEMP_FILE = null; ++ METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = null; ++ METHOD_PATH_TO_FILE = null; ++ } ++ else { ++ CLASS_FILES = safeGetClass("java.nio.file.Files"); ++ CLASS_PATH = safeGetClass("java.nio.file.Path"); ++ CLASS_FILE_ATTRIBUTE = safeGetClass("java.nio.file.attribute.FileAttribute"); ++ CLASS_FILE_ATTRIBUTES = safeGetClass("[Ljava.nio.file.attribute.FileAttribute;"); ++ METHOD_FILE_TO_PATH = safeGetMethod(File.class, "toPath"); ++ METHOD_FILES_CREATE_TEMP_FILE = safeGetMethod(CLASS_FILES, "createTempFile", String.class, String.class, CLASS_FILE_ATTRIBUTES); ++ METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = safeGetMethod(CLASS_FILES, "createTempFile", CLASS_PATH, String.class, String.class, CLASS_FILE_ATTRIBUTES); ++ METHOD_PATH_TO_FILE = safeGetMethod(CLASS_PATH, "toFile"); ++ CLASS_IOUTILS = null; ++ METHOD_IOUTILS_CREATE_TEMP_FILE = null; ++ METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR = null; ++ } + } + + private static boolean isJdk6() { +@@ -72,27 +94,27 @@ + } + + private static Class<?> safeGetClass(String className) { +- // it is jdk 6 or something failed already before +- if (useJdk6API) return null; ++ // Something failed already before ++ if (useFileAPI) return null; + try { + return Class.forName(className); + } catch (ClassNotFoundException e) { + LOGGER.log(Level.SEVERE, "Exception cought", e); + LOGGER.log(Level.WARNING, "Class {0} not found. Temp files will be created using old java.io API.", className); +- useJdk6API = true; ++ useFileAPI = true; + return null; + } + } + + private static Method safeGetMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) { +- // it is jdk 6 or something failed already before +- if (useJdk6API) return null; ++ // Something failed already before ++ if (useFileAPI) return null; + try { + return clazz.getMethod(methodName, parameterTypes); + } catch (NoSuchMethodException e) { + LOGGER.log(Level.SEVERE, "Exception cought", e); + LOGGER.log(Level.WARNING, "Method {0} not found. Temp files will be created using old java.io API.", methodName); +- useJdk6API = true; ++ useFileAPI = true; + return null; + } + } +@@ -107,37 +129,53 @@ + } + + static File createTempFile(String prefix, String suffix, File dir) throws IOException { +- +- if (useJdk6API) { +- LOGGER.log(Level.FINEST, "Jdk6 detected, temp file (prefix:{0}, suffix:{1}) being created using old java.io API.", new Object[]{prefix, suffix}); +- return File.createTempFile(prefix, suffix, dir); +- +- } else { +- +- try { +- if (dir != null) { +- Object path = toPath(dir); +- LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using NIO API.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); +- return toFile(METHOD_FILES_CREATE_TEMP_FILE_WITHPATH.invoke(null, path, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); +- } else { +- LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using NIO API.", new Object[]{prefix, suffix}); +- return toFile(METHOD_FILES_CREATE_TEMP_FILE.invoke(null, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); ++ if (!useFileAPI) { ++ if (useJdk6API) { // Use IOUtils ++ LOGGER.log(Level.FINEST, "Jdk6 detected, temp file (prefix:{0}, suffix:{1}) being created using sun.misc.IOUtils.", new Object[]{prefix, suffix}); ++ try { ++ if (dir != null) { ++ LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using sun.misc.IOUtils.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); ++ return (File) METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR.invoke(null, prefix, suffix, dir); ++ } ++ else { ++ LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using sun.misc.IOUtils.", new Object[]{prefix, suffix}); ++ return (File) METHOD_IOUTILS_CREATE_TEMP_FILE.invoke(null, prefix, suffix); ++ } ++ } catch (IllegalAccessException e) { ++ LOGGER.log(Level.SEVERE, "Exception caught", e); ++ LOGGER.log(Level.WARNING, "Error invoking sun.misc.IOUtils.createTempFile, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", ++ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); ++ } catch (InvocationTargetException e) { ++ LOGGER.log(Level.SEVERE, "Exception caught", e); ++ LOGGER.log(Level.WARNING, "Error invoking sun.misc.IOUtils.createTempFile, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", ++ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); + } ++ } else { // Use NIO API + +- } catch (IllegalAccessException e) { +- LOGGER.log(Level.SEVERE, "Exception caught", e); +- LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", +- new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); +- return File.createTempFile(prefix, suffix, dir); +- +- } catch (InvocationTargetException e) { +- LOGGER.log(Level.SEVERE, "Exception caught", e); +- LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", +- new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); +- return File.createTempFile(prefix, suffix, dir); ++ try { ++ if (dir != null) { ++ Object path = toPath(dir); ++ LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using NIO API.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); ++ return toFile(METHOD_FILES_CREATE_TEMP_FILE_WITHPATH.invoke(null, path, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); ++ } else { ++ LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using NIO API.", new Object[]{prefix, suffix}); ++ return toFile(METHOD_FILES_CREATE_TEMP_FILE.invoke(null, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); ++ } ++ ++ } catch (IllegalAccessException e) { ++ LOGGER.log(Level.SEVERE, "Exception caught", e); ++ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", ++ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); ++ } catch (InvocationTargetException e) { ++ LOGGER.log(Level.SEVERE, "Exception caught", e); ++ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", ++ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); ++ } + } + } +- ++ ++ // Use IO API ++ return File.createTempFile(prefix, suffix, dir); + } + +
--- a/patches/openjdk/jaxws-tempfiles-ioutils-6.patch Wed Apr 17 18:50:36 2013 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,176 +0,0 @@ -diff -ru openjdk/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java openjdk.new/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java ---- openjdk/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java 2013-04-17 13:14:56.952315541 -0400 -+++ openjdk.new/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java 2013-04-17 13:14:20.578155775 -0400 -@@ -44,25 +44,47 @@ - private static final Class<?> CLASS_PATH; - private static final Class<?> CLASS_FILE_ATTRIBUTE; - private static final Class<?> CLASS_FILE_ATTRIBUTES; -+ private static final Class<?> CLASS_IOUTILS; - private static final Method METHOD_FILE_TO_PATH; - private static final Method METHOD_FILES_CREATE_TEMP_FILE; - private static final Method METHOD_FILES_CREATE_TEMP_FILE_WITHPATH; -- -+ private static final Method METHOD_IOUTILS_CREATE_TEMP_FILE; -+ private static final Method METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR; - private static final Method METHOD_PATH_TO_FILE; - - private static boolean useJdk6API; -+ private static boolean useFileAPI; - - static { - useJdk6API = isJdk6(); -- -- CLASS_FILES = safeGetClass("java.nio.file.Files"); -- CLASS_PATH = safeGetClass("java.nio.file.Path"); -- CLASS_FILE_ATTRIBUTE = safeGetClass("java.nio.file.attribute.FileAttribute"); -- CLASS_FILE_ATTRIBUTES = safeGetClass("[Ljava.nio.file.attribute.FileAttribute;"); -- METHOD_FILE_TO_PATH = safeGetMethod(File.class, "toPath"); -- METHOD_FILES_CREATE_TEMP_FILE = safeGetMethod(CLASS_FILES, "createTempFile", String.class, String.class, CLASS_FILE_ATTRIBUTES); -- METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = safeGetMethod(CLASS_FILES, "createTempFile", CLASS_PATH, String.class, String.class, CLASS_FILE_ATTRIBUTES); -- METHOD_PATH_TO_FILE = safeGetMethod(CLASS_PATH, "toFile"); -+ useFileAPI = false; -+ -+ if (useJdk6API) { -+ CLASS_IOUTILS = safeGetClass("sun.misc.IOUtils"); -+ METHOD_IOUTILS_CREATE_TEMP_FILE = safeGetMethod(CLASS_IOUTILS, "createTempFile", String.class, String.class); -+ METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR = safeGetMethod(CLASS_IOUTILS, "createTempFile", String.class, String.class, File.class); -+ CLASS_FILES = null; -+ CLASS_PATH = null; -+ CLASS_FILE_ATTRIBUTE = null; -+ CLASS_FILE_ATTRIBUTES = null; -+ METHOD_FILE_TO_PATH = null; -+ METHOD_FILES_CREATE_TEMP_FILE = null; -+ METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = null; -+ METHOD_PATH_TO_FILE = null; -+ } -+ else { -+ CLASS_FILES = safeGetClass("java.nio.file.Files"); -+ CLASS_PATH = safeGetClass("java.nio.file.Path"); -+ CLASS_FILE_ATTRIBUTE = safeGetClass("java.nio.file.attribute.FileAttribute"); -+ CLASS_FILE_ATTRIBUTES = safeGetClass("[Ljava.nio.file.attribute.FileAttribute;"); -+ METHOD_FILE_TO_PATH = safeGetMethod(File.class, "toPath"); -+ METHOD_FILES_CREATE_TEMP_FILE = safeGetMethod(CLASS_FILES, "createTempFile", String.class, String.class, CLASS_FILE_ATTRIBUTES); -+ METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = safeGetMethod(CLASS_FILES, "createTempFile", CLASS_PATH, String.class, String.class, CLASS_FILE_ATTRIBUTES); -+ METHOD_PATH_TO_FILE = safeGetMethod(CLASS_PATH, "toFile"); -+ CLASS_IOUTILS = null; -+ METHOD_IOUTILS_CREATE_TEMP_FILE = null; -+ METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR = null; -+ } - } - - private static boolean isJdk6() { -@@ -72,27 +94,27 @@ - } - - private static Class<?> safeGetClass(String className) { -- // it is jdk 6 or something failed already before -- if (useJdk6API) return null; -+ // Something failed already before -+ if (useFileAPI) return null; - try { - return Class.forName(className); - } catch (ClassNotFoundException e) { - LOGGER.log(Level.SEVERE, "Exception cought", e); - LOGGER.log(Level.WARNING, "Class {0} not found. Temp files will be created using old java.io API.", className); -- useJdk6API = true; -+ useFileAPI = true; - return null; - } - } - - private static Method safeGetMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) { -- // it is jdk 6 or something failed already before -- if (useJdk6API) return null; -+ // Something failed already before -+ if (useFileAPI) return null; - try { - return clazz.getMethod(methodName, parameterTypes); - } catch (NoSuchMethodException e) { - LOGGER.log(Level.SEVERE, "Exception cought", e); - LOGGER.log(Level.WARNING, "Method {0} not found. Temp files will be created using old java.io API.", methodName); -- useJdk6API = true; -+ useFileAPI = true; - return null; - } - } -@@ -107,37 +129,53 @@ - } - - static File createTempFile(String prefix, String suffix, File dir) throws IOException { -- -- if (useJdk6API) { -- LOGGER.log(Level.FINEST, "Jdk6 detected, temp file (prefix:{0}, suffix:{1}) being created using old java.io API.", new Object[]{prefix, suffix}); -- return File.createTempFile(prefix, suffix, dir); -- -- } else { -- -- try { -- if (dir != null) { -- Object path = toPath(dir); -- LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using NIO API.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); -- return toFile(METHOD_FILES_CREATE_TEMP_FILE_WITHPATH.invoke(null, path, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); -- } else { -- LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using NIO API.", new Object[]{prefix, suffix}); -- return toFile(METHOD_FILES_CREATE_TEMP_FILE.invoke(null, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); -+ if (!useFileAPI) { -+ if (useJdk6API) { // Use IOUtils -+ LOGGER.log(Level.FINEST, "Jdk6 detected, temp file (prefix:{0}, suffix:{1}) being created using sun.misc.IOUtils.", new Object[]{prefix, suffix}); -+ try { -+ if (dir != null) { -+ LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using sun.misc.IOUtils.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); -+ return (File) METHOD_IOUTILS_CREATE_TEMP_FILE_WITHDIR.invoke(null, prefix, suffix, dir); -+ } -+ else { -+ LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using sun.misc.IOUtils.", new Object[]{prefix, suffix}); -+ return (File) METHOD_IOUTILS_CREATE_TEMP_FILE.invoke(null, prefix, suffix); -+ } -+ } catch (IllegalAccessException e) { -+ LOGGER.log(Level.SEVERE, "Exception caught", e); -+ LOGGER.log(Level.WARNING, "Error invoking sun.misc.IOUtils.createTempFile, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); -+ } catch (InvocationTargetException e) { -+ LOGGER.log(Level.SEVERE, "Exception caught", e); -+ LOGGER.log(Level.WARNING, "Error invoking sun.misc.IOUtils.createTempFile, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); - } -+ } else { // Use NIO API - -- } catch (IllegalAccessException e) { -- LOGGER.log(Level.SEVERE, "Exception caught", e); -- LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -- new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); -- return File.createTempFile(prefix, suffix, dir); -- -- } catch (InvocationTargetException e) { -- LOGGER.log(Level.SEVERE, "Exception caught", e); -- LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -- new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); -- return File.createTempFile(prefix, suffix, dir); -+ try { -+ if (dir != null) { -+ Object path = toPath(dir); -+ LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using NIO API.", new Object[]{dir.getAbsolutePath(), prefix, suffix}); -+ return toFile(METHOD_FILES_CREATE_TEMP_FILE_WITHPATH.invoke(null, path, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); -+ } else { -+ LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using NIO API.", new Object[]{prefix, suffix}); -+ return toFile(METHOD_FILES_CREATE_TEMP_FILE.invoke(null, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0))); -+ } -+ -+ } catch (IllegalAccessException e) { -+ LOGGER.log(Level.SEVERE, "Exception caught", e); -+ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); -+ } catch (InvocationTargetException e) { -+ LOGGER.log(Level.SEVERE, "Exception caught", e); -+ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.", -+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix}); -+ } - } - } -- -+ -+ // Use IO API -+ return File.createTempFile(prefix, suffix, dir); - } - -