[java-shib-attribute] 02/02: IDP-1972 - Revisit deferred classnames for solving layering conflicts
Scott Cantor
cantor.2 at osu.edu
Tue Aug 8 20:07:56 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-attribute.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=71bb0adf02e8f3d2c1cb9829eaa9cd2eabbcc221
commit 71bb0adf02e8f3d2c1cb9829eaa9cd2eabbcc221
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Aug 8 16:07:51 2023 -0400
IDP-1972 - Revisit deferred classnames for solving layering conflicts
https://shibboleth.atlassian.net/browse/IDP-1972
Switch to a property for HTTP request supplier bean ID.
---
.../dc/impl/ComputedIdDataConnectorParser.java | 24 ++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParser.java
index 79e467c75..63d99325c 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIdDataConnectorParser.java
@@ -15,6 +15,7 @@
package net.shibboleth.idp.attribute.resolver.spring.dc.impl;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import org.slf4j.Logger;
@@ -25,7 +26,6 @@ import org.w3c.dom.Element;
import net.shibboleth.idp.attribute.impl.ComputedPairwiseIdStore;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.xml.AttributeSupport;
@@ -37,12 +37,17 @@ public class ComputedIdDataConnectorParser extends PairwiseIdDataConnectorParser
/** Schema type - resolver. */
@Nonnull public static final QName TYPE_NAME = new QName(AttributeResolverNamespaceHandler.NAMESPACE,
"ComputedId");
-
- /** ID of system bean used to access servlet request. */
- @Nonnull @NotEmpty public static final String SERVLET_SUPPLIER_ID = "shibboleth.HttpServletRequestSupplier";
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(ComputedIdDataConnectorParser.class);
+
+ /** ID of system bean used to access servlet request. */
+ @Nullable private final String servletRequestSupplier;
+
+ /** Constructor. */
+ public ComputedIdDataConnectorParser() {
+ servletRequestSupplier = getCustomProperty(getClass().getName() + ".HttpServletRequestSupplier.bean", null);
+ }
/** {@inheritDoc} */
@Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@@ -52,6 +57,7 @@ public class ComputedIdDataConnectorParser extends PairwiseIdDataConnectorParser
builder.addPropertyValue("pairwiseIdStore", doComputedPairwiseIdStore(config, parserContext));
}
+// Checkstyle: CyclomaticComplexity OFF
/**
* Parse the config and define a bean for a {@link ComputedPairwiseIdStore}.
*
@@ -83,7 +89,13 @@ public class ComputedIdDataConnectorParser extends PairwiseIdDataConnectorParser
if (config.hasAttributeNS(null, "saltLookupStrategyRef")) {
builder.addPropertyReference("saltLookupStrategy",
AttributeSupport.ensureAttributeValue(config, null, "saltLookupStrategyRef"));
- builder.addPropertyReference("httpServletRequestSupplier", SERVLET_SUPPLIER_ID);
+ if (servletRequestSupplier != null) {
+ log.debug("Using bean ID '{}' as servlet request supplier", servletRequestSupplier);
+ assert servletRequestSupplier != null;
+ builder.addPropertyReference("httpServletRequestSupplier", servletRequestSupplier);
+ } else {
+ log.warn("No HttpServletRequest supplier available to inject into connector for salt lookup strategy");
+ }
}
final String salt;
@@ -116,5 +128,5 @@ public class ComputedIdDataConnectorParser extends PairwiseIdDataConnectorParser
return builder.getBeanDefinition();
}
-
+// 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