[spring-extensions] branch master updated: Filter but log non-existent service configuration resources.

Scott Cantor cantor.2 at osu.edu
Tue Jul 28 23:32:18 UTC 2020


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository spring-extensions.

View the commit online:
http://git.shibboleth.net/view/?p=spring-extensions.git;a=commit;h=875e92b4208c413e32b85d20a4efe6e767eafd64

The following commit(s) were added to refs/heads/master by this push:
       new  875e92b   Filter but log non-existent service configuration resources.
875e92b is described below

commit 875e92b4208c413e32b85d20a4efe6e767eafd64
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jul 28 19:33:12 2020 -0400

    Filter but log non-existent service configuration resources.
---
 .../ext/spring/util/ApplicationContextBuilder.java  | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java b/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
index f4f25b2..0f82236 100644
--- a/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
+++ b/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -67,7 +68,7 @@ public class ApplicationContextBuilder {
     @Nullable @NotEmpty private String contextName;
     
     /** Configuration resources for this service. */
-    @Nullable @NonnullElements private Collection<Resource> configurationResources;
+    @Nullable @NonnullElements private List<Resource> configurationResources;
 
     /** Conversion service to use. */
     @Nullable private ConversionService conversionService;
@@ -283,6 +284,7 @@ public class ApplicationContextBuilder {
         return this;
     }
     
+// Checkstyle: CyclomaticComplexity OFF
     /**
      * Build a {@link GenericApplicationContext} context.
      * 
@@ -332,8 +334,19 @@ public class ApplicationContextBuilder {
         final SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
                 new SchemaTypeAwareXMLBeanDefinitionReader(context);
 
-        if (configurationResources != null) {
-            beanDefinitionReader.loadBeanDefinitions(configurationResources.toArray(new Resource[] {}));
+        if (configurationResources != null && !configurationResources.isEmpty()) {
+            final List<Resource> filtered = configurationResources.stream()
+                .filter(r -> {
+                    if (r.exists()) {
+                        return true;
+                    }
+                    log.warn("Skipping non-existent resource: {}", r);
+                    return false;
+                })
+                .collect(Collectors.toUnmodifiableList());
+            if (!filtered.isEmpty()) {
+                beanDefinitionReader.loadBeanDefinitions(filtered.toArray(new Resource[] {}));
+            }
         }
 
         if (contextInitializers != null) {
@@ -343,5 +356,5 @@ public class ApplicationContextBuilder {
         context.refresh();
         return context;
     }
-    
+// Checkstyle: CyclomaticComplexity ON    
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list