[java-identity-provider] branch main updated: IDP-2372 - Upgrade to latest SNAPSHOT on legacy system cannot find bean
Scott Cantor
cantor.2 at osu.edu
Mon Mar 31 14:47:01 UTC 2025
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=bfa9945b4ea6cdd021adca8a2c2511eea5f4ae6b
The following commit(s) were added to refs/heads/main by this push:
new bfa9945b4 IDP-2372 - Upgrade to latest SNAPSHOT on legacy system cannot find bean
bfa9945b4 is described below
commit bfa9945b4ea6cdd021adca8a2c2511eea5f4ae6b
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Mar 31 10:46:31 2025 -0400
IDP-2372 - Upgrade to latest SNAPSHOT on legacy system cannot find bean
https://shibboleth.atlassian.net/browse/IDP-2372
Relax injection of collections to @Nullable.
Change Spring wiring to allow for absent collections.
---
.../net/shibboleth/idp/conf/subject-c14n-system.xml | 12 ++++++------
.../nameid/NameIDCanonicalizationFlowDescriptor.java | 7 +++----
.../idp/saml/nameid/impl/BaseTransformingDecoder.java | 17 ++++++++++-------
3 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/subject-c14n-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/subject-c14n-system.xml
index 26c2a7129..710feb66b 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/subject-c14n-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/subject-c14n-system.xml
@@ -138,33 +138,33 @@
class="net.shibboleth.idp.saml.nameid.impl.TransformingNameIDDecoder"
p:lowercase="%{idp.c14n.saml.lowercase:false}"
p:uppercase="%{idp.c14n.saml.uppercase:false}"
- p:transforms-ref="shibboleth.NameTransforms" />
+ p:transforms="#{getObject('shibboleth.NameTransforms')}" />
<bean id="c14n/SAML2Transform" class="net.shibboleth.idp.saml.nameid.impl.NameIDCanonicalization"
p:activationCondition-ref="shibboleth.NameTransformPredicate"
- p:formats-ref="shibboleth.NameTransformFormats"
+ p:formats="#{getObject('shibboleth.NameTransformFormats')}"
p:decoder="#{getObject('shibboleth.SAML2Transform.NameIDDecoder') ?: getObject('TransformingNameIDDecoder')}" />
<bean id="ProxyTransformingNameIDDecoder" lazy-init="true"
class="net.shibboleth.idp.saml.nameid.impl.TransformingNameIDDecoder"
p:lowercase="%{idp.c14n.saml.proxy.lowercase:false}"
p:uppercase="%{idp.c14n.saml.proxy.uppercase:false}"
- p:transforms-ref="shibboleth.ProxyNameTransforms" />
+ p:transforms="#{getObject('shibboleth.ProxyNameTransforms')}" />
<bean id="c14n/SAML2ProxyTransform" class="net.shibboleth.idp.saml.nameid.impl.NameIDCanonicalization"
p:activationCondition-ref="shibboleth.ProxyNameTransformPredicate"
- p:formats-ref="shibboleth.ProxyNameTransformFormats"
+ p:formats="#{getObject('shibboleth.ProxyNameTransformFormats')}"
p:decoder="#{getObject('shibboleth.SAML2ProxyTransform.NameIDDecoder') ?: getObject('ProxyTransformingNameIDDecoder')}" />
<bean id="TransformingNameIdentifierDecoder" lazy-init="true"
class="net.shibboleth.idp.saml.nameid.impl.TransformingNameIdentifierDecoder"
p:lowercase="%{idp.c14n.saml.lowercase:false}"
p:uppercase="%{idp.c14n.saml.uppercase:false}"
- p:transforms-ref="shibboleth.NameTransforms" />
+ p:transforms="#{getObject('shibboleth.NameTransforms')}" />
<bean id="c14n/SAML1Transform" class="net.shibboleth.idp.saml.nameid.impl.NameIdentifierCanonicalization"
p:activationCondition-ref="shibboleth.NameTransformPredicate"
- p:formats-ref="shibboleth.NameTransformFormats"
+ p:formats="#{getObject('shibboleth.NameTransformFormats')}"
p:decoder="#{getObject('shibboleth.SAML1Transform.NameIdentifierDecoder') ?: getObject('TransformingNameIdentifierDecoder')}" />
</beans>
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/nameid/NameIDCanonicalizationFlowDescriptor.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/nameid/NameIDCanonicalizationFlowDescriptor.java
index 5a14e3b30..c6feb1158 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/nameid/NameIDCanonicalizationFlowDescriptor.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/nameid/NameIDCanonicalizationFlowDescriptor.java
@@ -18,12 +18,12 @@ import java.util.Collection;
import java.util.Set;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.StringSupport;
/**
@@ -55,9 +55,8 @@ public class NameIDCanonicalizationFlowDescriptor extends SubjectCanonicalizatio
*
* @param theFormats The formats to set.
*/
- public void setFormats(@Nonnull final Collection<String> theFormats) {
- formats = CollectionSupport.copyToSet(StringSupport.normalizeStringCollection(
- Constraint.isNotNull(theFormats, "Format collection cannot be null")));
+ public void setFormats(@Nullable final Collection<String> theFormats) {
+ formats = CollectionSupport.copyToSet(StringSupport.normalizeStringCollection(theFormats));
}
}
\ No newline at end of file
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
index bbd1b6cc4..b55234dbe 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/BaseTransformingDecoder.java
@@ -82,15 +82,18 @@ public abstract class BaseTransformingDecoder extends AbstractIdentifiableInitia
*
* @param newTransforms collection of replacement transforms
*/
- public void setTransforms(@Nonnull final Collection<Pair<String,String>> newTransforms) {
+ public void setTransforms(@Nullable final Collection<Pair<String,String>> newTransforms) {
checkSetterPreconditions();
- Constraint.isNotNull(newTransforms, "Transforms collection cannot be null");
- transforms = new ArrayList<>();
- for (final Pair<String,String> p : newTransforms) {
- final Pattern pattern = Pattern.compile(StringSupport.trimOrNull(p.getFirst()));
- transforms.add(new Pair<>(pattern, Constraint.isNotNull(
- StringSupport.trimOrNull(p.getSecond()), "Replacement expression cannot be null")));
+ if (newTransforms == null) {
+ transforms = CollectionSupport.emptyList();
+ } else {
+ transforms = new ArrayList<>();
+ for (final Pair<String,String> p : newTransforms) {
+ final Pattern pattern = Pattern.compile(StringSupport.trimOrNull(p.getFirst()));
+ transforms.add(new Pair<>(pattern, Constraint.isNotNull(
+ StringSupport.trimOrNull(p.getSecond()), "Replacement expression cannot be null")));
+ }
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list