diff --git a/src/main/java/org/apache/maven/shared/io/location/URLLocation.java b/src/main/java/org/apache/maven/shared/io/location/URLLocation.java index ae9d645..5eb25af 100644 --- a/src/main/java/org/apache/maven/shared/io/location/URLLocation.java +++ b/src/main/java/org/apache/maven/shared/io/location/URLLocation.java @@ -30,6 +30,10 @@ */ public class URLLocation extends FileLocation { + private static final String DEFAULT_TEMP_FILE_PREFIX = "url"; + + private static final String DEFAULT_TEMP_FILE_SUFFIX = ".tmp"; + private final URL url; private final String tempFilePrefix; @@ -58,7 +62,10 @@ public URLLocation( /** {@inheritDoc} */ protected void initFile() throws IOException { if (unsafeGetFile() == null) { - File tempFile = Files.createTempFile(tempFilePrefix, tempFileSuffix).toFile(); + String prefix = tempFilePrefix != null ? tempFilePrefix : DEFAULT_TEMP_FILE_PREFIX; + String suffix = tempFileSuffix != null ? tempFileSuffix : DEFAULT_TEMP_FILE_SUFFIX; + + File tempFile = Files.createTempFile(prefix, suffix).toFile(); if (tempFileDeleteOnExit) { tempFile.deleteOnExit(); diff --git a/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java b/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java index 62e3db8..59ace8a 100644 --- a/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java +++ b/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java @@ -77,4 +77,16 @@ void shouldTransferFromTempFileThenRead() throws Exception { assertEquals(testStr, new String(buffer, "US-ASCII")); } + + @Test + void shouldUseDefaultsWhenTempFilePrefixAndSuffixAreNull() throws Exception { + File f = Files.createTempFile("url-location.", ".test").toFile(); + f.deleteOnExit(); + + URL url = f.toURL(); + + URLLocation location = new URLLocation(url, f.getAbsolutePath(), null, null, true); + + assertNotNull(location.getFile()); + } }