From 536f6b9a5013394b014bd5f91559c32824d5ea31 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sat, 28 Jan 2023 21:01:45 -0500 Subject: [PATCH] Handle unnormalized resource paths Fixes #14 --- .../modernfix/classloading/ModernFixResourceFinder.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/embeddedt/modernfix/classloading/ModernFixResourceFinder.java b/src/main/java/org/embeddedt/modernfix/classloading/ModernFixResourceFinder.java index a3f59b30..eaca9b5f 100644 --- a/src/main/java/org/embeddedt/modernfix/classloading/ModernFixResourceFinder.java +++ b/src/main/java/org/embeddedt/modernfix/classloading/ModernFixResourceFinder.java @@ -19,6 +19,7 @@ import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Stream; public class ModernFixResourceFinder { @@ -99,7 +100,10 @@ public class ModernFixResourceFinder { throw new UnsupportedOperationException("Unknown ModLocator type: " + locator.getClass().getName()); } + private static final Pattern SLASH_REPLACER = Pattern.compile("/+"); + public static Enumeration findAllURLsForResource(String input) { + input = SLASH_REPLACER.matcher(input).replaceAll("/"); List urlList = urlsForClass.get(input); if(urlList != null) return Collections.enumeration(urlList);