From 3e287729c549b68656952c1cad53392df51e9ef9 Mon Sep 17 00:00:00 2001 From: Decebal Suiu Date: Mon, 24 Jun 2024 19:20:26 +0300 Subject: Add more tests --- .../main/java/org/pf4j/ServiceProviderExtensionFinder.java | 14 +++++++++++--- pf4j/src/main/java/org/pf4j/asm/ExtensionInfo.java | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'pf4j/src/main/java') diff --git a/pf4j/src/main/java/org/pf4j/ServiceProviderExtensionFinder.java b/pf4j/src/main/java/org/pf4j/ServiceProviderExtensionFinder.java index b477192..b28c576 100644 --- a/pf4j/src/main/java/org/pf4j/ServiceProviderExtensionFinder.java +++ b/pf4j/src/main/java/org/pf4j/ServiceProviderExtensionFinder.java @@ -64,7 +64,7 @@ public class ServiceProviderExtensionFinder extends AbstractExtensionFinder { final Set bucket = new HashSet<>(); try { - Enumeration urls = getClass().getClassLoader().getResources(EXTENSIONS_RESOURCE); + Enumeration urls = getExtensionResource(getClass().getClassLoader()); if (urls.hasMoreElements()) { collectExtensions(urls, bucket); } else { @@ -88,12 +88,12 @@ public class ServiceProviderExtensionFinder extends AbstractExtensionFinder { List plugins = pluginManager.getPlugins(); for (PluginWrapper plugin : plugins) { - String pluginId = plugin.getDescriptor().getPluginId(); + String pluginId = plugin.getPluginId(); log.debug("Reading extensions storages for plugin '{}'", pluginId); final Set bucket = new HashSet<>(); try { - Enumeration urls = ((PluginClassLoader) plugin.getPluginClassLoader()).findResources(EXTENSIONS_RESOURCE); + Enumeration urls = findExtensionResource((PluginClassLoader) plugin.getPluginClassLoader()); if (urls.hasMoreElements()) { collectExtensions(urls, bucket); } else { @@ -111,6 +111,14 @@ public class ServiceProviderExtensionFinder extends AbstractExtensionFinder { return result; } + Enumeration getExtensionResource(ClassLoader classLoader) throws IOException { + return classLoader.getResources(EXTENSIONS_RESOURCE); + } + + Enumeration findExtensionResource(PluginClassLoader classLoader) throws IOException { + return classLoader.findResources(EXTENSIONS_RESOURCE); + } + private void collectExtensions(Enumeration urls, Set bucket) throws URISyntaxException, IOException { while (urls.hasMoreElements()) { URL url = urls.nextElement(); diff --git a/pf4j/src/main/java/org/pf4j/asm/ExtensionInfo.java b/pf4j/src/main/java/org/pf4j/asm/ExtensionInfo.java index d0acee1..02cdce8 100644 --- a/pf4j/src/main/java/org/pf4j/asm/ExtensionInfo.java +++ b/pf4j/src/main/java/org/pf4j/asm/ExtensionInfo.java @@ -43,7 +43,7 @@ public final class ExtensionInfo { List plugins = new ArrayList<>(); List points = new ArrayList<>(); - private ExtensionInfo(String className) { + ExtensionInfo(String className) { this.className = className; } -- cgit v1.2.3