From 07b479e264a4167d07916c125f1f4e5a7f059e1b Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 5 Nov 2017 21:01:29 +0100 Subject: [PATCH] FileUrlResource creates same class from createRelative Issue: SPR-16140 --- .../java/org/springframework/core/io/FileUrlResource.java | 8 ++++++++ .../java/org/springframework/core/io/UrlResource.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-core/src/main/java/org/springframework/core/io/FileUrlResource.java b/spring-core/src/main/java/org/springframework/core/io/FileUrlResource.java index 973b19a8bf5..f560bd2aef2 100644 --- a/spring-core/src/main/java/org/springframework/core/io/FileUrlResource.java +++ b/spring-core/src/main/java/org/springframework/core/io/FileUrlResource.java @@ -70,6 +70,14 @@ public class FileUrlResource extends UrlResource implements WritableResource { } + @Override + public Resource createRelative(String relativePath) throws MalformedURLException { + if (relativePath.startsWith("/")) { + relativePath = relativePath.substring(1); + } + return new FileUrlResource(new URL(getURL(), relativePath)); + } + @Override public boolean isWritable() { try { diff --git a/spring-core/src/main/java/org/springframework/core/io/UrlResource.java b/spring-core/src/main/java/org/springframework/core/io/UrlResource.java index a4c38d223fc..37373a22d71 100644 --- a/spring-core/src/main/java/org/springframework/core/io/UrlResource.java +++ b/spring-core/src/main/java/org/springframework/core/io/UrlResource.java @@ -183,7 +183,7 @@ public class UrlResource extends AbstractFileResolvingResource { * This implementation returns the underlying URL reference. */ @Override - public URL getURL() throws IOException { + public URL getURL() { return this.url; }