You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2021/03/16 07:22:21 UTC

[pdfbox-jbig2] branch master updated: PDFBOX-4671: prefer a provided classloader to lookup classes

This is an automated email from the ASF dual-hosted git repository.

lehmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pdfbox-jbig2.git


The following commit(s) were added to refs/heads/master by this push:
     new dfa963e  PDFBOX-4671: prefer a provided classloader to lookup classes
dfa963e is described below

commit dfa963e0e62d54bd0d891031117010ede970b51d
Author: Andreas Lehmkühler <an...@lehmi.de>
AuthorDate: Tue Mar 16 08:22:05 2021 +0100

    PDFBOX-4671: prefer a provided classloader to lookup classes
---
 .../java/org/apache/pdfbox/jbig2/util/ServiceLookup.java  | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/apache/pdfbox/jbig2/util/ServiceLookup.java b/src/main/java/org/apache/pdfbox/jbig2/util/ServiceLookup.java
index 35852fa..5a8b4f9 100644
--- a/src/main/java/org/apache/pdfbox/jbig2/util/ServiceLookup.java
+++ b/src/main/java/org/apache/pdfbox/jbig2/util/ServiceLookup.java
@@ -30,18 +30,19 @@ public class ServiceLookup<B>
 
     public Iterator<B> getServices(Class<B> cls, ClassLoader clsLoader)
     {
-        Iterator<B> services = ServiceLoader.load(cls).iterator();
-
-        if (!services.hasNext())
+        Iterator<B> services = null;
+        if (clsLoader != null)
+        {
+            services = ServiceLoader.load(cls, clsLoader).iterator();
+        }
+        if (services == null || !services.hasNext())
         {
             services = ServiceLoader.load(cls, cls.getClass().getClassLoader()).iterator();
         }
-
-        if (!services.hasNext() && clsLoader != null)
+        if (services == null || !services.hasNext())
         {
-            services = ServiceLoader.load(cls, clsLoader).iterator();
+            services = ServiceLoader.load(cls).iterator();
         }
-
         return services;
     }