[spring-extensions] branch maint-5 updated: Default support for ConditionalResource resolution in Spring contexts.

Scott Cantor cantor.2 at osu.edu
Tue Dec 19 21:22:13 EST 2017


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

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

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

The following commit(s) were added to refs/heads/maint-5 by this push:
       new  e997e04   Default support for ConditionalResource resolution in Spring contexts.
e997e04 is described below

commit e997e044edaabe980585f47f7e665ba19effef21
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Dec 19 21:22:09 2017 -0500

    Default support for ConditionalResource resolution in Spring contexts.
---
 .../spring/context/FileSystemXmlWebApplicationContext.java    | 11 +++++++++--
 .../spring/context/FilesystemGenericApplicationContext.java   |  5 +++--
 .../shibboleth/ext/spring/resource/ConditionalResource.java   |  2 ++
 .../ext/spring/resource/ConditionalResourceResolver.java      |  2 ++
 .../shibboleth/ext/spring/util/ApplicationContextBuilder.java |  1 -
 5 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/main/java/net/shibboleth/ext/spring/context/FileSystemXmlWebApplicationContext.java b/src/main/java/net/shibboleth/ext/spring/context/FileSystemXmlWebApplicationContext.java
index 597571f..fb6de2a 100644
--- a/src/main/java/net/shibboleth/ext/spring/context/FileSystemXmlWebApplicationContext.java
+++ b/src/main/java/net/shibboleth/ext/spring/context/FileSystemXmlWebApplicationContext.java
@@ -26,16 +26,22 @@ import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.ResourcePatternResolver;
 import org.springframework.web.context.support.XmlWebApplicationContext;
 
+import net.shibboleth.ext.spring.resource.ConditionalResourceResolver;
 import net.shibboleth.ext.spring.util.AnnotationParameterNameDiscoverer;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
  * An extension of {@link XmlWebApplicationContext} that (1) is biased in favor of the filesystem such that bare
  * resource paths are assumed to be files rather than classpath resources and (2) supports loading "classpath*:"
- * resources.
+ * and "conditional:" resources.
  */
 public class FileSystemXmlWebApplicationContext extends XmlWebApplicationContext {
 
+    /** Constructor. */
+    public FileSystemXmlWebApplicationContext() {
+        addProtocolResolver(new ConditionalResourceResolver());
+    }
+    
     /**
      * {@inheritDoc}
      * 
@@ -75,4 +81,5 @@ public class FileSystemXmlWebApplicationContext extends XmlWebApplicationContext
         result.setParameterNameDiscoverer(new AnnotationParameterNameDiscoverer());
         return result;
     }
-}
+    
+}
\ No newline at end of file
diff --git a/src/main/java/net/shibboleth/ext/spring/context/FilesystemGenericApplicationContext.java b/src/main/java/net/shibboleth/ext/spring/context/FilesystemGenericApplicationContext.java
index 5594dca..5f4dcb8 100644
--- a/src/main/java/net/shibboleth/ext/spring/context/FilesystemGenericApplicationContext.java
+++ b/src/main/java/net/shibboleth/ext/spring/context/FilesystemGenericApplicationContext.java
@@ -17,6 +17,7 @@
 
 package net.shibboleth.ext.spring.context;
 
+import net.shibboleth.ext.spring.resource.ConditionalResourceResolver;
 import net.shibboleth.ext.spring.util.AnnotationParameterNameDiscoverer;
 
 import org.springframework.beans.factory.support.DefaultListableBeanFactory;
@@ -27,14 +28,14 @@ import org.springframework.core.io.Resource;
 
 /**
  * An extension of {@link GenericApplicationContext} that is biased in favor of the filesystem such that bare resource
- * paths are assumed to be files rather than classpath resources.
+ * paths are assumed to be files rather than classpath resources, and supports conditional resources.
  */
 public class FilesystemGenericApplicationContext extends GenericApplicationContext {
 
     /** Constructor. */
     public FilesystemGenericApplicationContext() {
-        super();
         getDefaultListableBeanFactory().setParameterNameDiscoverer(new AnnotationParameterNameDiscoverer());
+        addProtocolResolver(new ConditionalResourceResolver());
     }
 
     /**
diff --git a/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResource.java b/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResource.java
index 2c9e571..371b037 100644
--- a/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResource.java
+++ b/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResource.java
@@ -39,6 +39,8 @@ import net.shibboleth.utilities.java.support.logic.Constraint;
 
 /**
  * A wrapper that guards a {@link Resource} that may be absent by returning an empty bean file instead.
+ * 
+ * @since 5.4.0
  */
 public class ConditionalResource extends AbstractIdentifiedInitializableComponent
         implements Resource, BeanNameAware, net.shibboleth.utilities.java.support.resource.Resource {
diff --git a/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResourceResolver.java b/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResourceResolver.java
index a31059d..4eb5d28 100644
--- a/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResourceResolver.java
+++ b/src/main/java/net/shibboleth/ext/spring/resource/ConditionalResourceResolver.java
@@ -29,6 +29,8 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
 /**
  * Supports a "conditional:resourcepath" URL syntax for wrapping a Spring resource with a
  * {@link ConditionalResource}.
+ * 
+ * @since 5.4.0
  */
 public class ConditionalResourceResolver implements ProtocolResolver {
 
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 825f1e2..43e92a5 100644
--- a/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
+++ b/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
@@ -275,7 +275,6 @@ public class ApplicationContextBuilder {
         context.setDisplayName("ApplicationContext:" + contextName != null ? contextName : "anonymous");
         
         context.setResourceLoader(new PreferFileSystemResourceLoader());
-        context.addProtocolResolver(new ConditionalResourceResolver());
         
         if (conversionService != null) {
             context.getBeanFactory().setConversionService(conversionService);

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


More information about the commits mailing list