]> source.dussan.org Git - pf4j.git/commitdiff
Possible fix for #156
authorDecebal Suiu <decebal.suiu@gmail.com>
Fri, 28 Jul 2017 20:07:27 +0000 (23:07 +0300)
committerDecebal Suiu <decebal.suiu@gmail.com>
Fri, 28 Jul 2017 20:07:27 +0000 (23:07 +0300)
pf4j/src/main/java/ro/fortsoft/pf4j/DefaultExtensionFinder.java
pf4j/src/main/java/ro/fortsoft/pf4j/LegacyExtensionFinder.java
pf4j/src/main/java/ro/fortsoft/pf4j/ServiceProviderExtensionFinder.java

index 952f6d4e72935e0cf200ebc781116baf0e018175..4f5f3bbbb5dd91ce0552a429e2de7887e799b210 100644 (file)
@@ -21,8 +21,8 @@ import java.util.List;
 import java.util.Set;
 
 /**
- * The default implementation for ExtensionFinder.
- * It's a compound ExtensionFinder.
+ * The default implementation for {@link ExtensionFinder}.
+ * It's a compound {@code ExtensionFinder}.
  *
  * @author Decebal Suiu
  */
index ff5379c85ea0a425f42408d64a81dce18cd524f4..6814fa38697a023522911d25744a9dd9e39d4755 100644 (file)
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
 import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -31,8 +32,8 @@ import java.util.Map;
 import java.util.Set;
 
 /**
- * All extensions declared in a plugin are indexed in a file "META-INF/extensions.idx".
- * This class lookup extensions in all extensions index files "META-INF/extensions.idx".
+ * All extensions declared in a plugin are indexed in a file {@code META-INF/extensions.idx}.
+ * This class lookup extensions in all extensions index files {@code META-INF/extensions.idx}.
  *
  * @author Decebal Suiu
  */
@@ -55,8 +56,9 @@ public class LegacyExtensionFinder extends AbstractExtensionFinder {
             while (urls.hasMoreElements()) {
                 URL url = urls.nextElement();
                 log.debug("Read '{}'", url.getFile());
-                Reader reader = new InputStreamReader(url.openStream(), "UTF-8");
-                LegacyExtensionStorage.read(reader, bucket);
+                try (Reader reader = new InputStreamReader(url.openStream(), StandardCharsets.UTF_8)) {
+                    LegacyExtensionStorage.read(reader, bucket);
+                }
             }
 
             debugExtensions(bucket);
@@ -84,8 +86,9 @@ public class LegacyExtensionFinder extends AbstractExtensionFinder {
                 URL url = ((PluginClassLoader) plugin.getPluginClassLoader()).findResource(getExtensionsResource());
                 if (url != null) {
                     log.debug("Read '{}'", url.getFile());
-                    Reader reader = new InputStreamReader(url.openStream(), "UTF-8");
-                    LegacyExtensionStorage.read(reader, bucket);
+                    try (Reader reader = new InputStreamReader(url.openStream(), StandardCharsets.UTF_8)) {
+                        LegacyExtensionStorage.read(reader, bucket);
+                    }
                 } else {
                     log.debug("Cannot find '{}'", getExtensionsResource());
                 }
index fae6b08ac6ba300334287826bd947c8a32dd6f11..49125079af696fe486da4854d9a8d2524c871958 100644 (file)
@@ -41,8 +41,8 @@ import java.util.Map;
 import java.util.Set;
 
 /**
- * The ServiceLoader base implementation for ExtensionFinder.
- * This class lookup extensions in all extensions index files "META-INF/services".
+ * The {@link java.util.ServiceLoader} base implementation for {@link ExtensionFinder}.
+ * This class lookup extensions in all extensions index files {@code META-INF/services}.
  *
  * @author Decebal Suiu
  */
@@ -133,8 +133,10 @@ public class ServiceProviderExtensionFinder extends AbstractExtensionFinder {
             @Override
             public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                 log.debug("Read '{}'", file);
-                Reader reader = Files.newBufferedReader(file, StandardCharsets.UTF_8);
-                ServiceProviderExtensionStorage.read(reader, result);
+                try (Reader reader = Files.newBufferedReader(file, StandardCharsets.UTF_8)) {
+                    ServiceProviderExtensionStorage.read(reader, result);
+                }
+
                 return FileVisitResult.CONTINUE;
             }