[java-identity-provider] branch main updated: JSPROF-1 - Move RelyingParty "layer" into java-shib-profile
Scott Cantor
cantor.2 at osu.edu
Tue Feb 14 19:22:29 UTC 2023
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=c82160fa7d17c8e0ec579910589cf064d2e8c922
The following commit(s) were added to refs/heads/main by this push:
new c82160fa7 JSPROF-1 - Move RelyingParty "layer" into java-shib-profile
c82160fa7 is described below
commit c82160fa7d17c8e0ec579910589cf064d2e8c922
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Feb 14 14:22:26 2023 -0500
JSPROF-1 - Move RelyingParty "layer" into java-shib-profile
https://shibboleth.atlassian.net/browse/JSPROF-1
Migrate down subset of relying party lookup functions and base classes.
---
.../idp/authn/AbstractValidationAction.java | 2 +-
.../AuthenticationFlowsLookupFunction.java | 2 +-
.../PostAuthenticationFlowsLookupFunction.java | 2 +-
.../impl/FinalizeMultiFactorAuthentication.java | 2 +-
.../RelyingPartyMapJAASLoginConfigStrategy.java | 2 +-
.../impl/AttributeRevocationCondition.java | 2 +-
.../net/shibboleth/idp/conf/conditions.xml | 2 +-
.../net/shibboleth/idp/conf/functions.xml | 2 +-
.../net/shibboleth/idp/conf/security-system.xml | 10 +-
.../net/shibboleth/idp/conf/services-system.xml | 2 +-
.../idp/flows/admin/resolvertest-beans.xml | 4 +-
.../idp/flows/authn/saml-authn-beans.xml | 2 +-
.../flows/saml/logout/saml2-logoutprop-beans.xml | 2 +-
.../idp/flows/saml/saml1/common-beans.xml | 6 +-
.../flows/saml/saml2/artifact-resolution-beans.xml | 2 +-
.../idp/flows/saml/saml2/common-beans.xml | 6 +-
.../idp/flows/saml/saml2/slo-back-beans.xml | 2 +-
.../flows/saml/saml2/slo-front-abstract-beans.xml | 2 +-
.../logic/impl/MessageSourceConsentFunction.java | 2 +-
...ntTLSValidationConfigurationLookupFunction.java | 94 -----------------
.../DecryptionConfigurationLookupFunction.java | 95 ------------------
.../EncryptionConfigurationLookupFunction.java | 95 ------------------
...IdentifierGenerationStrategyLookupFunction.java | 100 -------------------
.../navigate/InboundFlowsLookupFunction.java | 2 +-
.../navigate/OutboundFlowsLookupFunction.java | 2 +-
...ignatureSigningConfigurationLookupFunction.java | 96 ------------------
...atureValidationConfigurationLookupFunction.java | 96 ------------------
.../AbstractRelyingPartyLookupFunction.java | 72 -------------
.../navigate/RelyingPartyIdLookupFunction.java | 46 ---------
.../navigate/ResponderIdLookupFunction.java | 1 +
.../idp/profile/logic/RelyingPartyIdPredicate.java | 111 ---------------------
.../profile/logic/RelyingPartyIdPredicateTest.java | 73 --------------
.../idp/profile/impl/FilterAttributes.java | 2 +-
.../idp/profile/impl/ResolveAttributes.java | 2 +-
.../impl/CriteriaSelfEntityIDResolver.java | 13 ++-
.../RelyingPartiesActivationConditionFactory.java | 67 -------------
...itionalAudiencesForAssertionLookupFunction.java | 2 +-
.../navigate/AssertionLifetimeLookupFunction.java | 2 +-
.../AudienceRestrictionsLookupFunction.java | 2 +-
.../QualifiedNameIDFormatsLookupFunction.java | 2 +-
.../navigate/SessionLifetimeLookupFunction.java | 2 +-
.../SAMLMetadataContextLookupFunction.java | 2 +-
.../MaximumTimeSinceAuthnLookupFunction.java | 2 +-
.../config/navigate/ProxyCountLookupFunction.java | 2 +-
.../navigate/ProxyRestrictionLookupFunction.java | 2 +-
.../idp/saml/audit/impl/WriteFTICKSLog.java | 2 +-
...tributeSourcedSAML1NameIdentifierGenerator.java | 2 +-
.../impl/AttributeSourcedSAML2NameIDGenerator.java | 2 +-
.../impl/PersistentSAML2NameIDGenerator.java | 2 +-
.../TransientSAML1NameIdentifierGenerator.java | 2 +-
.../nameid/impl/TransientSAML2NameIDGenerator.java | 2 +-
.../impl/BaseAddAttributeStatementToAssertion.java | 2 +-
.../BaseAddAuthenticationStatementToAssertion.java | 2 +-
.../profile/impl/ExtractSubjectFromRequest.java | 2 +-
.../impl/RelyingPartyConfigurationSupport.java | 2 +-
.../saml/saml2/profile/impl/AddAuthnRequest.java | 4 +-
.../saml2/profile/impl/ProcessLogoutRequest.java | 2 +-
.../idp/saml/session/impl/AddLogoutRequest.java | 3 +-
.../impl/ExtractSubjectFromRequestTest.java | 2 +-
.../idp/profile/spring/logic/DummyPredicate.java | 36 -------
.../spring/logic/RelyingPartyIdPredicateTest.java | 88 ----------------
.../spring/logic/relyingPartyIdPredicates.xml | 34 -------
62 files changed, 66 insertions(+), 1164 deletions(-)
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
index 32761e94e..e7dd2260d 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
@@ -50,8 +50,8 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.principal.PrincipalEvalPredicate;
import net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactory;
import net.shibboleth.idp.authn.principal.PrincipalSupportingComponent;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.NotLive;
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
index f07d556ba..b5e4625db 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/AuthenticationFlowsLookupFunction.java
@@ -23,9 +23,9 @@ import java.util.Collections;
import javax.annotation.Nullable;
import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
diff --git a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
index 576b0e4b4..6a32637b6 100644
--- a/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
+++ b/idp-authn-api/src/main/java/net/shibboleth/idp/authn/config/navigate/PostAuthenticationFlowsLookupFunction.java
@@ -23,9 +23,9 @@ import java.util.Collections;
import javax.annotation.Nullable;
import net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
index d9cd8100c..3db5587c9 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthentication.java
@@ -40,8 +40,8 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext;
import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategy.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategy.java
index 79855422d..1a91847f1 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategy.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategy.java
@@ -27,8 +27,8 @@ import javax.security.auth.Subject;
import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.shared.annotation.ParameterName;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
diff --git a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationCondition.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationCondition.java
index 87a961c17..d8f94ae9a 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationCondition.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationCondition.java
@@ -39,8 +39,8 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.resolver.AttributeResolver;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.authn.AuthenticationResult;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/conditions.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/conditions.xml
index 3a45c1f64..6fdb45296 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/conditions.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/conditions.xml
@@ -34,7 +34,7 @@
<bean id="shibboleth.Conditions.BrowserProfile"
class="org.opensaml.profile.logic.BrowserProfilePredicate" />
<bean id="shibboleth.Conditions.RelyingPartyId"
- class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" abstract="true" />
+ class="net.shibboleth.profile.logic.RelyingPartyIdPredicate" abstract="true" />
<bean id="shibboleth.Conditions.Scripted"
class="net.shibboleth.idp.profile.logic.ScriptedPredicate" abstract="true" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/functions.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/functions.xml
index b6db12bdf..2b785e90d 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/functions.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/functions.xml
@@ -183,7 +183,7 @@
class="net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction" />
<bean id="shibboleth.RelyingPartyIdLookup.Simple"
- class="net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction" />
+ class="net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction" />
<bean id="shibboleth.PrincipalNameLookup.Subject"
class="net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFunction" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
index d77cb8d79..a835ebdbb 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/security-system.xml
@@ -65,19 +65,19 @@
<!-- Lookup functions to locate security configurations on profile beans. -->
<bean id="shibboleth.SignatureValidationConfigurationLookup" lazy-init="true"
- class="net.shibboleth.idp.profile.config.navigate.SignatureValidationConfigurationLookupFunction"
+ class="net.shibboleth.profile.config.navigate.SignatureValidationConfigurationLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
<bean id="shibboleth.SignatureSigningConfigurationLookup" lazy-init="true"
- class="net.shibboleth.idp.profile.config.navigate.SignatureSigningConfigurationLookupFunction"
+ class="net.shibboleth.profile.config.navigate.SignatureSigningConfigurationLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
<bean id="shibboleth.DecryptionConfigurationLookup" lazy-init="true"
- class="net.shibboleth.idp.profile.config.navigate.DecryptionConfigurationLookupFunction"
+ class="net.shibboleth.profile.config.navigate.DecryptionConfigurationLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
<bean id="shibboleth.EncryptionConfigurationLookup" lazy-init="true"
- class="net.shibboleth.idp.profile.config.navigate.EncryptionConfigurationLookupFunction"
+ class="net.shibboleth.profile.config.navigate.EncryptionConfigurationLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
<bean id="shibboleth.ClientTLSValidationConfigurationLookup" lazy-init="true"
- class="net.shibboleth.idp.profile.config.navigate.ClientTLSValidationConfigurationLookupFunction"
+ class="net.shibboleth.profile.config.navigate.ClientTLSValidationConfigurationLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
<!-- Beans that implement the mashing of security configurations into final parameter sets. -->
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
index d60719365..2d8ba96be 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/services-system.xml
@@ -91,7 +91,7 @@
<constructor-arg name="strategy">
<bean class="net.shibboleth.idp.attribute.transcoding.impl.AttributeRegistryServiceStrategy">
<property name="extendedConditionFactory">
- <bean class="net.shibboleth.idp.profile.relyingparty.impl.RelyingPartiesActivationConditionFactory" />
+ <bean class="net.shibboleth.profile.logic.impl.RelyingPartiesActivationConditionFactory" />
</property>
</bean>
</constructor-arg>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/admin/resolvertest-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/admin/resolvertest-beans.xml
index f31314a8b..a04903011 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/admin/resolvertest-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/admin/resolvertest-beans.xml
@@ -135,7 +135,7 @@
class="net.shibboleth.idp.saml.saml1.profile.impl.AddAttributeStatementToAssertion" scope="prototype"
p:transcoderRegistry-ref="shibboleth.AttributeRegistryService">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
@@ -160,7 +160,7 @@
class="net.shibboleth.idp.saml.saml2.profile.impl.AddAttributeStatementToAssertion" scope="prototype"
p:transcoderRegistry-ref="shibboleth.AttributeRegistryService">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
index 999773682..5a653fe9c 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/authn/saml-authn-beans.xml
@@ -156,7 +156,7 @@
p:overwriteExisting="true"
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/logout/saml2-logoutprop-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/logout/saml2-logoutprop-beans.xml
index d3bddee01..564a25277 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/logout/saml2-logoutprop-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/logout/saml2-logoutprop-beans.xml
@@ -63,7 +63,7 @@
p:overwriteExisting="true"
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml1/common-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml1/common-beans.xml
index d3dd248db..4349d2c75 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml1/common-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml1/common-beans.xml
@@ -22,7 +22,7 @@
class="org.opensaml.saml.saml1.profile.impl.AddResponseShell" scope="prototype"
p:overwriteExisting="true">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
@@ -32,7 +32,7 @@
p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
p:addressLookupStrategy="#{getObject('shibboleth.SubjectLocalityAddressStrategy')}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
<property name="authenticationMethodLookupStrategy">
@@ -53,7 +53,7 @@
<bean class="net.shibboleth.idp.saml.profile.config.logic.IncludeAttributeStatementPredicate" />
</property>
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/artifact-resolution-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/artifact-resolution-beans.xml
index 12a4279af..79f20eccd 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/artifact-resolution-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/artifact-resolution-beans.xml
@@ -43,7 +43,7 @@
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple"
p:messageType="#{T(org.opensaml.saml.saml2.core.ArtifactResponse).DEFAULT_ELEMENT_NAME}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/common-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/common-beans.xml
index a547497c5..e325405ea 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/common-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/common-beans.xml
@@ -23,7 +23,7 @@
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple"
p:messageType="#{T(org.opensaml.saml.saml2.core.Response).DEFAULT_ELEMENT_NAME}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
@@ -33,7 +33,7 @@
p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
p:addressLookupStrategy="#{getObject('shibboleth.SubjectLocalityAddressStrategy')}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
<property name="classRefLookupStrategy">
@@ -67,7 +67,7 @@
<bean class="net.shibboleth.idp.saml.profile.config.logic.IncludeAttributeStatementPredicate" />
</property>
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-back-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-back-beans.xml
index 6110fef68..32dd77847 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-back-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-back-beans.xml
@@ -81,7 +81,7 @@
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple"
p:messageType="#{T(org.opensaml.saml.saml2.core.LogoutResponse).DEFAULT_ELEMENT_NAME}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-beans.xml
index f1f3742b7..993044648 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-beans.xml
@@ -122,7 +122,7 @@
p:issuerLookupStrategy-ref="shibboleth.ResponderIdLookup.Simple"
p:messageType="#{T(org.opensaml.saml.saml2.core.LogoutResponse).DEFAULT_ELEMENT_NAME}">
<property name="identifierGeneratorLookupStrategy">
- <bean class="net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
+ <bean class="net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction"
p:defaultIdentifierGenerationStrategy-ref="shibboleth.DefaultIdentifierGenerationStrategy" />
</property>
</bean>
diff --git a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
index 7310c94df..480110f85 100644
--- a/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
+++ b/idp-consent-impl/src/main/java/net/shibboleth/idp/consent/logic/impl/MessageSourceConsentFunction.java
@@ -33,7 +33,7 @@ import org.springframework.context.NoSuchMessageException;
import net.shibboleth.idp.consent.Consent;
import net.shibboleth.idp.consent.flow.impl.ConsentFlowDescriptor;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.StringDigester;
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java
deleted file mode 100644
index 95584a76f..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/ClientTLSValidationConfigurationLookupFunction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-
-import org.opensaml.core.config.ConfigurationService;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-import org.opensaml.security.x509.tls.ClientTLSValidationConfiguration;
-
-/**
- * A function that returns a {@link ClientTLSValidationConfiguration} list by way of various lookup strategies.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class ClientTLSValidationConfigurationLookupFunction
- extends AbstractRelyingPartyLookupFunction<List<ClientTLSValidationConfiguration>> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public List<ClientTLSValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
-
- final List<ClientTLSValidationConfiguration> configs = new ArrayList<>();
-
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc != null && sc.getClientTLSValidationConfiguration() != null) {
- configs.add(sc.getClientTLSValidationConfiguration());
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig != null && defaultConfig.getClientTLSValidationConfiguration() != null) {
- configs.add(defaultConfig.getClientTLSValidationConfiguration());
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- configs.add(ConfigurationService.get(ClientTLSValidationConfiguration.class));
-
- return configs;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/DecryptionConfigurationLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/DecryptionConfigurationLookupFunction.java
deleted file mode 100644
index e0499f281..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/DecryptionConfigurationLookupFunction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-import org.opensaml.xmlsec.DecryptionConfiguration;
-import org.opensaml.xmlsec.SecurityConfigurationSupport;
-import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
-
-/**
- * A function that returns a {@link DecryptionConfiguration} list by way of various lookup strategies.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class DecryptionConfigurationLookupFunction
- extends AbstractRelyingPartyLookupFunction<List<DecryptionConfiguration>> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public List<DecryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
-
- final List<DecryptionConfiguration> configs = new ArrayList<>();
-
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc instanceof XMLSecurityConfiguration xsc && xsc.getDecryptionConfiguration() != null) {
- configs.add(xsc.getDecryptionConfiguration());
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig instanceof XMLSecurityConfiguration xsc && xsc.getDecryptionConfiguration() != null) {
- configs.add(xsc.getDecryptionConfiguration());
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- configs.add(SecurityConfigurationSupport.getGlobalDecryptionConfiguration());
-
- return configs;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/EncryptionConfigurationLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/EncryptionConfigurationLookupFunction.java
deleted file mode 100644
index fb95abedd..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/EncryptionConfigurationLookupFunction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-import org.opensaml.xmlsec.EncryptionConfiguration;
-import org.opensaml.xmlsec.SecurityConfigurationSupport;
-import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
-
-/**
- * A function that returns a {@link EncryptionConfiguration} list using injected lookup strategies.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class EncryptionConfigurationLookupFunction
- extends AbstractRelyingPartyLookupFunction<List<EncryptionConfiguration>> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public List<EncryptionConfiguration> apply(@Nullable final ProfileRequestContext input) {
-
- final List<EncryptionConfiguration> configs = new ArrayList<>();
-
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc instanceof XMLSecurityConfiguration xsc && xsc.getEncryptionConfiguration() != null) {
- configs.add(xsc.getEncryptionConfiguration());
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig instanceof XMLSecurityConfiguration xsc && xsc.getEncryptionConfiguration() != null) {
- configs.add(xsc.getEncryptionConfiguration());
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- configs.add(SecurityConfigurationSupport.getGlobalEncryptionConfiguration());
-
- return configs;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/IdentifierGenerationStrategyLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/IdentifierGenerationStrategyLookupFunction.java
deleted file mode 100644
index 18e0df818..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/IdentifierGenerationStrategyLookupFunction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-import net.shibboleth.shared.security.IdentifierGenerationStrategy;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-
-/**
- * A function that returns an {@link IdentifierGenerationStrategy} by way of a {@link RelyingPartyContext}
- * obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
- *
- * <p>If a specific setting is unavailable, a default generator can be returned.</p>
- */
-public class IdentifierGenerationStrategyLookupFunction
- extends AbstractRelyingPartyLookupFunction<IdentifierGenerationStrategy> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /** Default strategy to return. */
- @Nullable private IdentifierGenerationStrategy defaultGenerator;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /**
- * Set the default {@link IdentifierGenerationStrategy} to return.
- *
- * @param strategy default generation strategy;
- */
- public void setDefaultIdentifierGenerationStrategy(@Nullable final IdentifierGenerationStrategy strategy) {
- defaultGenerator = strategy;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public IdentifierGenerationStrategy apply(@Nullable final ProfileRequestContext input) {
- if (input != null) {
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc != null) {
- return sc.getIdGenerator();
- }
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig != null && defaultConfig.getIdGenerator() != null) {
- return defaultConfig.getIdGenerator();
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- return defaultGenerator;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
index 8e3587c32..d31d0b380 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/InboundFlowsLookupFunction.java
@@ -24,8 +24,8 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
index cf128e11e..1336f5f44 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/OutboundFlowsLookupFunction.java
@@ -24,8 +24,8 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.profile.config.InterceptorAwareProfileConfiguration;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java
deleted file mode 100644
index 532338353..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureSigningConfigurationLookupFunction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-import org.opensaml.xmlsec.SignatureSigningConfiguration;
-import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
-import org.opensaml.xmlsec.SecurityConfigurationSupport;
-
-/**
- * A function that returns a {@link SignatureSigningConfiguration} list by way of various lookup strategies.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class SignatureSigningConfigurationLookupFunction
- extends AbstractRelyingPartyLookupFunction<List<SignatureSigningConfiguration>> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public List<SignatureSigningConfiguration> apply(@Nullable final ProfileRequestContext input) {
-
- final List<SignatureSigningConfiguration> configs = new ArrayList<>();
-
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc instanceof XMLSecurityConfiguration xsc && xsc.getSignatureSigningConfiguration() != null) {
- configs.add(xsc.getSignatureSigningConfiguration());
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig instanceof XMLSecurityConfiguration xsc &&
- xsc.getSignatureSigningConfiguration() != null) {
- configs.add(xsc.getSignatureSigningConfiguration());
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- configs.add(SecurityConfigurationSupport.getGlobalSignatureSigningConfiguration());
-
- return configs;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java
deleted file mode 100644
index 95ca2f8fa..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/navigate/SignatureValidationConfigurationLookupFunction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.config.navigate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.profile.config.ProfileConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.service.ReloadableService;
-import net.shibboleth.shared.service.ServiceException;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.security.config.SecurityConfiguration;
-import org.opensaml.xmlsec.SignatureValidationConfiguration;
-import org.opensaml.xmlsec.config.XMLSecurityConfiguration;
-import org.opensaml.xmlsec.SecurityConfigurationSupport;
-
-/**
- * A function that returns a {@link SignatureValidationConfiguration} list by way of various lookup strategies.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class SignatureValidationConfigurationLookupFunction
- extends AbstractRelyingPartyLookupFunction<List<SignatureValidationConfiguration>> {
-
- /** A resolver for default security configurations. */
- @Nullable private ReloadableService<RelyingPartyConfigurationResolver> rpResolver;
-
- /**
- * Set the resolver for default security configurations.
- *
- * @param resolver the resolver to use
- */
- public void setRelyingPartyConfigurationResolver(
- @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
- rpResolver = resolver;
- }
-
- /** {@inheritDoc} */
- @Override
- @Nullable public List<SignatureValidationConfiguration> apply(@Nullable final ProfileRequestContext input) {
-
- final List<SignatureValidationConfiguration> configs = new ArrayList<>();
-
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- final ProfileConfiguration pc = rpc.getProfileConfig();
- if (pc != null) {
- final SecurityConfiguration sc = pc.getSecurityConfiguration(input);
- if (sc instanceof XMLSecurityConfiguration xsc && xsc.getSignatureValidationConfiguration() != null) {
- configs.add(xsc.getSignatureValidationConfiguration());
- }
- }
- }
-
- // Check for a per-profile default (relying party independent) config.
- if (input != null && rpResolver != null) {
- try {
- final SecurityConfiguration defaultConfig =
- rpResolver.getServiceableComponent().getComponent().getDefaultSecurityConfiguration(
- input.getProfileId());
- if (defaultConfig instanceof XMLSecurityConfiguration xsc &&
- xsc.getSignatureValidationConfiguration() != null) {
- configs.add(xsc.getSignatureValidationConfiguration());
- }
- } catch (final ServiceException e) {
-
- }
- }
-
- configs.add(SecurityConfigurationSupport.getGlobalSignatureValidationConfiguration());
-
- return configs;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/AbstractRelyingPartyLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/AbstractRelyingPartyLookupFunction.java
deleted file mode 100644
index e131e01b8..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/AbstractRelyingPartyLookupFunction.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.context.navigate;
-
-import java.util.function.Function;
-
-import javax.annotation.Nonnull;
-
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.logic.Constraint;
-
-import org.opensaml.messaging.context.navigate.ChildContextLookup;
-import org.opensaml.messaging.context.navigate.ContextDataLookupFunction;
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/**
- * Abstract base class for a function that requires a {@link RelyingPartyContext}
- * obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
- *
- * @param <ResultType> return type of function
- */
-public abstract class AbstractRelyingPartyLookupFunction<ResultType>
- implements ContextDataLookupFunction<ProfileRequestContext,ResultType> {
-
- /**
- * Strategy used to locate the {@link RelyingPartyContext} associated with a given {@link ProfileRequestContext}.
- */
- @Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy;
-
- /** Constructor. */
- public AbstractRelyingPartyLookupFunction() {
- relyingPartyContextLookupStrategy = new ChildContextLookup<>(RelyingPartyContext.class);
- }
-
- /**
- * Set the strategy used to locate the {@link RelyingPartyContext} associated with a given
- * {@link ProfileRequestContext}.
- *
- * @param strategy lookup strategy
- */
- public void setRelyingPartyContextLookupStrategy(
- @Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
- relyingPartyContextLookupStrategy =
- Constraint.isNotNull(strategy, "RelyingPartyContext lookup strategy cannot be null");
- }
-
- /**
- * Get the strategy used to locate the {@link RelyingPartyContext} associated with a given
- * {@link ProfileRequestContext}.
- *
- * @return lookup strategy
- */
- @Nonnull public Function<ProfileRequestContext,RelyingPartyContext> getRelyingPartyContextLookupStrategy() {
- return relyingPartyContextLookupStrategy;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/RelyingPartyIdLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/RelyingPartyIdLookupFunction.java
deleted file mode 100644
index b7898e398..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/RelyingPartyIdLookupFunction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.context.navigate;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-import net.shibboleth.profile.context.RelyingPartyContext;
-
-/**
- * A function that returns {@link RelyingPartyContext#getRelyingPartyId()} from a
- * {@link RelyingPartyContext} obtained via a lookup function, by default a child of the {@link ProfileRequestContext}.
- *
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class RelyingPartyIdLookupFunction extends AbstractRelyingPartyLookupFunction<String> {
-
- /** {@inheritDoc} */
- @Nullable public String apply(@Nullable final ProfileRequestContext input) {
- if (input != null) {
- final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
- if (rpc != null) {
- return rpc.getRelyingPartyId();
- }
- }
-
- return null;
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ResponderIdLookupFunction.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ResponderIdLookupFunction.java
index c853c55c8..0bc188880 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ResponderIdLookupFunction.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ResponderIdLookupFunction.java
@@ -23,6 +23,7 @@ import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.profile.config.OverriddenIssuerProfileConfiguration;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java
deleted file mode 100644
index 1c10759a9..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicate.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.logic;
-
-import java.util.Collection;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.annotation.ParameterName;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.logic.StrategyIndirectedPredicate;
-import net.shibboleth.shared.primitive.StringSupport;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/**
- * Predicate that evaluates a {@link ProfileRequestContext} by looking for a relying party ID
- * that matches one of a designated set, or a generic predicate. The ID is obtained from a
- * {@link RelyingPartyContext} child of the profile request context.
- */
-public class RelyingPartyIdPredicate extends StrategyIndirectedPredicate<ProfileRequestContext,String> {
-
- /**
- * Constructor.
- *
- * @param candidates hardwired set of values to check against
- */
- public RelyingPartyIdPredicate(
- @Nonnull @NonnullElements @ParameterName(name="candidates") final Collection<String> candidates) {
- super(new RelyingPartyIdLookupFunction(), StringSupport.normalizeStringCollection(candidates));
- }
-
- /**
- * Constructor.
- *
- * @param candidate a single value to check against
- */
- public RelyingPartyIdPredicate(@Nonnull @NotEmpty @ParameterName(name="candidate") final String candidate) {
- this(CollectionSupport.singleton(candidate));
- }
-
- /**
- * Constructor.
- *
- * @param pred generalized predicate
- */
- public RelyingPartyIdPredicate(@Nonnull @ParameterName(name="pred") final Predicate<String> pred) {
- super(new RelyingPartyIdLookupFunction(), pred);
- }
-
- /**
- * Workaround for Spring type conversion ambiguities.
- *
- * @param candidates hardwired set of values to check against
- *
- * @return the predicate
- *
- * @since 3.4.0
- */
- @Nonnull public static RelyingPartyIdPredicate fromCandidates(
- @Nonnull @NonnullElements final Collection<String> candidates) {
- return new RelyingPartyIdPredicate(candidates);
- }
-
- /**
- * Workaround for Spring type conversion ambiguities.
- *
- * @param candidate a single value to check against
- *
- * @return the predicate
- *
- * @since 3.4.0
- */
- @Nonnull public static RelyingPartyIdPredicate fromCandidate(@Nonnull @NotEmpty final String candidate) {
- return new RelyingPartyIdPredicate(candidate);
- }
-
- /**
- * Workaround for Spring type conversion ambiguities.
- *
- * @param pred generalized predicate
- *
- * @return the predicate
- *
- * @since 3.4.0
- */
- @Nonnull public static RelyingPartyIdPredicate fromPredicate(@Nonnull final Predicate<String> pred) {
- return new RelyingPartyIdPredicate(pred);
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicateTest.java b/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicateTest.java
deleted file mode 100644
index 0735adef2..000000000
--- a/idp-profile-api/src/test/java/net/shibboleth/idp/profile/logic/RelyingPartyIdPredicateTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.logic;
-
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.component.ComponentInitializationException;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-/** Unit test for {@link RelyingPartyIdPredicate}. */
- at SuppressWarnings("javadoc")
-public class RelyingPartyIdPredicateTest {
-
- private ProfileRequestContext prc;
-
- private RelyingPartyContext rpCtx;
-
- @BeforeMethod
- public void setUp() {
- prc = new ProfileRequestContext();
- rpCtx = prc.getSubcontext(RelyingPartyContext.class, true);
- }
-
- @Test
- public void testNone() throws ComponentInitializationException {
- final RelyingPartyIdPredicate pred = new RelyingPartyIdPredicate(CollectionSupport.emptySet());
-
- Assert.assertFalse(pred.test(prc));
-
- rpCtx.setRelyingPartyId("foo");
- Assert.assertFalse(pred.test(prc));
- }
-
- @Test
- public void testMatch() throws ComponentInitializationException {
- final RelyingPartyIdPredicate pred = new RelyingPartyIdPredicate(CollectionSupport.singleton("foo"));
-
- Assert.assertFalse(pred.test(prc));
-
- rpCtx.setRelyingPartyId("foo");
- Assert.assertTrue(pred.test(prc));
- }
-
- @Test
- public void testNoMatch() throws ComponentInitializationException {
- final RelyingPartyIdPredicate pred = new RelyingPartyIdPredicate(CollectionSupport.singleton("bar"));
-
- Assert.assertFalse(pred.test(prc));
-
- rpCtx.setRelyingPartyId("foo");
- Assert.assertFalse(pred.test(prc));
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
index 646b0e6e0..4dd54ec84 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
@@ -43,9 +43,9 @@ import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFunction;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.shared.service.ReloadableService;
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
index d22269c02..25369e064 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
@@ -39,9 +39,9 @@ import net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFu
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.context.SpringRequestContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
index d8879ab66..f8a867298 100644
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
+++ b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
@@ -46,6 +46,7 @@ import net.shibboleth.shared.resolver.Resolver;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.service.ServiceException;
+import net.shibboleth.shared.service.ServiceableComponent;
/**
* Resolver which uses an instance of {@link RelyingPartyConfigurationResolver} to
@@ -120,14 +121,18 @@ public class CriteriaSelfEntityIDResolver extends AbstractIdentifiedInitializabl
final CriteriaSet prcSet = new CriteriaSet(new ProfileRequestContextCriterion(prc));
- try {
- final RelyingPartyConfiguration rpc =
- rpcResolver.getServiceableComponent().getComponent().resolveSingle(prcSet);
+ try (final ServiceableComponent<RelyingPartyConfigurationResolver> resolver =
+ rpcResolver.getServiceableComponent()) {
+ final RelyingPartyConfiguration rpc = resolver.getComponent().resolveSingle(prcSet);
if (rpc instanceof net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) {
return ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpc).getResponderId(prc);
+ } else {
+ log.error("RelyingPartyConfigurationResolver returned null or unexpected configuration type");
}
+ } catch (final ResolverException e) {
+ log.error("RelyingPartyConfigurationResolver did not resolve a RelyingPartyConfiguration: {}", e.getMessage());
} catch (final ServiceException e) {
- log.error("RelyingPartyConfiguration resolver unvailable", e);
+ log.error("RelyingPartyConfiguration resolver unvailable: {}", e.getMessage());
}
return null;
}
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/RelyingPartiesActivationConditionFactory.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/RelyingPartiesActivationConditionFactory.java
deleted file mode 100644
index c26dbd8b8..000000000
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/RelyingPartiesActivationConditionFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.relyingparty.impl;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-
-import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
-import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
-import net.shibboleth.shared.primitive.LoggerFactory;
-import net.shibboleth.shared.primitive.StringSupport;
-
-/**
- * Factory function for manufacturing activation conditions based on
- * {@link AttributeTranscoderRegistry#PROP_RELYINGPARTIES}.
- *
- * @since 5.0.0
- */
-public class RelyingPartiesActivationConditionFactory
- implements Function<Map<String,Object>,Predicate<ProfileRequestContext>> {
-
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(RelyingPartiesActivationConditionFactory.class);
-
- /** {@inheritDoc} */
- @SuppressWarnings("unchecked")
- @Nullable public Predicate<ProfileRequestContext> apply(@Nullable final Map<String,Object> rule) {
- final Object relyingParties = rule.get(AttributeTranscoderRegistry.PROP_RELYINGPARTIES);
-
- if (relyingParties instanceof Collection) {
- return new RelyingPartyIdPredicate((Collection<String>) relyingParties);
- } else if (relyingParties instanceof String) {
- final Collection<String> parsed = StringSupport.normalizeStringCollection(
- StringSupport.stringToList((String) relyingParties, " "));
- return new RelyingPartyIdPredicate(parsed);
- } else if (relyingParties != null) {
- log.error("{} property did not contain a Collection or String, ignored",
- AttributeTranscoderRegistry.PROP_RELYINGPARTIES);
- }
-
- return null;
- }
-
-}
\ No newline at end of file
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AdditionalAudiencesForAssertionLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AdditionalAudiencesForAssertionLookupFunction.java
index 2eab4ed1f..6e0e9eff9 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AdditionalAudiencesForAssertionLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AdditionalAudiencesForAssertionLookupFunction.java
@@ -25,7 +25,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration;
/**
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
index 8a8f0a179..d29fd4b86 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
index 3feae8721..9f9b95bb6 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AudienceRestrictionsLookupFunction.java
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.profile.config.SAMLProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
index e69af3197..f27061873 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/QualifiedNameIDFormatsLookupFunction.java
@@ -24,7 +24,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotLive;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/SessionLifetimeLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/SessionLifetimeLookupFunction.java
index 6baba905c..ea12838c7 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/SessionLifetimeLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/SessionLifetimeLookupFunction.java
@@ -23,7 +23,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/context/navigate/SAMLMetadataContextLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/context/navigate/SAMLMetadataContextLookupFunction.java
index ec5c6d00b..1c8611c09 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/context/navigate/SAMLMetadataContextLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/context/navigate/SAMLMetadataContextLookupFunction.java
@@ -19,8 +19,8 @@ package net.shibboleth.idp.saml.profile.context.navigate;
import javax.annotation.Nullable;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/MaximumTimeSinceAuthnLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/MaximumTimeSinceAuthnLookupFunction.java
index dd20c12a8..4228fc713 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/MaximumTimeSinceAuthnLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/MaximumTimeSinceAuthnLookupFunction.java
@@ -25,7 +25,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
/**
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyCountLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyCountLookupFunction.java
index 818bfd581..400955f56 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyCountLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyCountLookupFunction.java
@@ -21,7 +21,7 @@ import javax.annotation.Nullable;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.saml2.profile.config.SAML2ProfileConfiguration;
import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyRestrictionLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyRestrictionLookupFunction.java
index 46571a73a..64dac8c94 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyRestrictionLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/navigate/ProxyRestrictionLookupFunction.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.context.navigate.AbstractRelyingPartyLookupFunction;
+import net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction;
import net.shibboleth.idp.saml.saml2.profile.config.SAML2ProfileConfiguration;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.collection.Pair;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
index f8f34734b..2c7a83679 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/audit/impl/WriteFTICKSLog.java
@@ -33,8 +33,8 @@ import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.authn.context.navigate.SubjectContextPrincipalLookupFunction;
import net.shibboleth.idp.profile.AbstractProfileAction;
import net.shibboleth.idp.profile.context.AuditContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.codec.StringDigester;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
index 9d39cc66a..682b91e84 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGenerator.java
@@ -40,9 +40,9 @@ import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.XMLObjectAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.shared.collection.CollectionSupport;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
index 5cfb8966a..88000b27b 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGenerator.java
@@ -39,9 +39,9 @@ import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.XMLObjectAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.shared.collection.CollectionSupport;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
index 1383ecba8..561ea2df0 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/PersistentSAML2NameIDGenerator.java
@@ -42,9 +42,9 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.idp.attribute.impl.JDBCPairwiseIdStore;
import net.shibboleth.idp.authn.context.SubjectContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
index d5900740c..d3d83a0af 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML1NameIdentifierGenerator.java
@@ -29,9 +29,9 @@ import org.opensaml.saml.saml1.profile.AbstractSAML1NameIdentifierGenerator;
import org.slf4j.Logger;
import net.shibboleth.idp.authn.context.SubjectContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.idp.saml.xml.SAMLConstants;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
index 247c46c8e..0cf6fa8d7 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/nameid/impl/TransientSAML2NameIDGenerator.java
@@ -30,8 +30,8 @@ import org.opensaml.saml.saml2.profile.AbstractSAML2NameIDGenerator;
import org.slf4j.Logger;
import net.shibboleth.idp.authn.context.SubjectContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
index bed80b5dd..22cd5d083 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAttributeStatementToAssertion.java
@@ -39,8 +39,8 @@ import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.TranscodingRule;
import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
import net.shibboleth.shared.annotation.constraint.Live;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
index a4033022c..3e254bd00 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/BaseAddAuthenticationStatementToAssertion.java
@@ -32,8 +32,8 @@ import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
-import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
index 6811ca8c2..9e9ca9bec 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequest.java
@@ -38,10 +38,10 @@ import net.shibboleth.shared.primitive.LoggerFactory;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/RelyingPartyConfigurationSupport.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/RelyingPartyConfigurationSupport.java
index 5bf3568a4..e3150fbd2 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/RelyingPartyConfigurationSupport.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/RelyingPartyConfigurationSupport.java
@@ -30,10 +30,10 @@ import org.opensaml.saml.common.profile.logic.EntityGroupNamePredicate;
import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.opensaml.saml.saml2.metadata.EntityDescriptor;
-import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
import net.shibboleth.idp.saml.profile.logic.MappedEntityAttributesPredicate;
+import net.shibboleth.profile.logic.RelyingPartyIdPredicate;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.StrategyIndirectedPredicate;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
index c0b1295d1..5da1dbf48 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequest.java
@@ -30,12 +30,12 @@ import javax.annotation.Nullable;
import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
import net.shibboleth.idp.saml.authn.principal.AuthnContextDeclRefPrincipal;
import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
+import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
index ecfc123f8..16c0d2876 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequest.java
@@ -45,7 +45,6 @@ import com.google.common.base.Predicates;
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.idp.saml.profile.config.navigate.QualifiedNameIDFormatsLookupFunction;
import net.shibboleth.idp.saml.session.SAML2SPSession;
@@ -55,6 +54,7 @@ import net.shibboleth.idp.session.SessionResolver;
import net.shibboleth.idp.session.context.LogoutContext;
import net.shibboleth.idp.session.context.SessionContext;
import net.shibboleth.idp.session.criterion.SPSessionCriterion;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
index 222d40204..6ee64b441 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/session/impl/AddLogoutRequest.java
@@ -42,10 +42,9 @@ import org.opensaml.saml.saml2.core.NameID;
import org.opensaml.saml.saml2.core.SessionIndex;
import org.slf4j.Logger;
import net.shibboleth.shared.primitive.LoggerFactory;
-
-import net.shibboleth.idp.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.idp.saml.session.SAML2SPSession;
import net.shibboleth.idp.session.context.LogoutPropagationContext;
+import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequestTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequestTest.java
index 2e019c6ae..7518372cf 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequestTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/profile/impl/ExtractSubjectFromRequestTest.java
@@ -19,7 +19,6 @@ package net.shibboleth.idp.saml.profile.impl;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
-import net.shibboleth.idp.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
@@ -27,6 +26,7 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
import net.shibboleth.idp.saml.profile.impl.ExtractSubjectFromRequest.SubjectNameLookupFunction;
+import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
import net.shibboleth.shared.component.ComponentInitializationException;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
diff --git a/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/DummyPredicate.java b/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/DummyPredicate.java
deleted file mode 100644
index 175b944e8..000000000
--- a/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/DummyPredicate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.logic;
-
-import java.util.function.Predicate;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/**
- *
- */
-public class DummyPredicate implements Predicate<ProfileRequestContext> {
-
- /** {@inheritDoc} */
- public boolean test(@Nullable ProfileRequestContext input) {
- return false;
- }
-
-}
diff --git a/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/RelyingPartyIdPredicateTest.java b/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/RelyingPartyIdPredicateTest.java
deleted file mode 100644
index 92902c62c..000000000
--- a/idp-spring/src/test/java/net/shibboleth/idp/profile/spring/logic/RelyingPartyIdPredicateTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.logic;
-
-import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.shared.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.shared.spring.custom.SchemaTypeAwareXMLBeanDefinitionReader;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- *
- */
- at SuppressWarnings("javadoc")
-public class RelyingPartyIdPredicateTest {
-
- private boolean testCandidate(final RelyingPartyIdPredicate rpIdPredicate, final String rpId) {
- final ProfileRequestContext prc = new ProfileRequestContext();
- final RelyingPartyContext rpc = prc.getSubcontext(RelyingPartyContext.class, true);
- assert rpc != null;
- rpc.setRelyingPartyId(rpId);
- return rpIdPredicate.test(prc);
- }
-
-
- @Test
- public void constructors() {
- try (final GenericApplicationContext context = new FilesystemGenericApplicationContext()) {
- context.setDisplayName("ApplicationContext: Matcher");
- final SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
- new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
- beanDefinitionReader.loadBeanDefinitions("net/shibboleth/idp/profile/spring/logic/relyingPartyIdPredicates.xml");
-
- context.refresh();
-
- RelyingPartyIdPredicate bean = context.getBean("candidate", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertFalse(testCandidate(bean, "Double"));
- Assert.assertFalse(testCandidate(bean, "Elephant"));
-
- bean = context.getBean("candidates", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertTrue(testCandidate(bean, "Double"));
- Assert.assertFalse(testCandidate(bean, "Elephant"));
-
- bean = context.getBean("pred", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertTrue(testCandidate(bean, "Double"));
- Assert.assertTrue(testCandidate(bean, "Elephant"));
-
- bean = context.getBean("candidate_0", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertFalse(testCandidate(bean, "Double"));
- Assert.assertFalse(testCandidate(bean, "Elephant"));
-
- bean = context.getBean("candidates_0", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertTrue(testCandidate(bean, "Double"));
- Assert.assertFalse(testCandidate(bean, "Elephant"));
-
- bean = context.getBean("pred_0", RelyingPartyIdPredicate.class);
- Assert.assertTrue(testCandidate(bean, "Single"));
- Assert.assertTrue(testCandidate(bean, "Double"));
- Assert.assertTrue(testCandidate(bean, "Elephant"));
- }
- }
-
-}
\ No newline at end of file
diff --git a/idp-spring/src/test/resources/net/shibboleth/idp/profile/spring/logic/relyingPartyIdPredicates.xml b/idp-spring/src/test/resources/net/shibboleth/idp/profile/spring/logic/relyingPartyIdPredicates.xml
deleted file mode 100644
index f5df1aec4..000000000
--- a/idp-spring/src/test/resources/net/shibboleth/idp/profile/spring/logic/relyingPartyIdPredicates.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:util="http://www.springframework.org/schema/util" xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
-
- <!-- This bean MUST be called "conversionService" to work properly. -->
- <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
- <property name="converters">
- <set>
- <bean class="net.shibboleth.shared.spring.config.StringToIPRangeConverter" />
- <bean class="net.shibboleth.shared.spring.config.BooleanToPredicateConverter" />
- <bean class="net.shibboleth.shared.spring.config.StringBooleanToPredicateConverter" />
- <bean class="net.shibboleth.shared.spring.config.StringToResourceConverter" />
- </set>
- </property>
- </bean>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="candidate" c:candidate="Single"/>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="candidates" c:candidates="#{ {'Single', 'Double'} }"/>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="pred" c:pred="true"/>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="candidate_0" c:candidate="Single"/>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="candidates_0" c:candidates="#{ {'Single', 'Double'} }"/>
-
- <bean class="net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate" id="pred_0" c:pred="true"/>
-
-</beans>
-
\ 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