[java-shib-metadata] 01/02: JSMD-12 - Schema filter Spring parser still hardcoding bean ID
Scott Cantor
cantor.2 at osu.edu
Wed Oct 23 16:49:30 UTC 2024
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-metadata.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-metadata.git;a=commit;h=9a345adfeb071d652e6b7bcc40cb6dc51a159dde
commit 9a345adfeb071d652e6b7bcc40cb6dc51a159dde
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Oct 23 12:48:48 2024 -0400
JSMD-12 - Schema filter Spring parser still hardcoding bean ID
https://shibboleth.atlassian.net/browse/JSMD-12
---
.../spring/metadata/filter/SchemaValidationParser.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/SchemaValidationParser.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/SchemaValidationParser.java
index 981961ac..01b11252 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/SchemaValidationParser.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/SchemaValidationParser.java
@@ -15,14 +15,17 @@
package net.shibboleth.spring.metadata.filter;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import org.opensaml.saml.metadata.resolver.filter.impl.SchemaValidationFilter;
+import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
import net.shibboleth.shared.xml.AttributeSupport;
+import net.shibboleth.shared.xml.SchemaBuilder;
import net.shibboleth.spring.metadata.AbstractMetadataProviderParser;
/**
@@ -34,6 +37,16 @@ public class SchemaValidationParser extends AbstractMetadataFilterParser {
@Nonnull public static final QName TYPE_NAME =
new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "SchemaValidation");
+ /** Bean ID for defaulted {@link SchemaBuilder} instance. */
+ @Nullable private final String schemaBuilderRef;
+
+ /** Constructor. */
+ public SchemaValidationParser() {
+ // Will fail later if not set.
+ schemaBuilderRef =
+ getCustomProperty(SchemaValidationParser.class.getName() + ".SchemaBuilder.bean", null);
+ }
+
/** {@inheritDoc} */
@Override
@Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
@@ -48,8 +61,10 @@ public class SchemaValidationParser extends AbstractMetadataFilterParser {
if (element.hasAttributeNS(null, "schemaBuilderRef")) {
builder.addConstructorArgReference(
AttributeSupport.ensureAttributeValue(element, null, "schemaBuilderRef"));
+ } else if (schemaBuilderRef != null) {
+ builder.addConstructorArgReference(schemaBuilderRef);
} else {
- builder.addConstructorArgReference("shibboleth.SchemaBuilder");
+ throw new BeanCreationException("Default SchemaBuilder bean ID not available.");
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list