[java-shib-metadata] branch main updated: IDP-1972 - Revisit deferred classnames for solving layering conflicts
Scott Cantor
cantor.2 at osu.edu
Thu Aug 3 14:39:03 UTC 2023
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=3146ec55d6a524150ffc323817165c337478c99a
The following commit(s) were added to refs/heads/main by this push:
new 3146ec55 IDP-1972 - Revisit deferred classnames for solving layering conflicts
3146ec55 is described below
commit 3146ec55d6a524150ffc323817165c337478c99a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Aug 3 10:38:59 2023 -0400
IDP-1972 - Revisit deferred classnames for solving layering conflicts
https://shibboleth.atlassian.net/browse/IDP-1972
Eliminate hardcoded class name in favor of property lookup.
---
.../spring/metadata/filter/PredicateFilterParser.java | 14 +++++++-------
shib-metadata-spring/src/test/resources/logback-test.xml | 3 +--
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/PredicateFilterParser.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/PredicateFilterParser.java
index 1bdd3bdb..d4443020 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/PredicateFilterParser.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/filter/PredicateFilterParser.java
@@ -34,7 +34,6 @@ import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.logic.ScriptedPredicate;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -54,10 +53,6 @@ public class PredicateFilterParser extends AbstractMetadataFilterParser {
@Nonnull public static final QName TYPE_NAME =
new QName(AbstractMetadataProviderParser.METADATA_NAMESPACE, "Predicate");
- /** Name of class to attempt to instantiate to handle mapped attribute predicate. */
- @Nonnull @NotEmpty private static final String MAPPED_PREDICATE_CLASS =
- "net.shibboleth.saml.profile.context.logic.MappedEntityAttributesPredicate";
-
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(PredicateFilterParser.class);
@@ -68,7 +63,11 @@ public class PredicateFilterParser extends AbstractMetadataFilterParser {
@SuppressWarnings("unchecked")
public PredicateFilterParser() {
try {
- mappedPredicateClass = (Class<? extends Predicate<?>>) Class.forName(MAPPED_PREDICATE_CLASS);
+ final String className = getCustomProperty(getClass().getName() + ".MappedPredicate.class", null);
+ if (className != null) {
+ mappedPredicateClass = (Class<? extends Predicate<?>>) Class.forName(className);
+ log.debug("Using class for mapped tag predicate: {}", className);
+ }
} catch (final ClassNotFoundException e) {
// Will warn later any time we encounter a relevant setting.
}
@@ -276,7 +275,7 @@ public class PredicateFilterParser extends AbstractMetadataFilterParser {
if (!tagList.isEmpty()) {
if (mappedPredicateClass == null) {
- log.warn("Ignoring MappedTag element(s) due to class instantiation failure at startup");
+ log.warn("Ignoring MappedTag element(s), no predicate class configured");
return null;
}
@@ -324,6 +323,7 @@ public class PredicateFilterParser extends AbstractMetadataFilterParser {
BeanDefinitionBuilder.rootBeanDefinition(PredicateSupport.class, "or");
final ManagedList<BeanDefinition> managedList = new ManagedList<>(scriptList.size());
for (final Element e : scriptList) {
+ assert e != null;
managedList.add(ScriptTypeBeanParser.parseScriptType(ScriptedPredicate.class, e).getBeanDefinition());
}
orBuilder.addConstructorArgValue(managedList);
diff --git a/shib-metadata-spring/src/test/resources/logback-test.xml b/shib-metadata-spring/src/test/resources/logback-test.xml
index e23dbbb3..73b61ccd 100644
--- a/shib-metadata-spring/src/test/resources/logback-test.xml
+++ b/shib-metadata-spring/src/test/resources/logback-test.xml
@@ -2,8 +2,7 @@
<configuration>
- <logger name="net.shibboleth.shared.spring.resource" level="DEBUG"/>
- <logger name="net.shibboleth.idp.profile.spring" level="DEBUG"/>
+ <logger name="net.shibboleth.shared.spring" level="DEBUG"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list