[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