Commit e29ce3f7 authored by Andy Wilkinson's avatar Andy Wilkinson

Merge pull request #11321 from Christoph Dreis

* gh-11321:
  Precompile current dir pattern in Handler
parents 9b65dfe8 d5370e68
...@@ -29,6 +29,7 @@ import java.util.Map; ...@@ -29,6 +29,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.regex.Pattern;
/** /**
* {@link URLStreamHandler} for Spring Boot loader {@link JarFile}s. * {@link URLStreamHandler} for Spring Boot loader {@link JarFile}s.
...@@ -50,6 +51,8 @@ public class Handler extends URLStreamHandler { ...@@ -50,6 +51,8 @@ public class Handler extends URLStreamHandler {
private static final String CURRENT_DIR = "/./"; private static final String CURRENT_DIR = "/./";
private static final Pattern CURRENT_DIR_PATTERN = Pattern.compile(CURRENT_DIR);
private static final String PARENT_DIR = "/../"; private static final String PARENT_DIR = "/../";
private static final String[] FALLBACK_HANDLERS = { private static final String[] FALLBACK_HANDLERS = {
...@@ -237,7 +240,7 @@ public class Handler extends URLStreamHandler { ...@@ -237,7 +240,7 @@ public class Handler extends URLStreamHandler {
} }
private String replaceCurrentDir(String file) { private String replaceCurrentDir(String file) {
return file.replace(CURRENT_DIR, "/"); return CURRENT_DIR_PATTERN.matcher(file).replaceAll("/");
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment