Skip to content

Commit 13dd2e2

Browse files
committed
Make Resource URLs module aware
1 parent 59ac3ad commit 13dd2e2

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/Resources.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ public static ResourceStorageEntry get(String moduleName, String resourceName) {
159159
return singleton().resources.get(Pair.create(moduleName, resourceName));
160160
}
161161

162-
private static URL createURL(String resourceName, int index) {
162+
private static URL createURL(String moduleName, String resourceName, int index) {
163163
try {
164-
return new URL(JavaNetSubstitutions.RESOURCE_PROTOCOL, null, -1, resourceName,
164+
return new URL(JavaNetSubstitutions.RESOURCE_PROTOCOL, moduleName, -1, resourceName,
165165
new URLStreamHandler() {
166166
@Override
167167
protected URLConnection openConnection(URL url) {
@@ -222,7 +222,7 @@ public static Enumeration<URL> createURLs(String moduleName, String resourceName
222222
int numberOfResources = entry.getData().size();
223223
List<URL> resourcesURLs = new ArrayList<>(numberOfResources);
224224
for (int index = 0; index < numberOfResources; index++) {
225-
resourcesURLs.add(createURL(canonicalResourceName, index));
225+
resourcesURLs.add(createURL(moduleName, canonicalResourceName, index));
226226
}
227227
return Collections.enumeration(resourcesURLs);
228228
}

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/resources/ResourceURLConnection.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ public void connect() {
6363
connected = true;
6464

6565
String resourceName = resolveName(url.getPath());
66-
ResourceStorageEntry entry = Resources.get(Resources.toCanonicalForm(resourceName));
66+
String hostName = url.getHost();
67+
String hostNameOrNull = hostName != null && !hostName.isEmpty() ? hostName : null;
68+
ResourceStorageEntry entry = Resources.get(hostNameOrNull, Resources.toCanonicalForm(resourceName));
6769
if (entry != null) {
6870
List<byte[]> bytes = entry.getData();
6971
if (index < bytes.size()) {

0 commit comments

Comments
 (0)