[java-identity-provider] branch main updated: JSPROF-1 - Move RelyingParty "layer" into java-shib-profile

Scott Cantor cantor.2 at osu.edu
Thu Mar 2 15:36:57 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=bffd3763da0d75bc9b9025e1df4e16a21547e4e2

The following commit(s) were added to refs/heads/main by this push:
     new bffd3763d JSPROF-1 - Move RelyingParty "layer" into java-shib-profile
bffd3763d is described below

commit bffd3763da0d75bc9b9025e1df4e16a21547e4e2
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Mar 2 10:36:28 2023 -0500

    JSPROF-1 - Move RelyingParty "layer" into java-shib-profile
    
    https://shibboleth.atlassian.net/browse/JSPROF-1
    
    Move IdP-specific RP config layer down into shared lib.
    Move additional accessor classes out.
---
 .../idp/authn/AbstractValidationAction.java        |   2 +-
 .../impl/FinalizeMultiFactorAuthentication.java    |   2 +-
 .../impl/DiscoveryProfileRequestFunction.java      |   4 +-
 .../impl/AttributeRevocationCondition.java         |   2 +-
 .../net/shibboleth/idp/conf/functions.xml          |   2 +-
 .../shibboleth/idp/conf/relying-party-mddriven.xml |  10 +-
 .../shibboleth/idp/conf/relying-party-system.xml   |  12 +-
 .../idp/flows/saml/saml-abstract-beans.xml         |   2 +-
 .../idp/flows/saml/saml1/common-beans.xml          |   2 +-
 .../idp/flows/saml/saml2/common-beans.xml          |   2 +-
 .../flows/saml/saml2/slo-front-abstract-beans.xml  |   2 +-
 .../idp/flows/saml/saml2/sso-abstract-beans.xml    |   2 +-
 .../idp/test/flows/SetupForResolver.java           |   2 +-
 .../test/flows/c14n/actions/SetupForSAML1C14N.java |   2 +-
 .../test/flows/c14n/actions/SetupForSAML2C14N.java |   2 +-
 .../net/shibboleth/idp/profile/IdPEventIds.java    |   2 +-
 .../config/logic/DetailedErrorsPredicate.java      |  48 ----
 .../idp/profile/config/logic/package-info.java     |  20 --
 .../navigate/ResponderIdLookupFunction.java        |  65 ------
 .../relyingparty/RelyingPartyConfiguration.java    | 127 -----------
 .../idp/profile/relyingparty/package-info.java     |  20 --
 .../idp/profile/impl/FilterAttributes.java         |   2 +-
 .../idp/profile/impl/ResolveAttributes.java        |   2 +-
 .../impl/CriteriaSelfEntityIDResolver.java         | 243 ---------------------
 .../profile/relyingparty/impl/package-info.java    |  20 --
 .../impl/SelectRelyingPartyConfigurationTest.java  |   7 +-
 .../idp/saml/audit/impl/WriteFTICKSLog.java        |   2 +-
 ...tributeSourcedSAML1NameIdentifierGenerator.java |   5 +-
 .../impl/AttributeSourcedSAML2NameIDGenerator.java |   5 +-
 .../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/InitializeOutboundMessageContext.java     |   2 +-
 .../PopulateInboundMessageContextWithSAMLSelf.java |   2 +-
 .../profile/impl/UpdateSAMLSelfEntityContext.java  |   2 +-
 .../impl/RelyingPartyConfigurationSupport.java     | 123 -----------
 .../idp/saml/relyingparty/impl/package-info.java   |  23 --
 .../AddAuthenticationStatementToAssertion.java     |   2 +-
 .../profile/impl/AddAuthnStatementToAssertion.java |   2 +-
 .../saml2/profile/impl/ProcessLogoutRequest.java   |   2 +-
 .../RelyingPartyConfigurationResolverTest.java     |  14 +-
 ...uteSourcedSAML1NameIdentifierGeneratorTest.java |   4 +-
 .../AttributeSourcedSAML2NameIDGeneratorTest.java  |   4 +-
 ...oTransientSAML1NameIdentifierGeneratorTest.java |   2 +-
 .../CryptoTransientSAML2NameIDGeneratorTest.java   |   2 +-
 ...dTransientSAML1NameIdentifierGeneratorTest.java |   2 +-
 .../StoredTransientSAML2NameIDGeneratorTest.java   |   2 +-
 .../impl/ExtractSubjectFromRequestTest.java        |   2 +-
 .../saml1/profile/impl/SAML1ActionSupportTest.java |   4 +-
 .../profile/impl/SAML1ActionTestingSupport.java    |   2 +-
 .../saml2/profile/impl/AddAuthnRequestTest.java    |   4 +-
 .../saml2/profile/impl/SAML2ActionSupportTest.java |   4 +-
 .../profile/impl/SAML2ActionTestingSupport.java    |   2 +-
 .../idp/profile/testing/RequestContextBuilder.java |   2 +-
 57 files changed, 75 insertions(+), 763 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 e7dd2260d..bd4b7d1c9 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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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-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 e0cb99d19..66e1f3068 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
@@ -41,8 +41,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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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/proxy/impl/DiscoveryProfileRequestFunction.java b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
index b3d5db946..15fb95f58 100644
--- a/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
+++ b/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/proxy/impl/DiscoveryProfileRequestFunction.java
@@ -113,9 +113,9 @@ public class DiscoveryProfileRequestFunction extends AbstractInitializableCompon
 
         final RelyingPartyConfiguration rpConfig = rpCtx.getConfiguration();
         assert rpConfig!=null;
-        Constraint.isTrue(rpConfig instanceof net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration,
+        Constraint.isTrue(rpConfig instanceof net.shibboleth.profile.relyingparty.RelyingPartyConfiguration,
                 "RelyingPartyConfiguration was not of expected subclass");
-        final String entityID = ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpConfig).getResponderId(
+        final String entityID = ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) rpConfig).getResponderId(
                 input.getSecond());
 
         final StringBuilder builder = new StringBuilder(baseURL);
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 66a23bf8e..f3bca26a3 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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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/functions.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/functions.xml
index 4a9586e87..f1a23f237 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
@@ -180,7 +180,7 @@
 
 
     <bean id="shibboleth.ResponderIdLookup.Simple"
-        class="net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction" />
+        class="net.shibboleth.profile.context.navigate.ResponderIdLookupFunction" />
 
     <bean id="shibboleth.RelyingPartyIdLookup.Simple"
         class="net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction" />
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-mddriven.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-mddriven.xml
index 446269697..e2a28d63c 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-mddriven.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-mddriven.xml
@@ -44,23 +44,23 @@
     <!-- Parent beans for metadata-driven RelyingParty helpers. -->
 
     <bean id="RelyingPartyByName.MDDriven" parent="RelyingParty.MDDriven" abstract="true"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byName" />
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byName" />
 
     <bean id="RelyingPartyByGroup.MDDriven" parent="RelyingParty.MDDriven" abstract="true"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byGroup"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byGroup"
         c:resolver-ref="shibboleth.MetadataResolver" />
 
     <bean id="RelyingPartyByEntitiesDescriptor.MDDriven" abstract="true" parent="RelyingParty.MDDriven"
-            class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byGroup">
+            class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byGroup">
         <constructor-arg name="resolver"><null /></constructor-arg>
     </bean>
 
     <bean id="RelyingPartyByTag.MDDriven" parent="RelyingParty.MDDriven" abstract="true"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byTag"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byTag"
         c:trim="false" c:matchAll="false" />
 
     <bean id="RelyingPartyByMappedTag.MDDriven" parent="RelyingParty.MDDriven" abstract="true"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byMappedTag"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byMappedTag"
         c:trim="false" c:matchAll="false" />
     
     <bean id="shibboleth.DefaultMDProfileAliases"
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
index 3db9413cb..7f311fa6e 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/relying-party-system.xml
@@ -38,33 +38,33 @@
     </bean>
 
     <!-- Parent bean for generic RelyingParty overrides that establishes defaults. -->
-    <bean id="RelyingParty" abstract="true" class="net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration"
+    <bean id="RelyingParty" abstract="true" class="net.shibboleth.profile.relyingparty.RelyingPartyConfiguration"
         p:responderId="#{getObject('entityID')}"
         p:detailedErrorsPredicate="%{idp.errors.detailed:false}" />
 
     <!-- Parent bean for RelyingParty overrides based on activation by name(s). -->
     <bean id="RelyingPartyByName" abstract="true" parent="RelyingParty"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byName" />
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byName" />
 
     <!-- Parent bean for RelyingParty overrides based on activation by group or SAML affiliation. -->
     <bean id="RelyingPartyByGroup" abstract="true" parent="RelyingParty"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byGroup"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byGroup"
         c:resolver-ref="shibboleth.MetadataResolver" />
 
     <!-- Parent bean for RelyingParty overrides based on activation by local containment only. -->
     <bean id="RelyingPartyByEntitiesDescriptor" abstract="true" parent="RelyingParty"
-            class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byGroup">
+            class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byGroup">
         <constructor-arg name="resolver"><null /></constructor-arg>
     </bean>
 
     <!-- Parent bean for RelyingParty overrides based on activation by tag. -->
     <bean id="RelyingPartyByTag" abstract="true" parent="RelyingParty"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byTag"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byTag"
         c:trim="false" c:matchAll="false" />
 
     <!-- Parent bean for RelyingParty overrides based on activation by tag. -->
     <bean id="RelyingPartyByMappedTag" abstract="true" parent="RelyingParty"
-        class="net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport" factory-method="byMappedTag"
+        class="net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport" factory-method="byMappedTag"
         c:trim="false" c:matchAll="false" />
 
     <bean id="TagCandidate" abstract="true"
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml-abstract-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml-abstract-beans.xml
index 06a559c1f..c092dcacc 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml-abstract-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml-abstract-beans.xml
@@ -345,7 +345,7 @@
     <!-- Non-ProfileRequestContext oriented beans, for example for us in SOAPClient. -->        
     
     <bean id="ArtifactSupport.SelfEntityIDResolver" 
-        class="net.shibboleth.idp.profile.relyingparty.impl.CriteriaSelfEntityIDResolver"
+        class="net.shibboleth.profile.relyingparty.impl.CriteriaSelfEntityIDResolver"
         p:relyingPartyConfigurationResolver-ref="shibboleth.RelyingPartyResolverService" />
 
 </beans>
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 4349d2c75..994d7bc7e 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
@@ -66,7 +66,7 @@
             class="org.opensaml.saml.saml1.profile.impl.AddStatusToResponse" scope="prototype"
             p:statusMessage="An error occurred.">
         <property name="detailedErrorsCondition">
-            <bean class="net.shibboleth.idp.profile.config.logic.DetailedErrorsPredicate" />
+            <bean class="net.shibboleth.profile.config.logic.DetailedErrorsPredicate" />
         </property>
         <property name="statusCodes">
             <list>
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 e325405ea..b9418ebe7 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
@@ -80,7 +80,7 @@
             class="org.opensaml.saml.saml2.profile.impl.AddStatusToResponse" scope="prototype"
             p:statusMessage="An error occurred.">
         <property name="detailedErrorsCondition">
-            <bean class="net.shibboleth.idp.profile.config.logic.DetailedErrorsPredicate" />
+            <bean class="net.shibboleth.profile.config.logic.DetailedErrorsPredicate" />
         </property>
         <property name="statusCodes">
             <list>
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 f3e72a884..cf461d266 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
@@ -130,7 +130,7 @@
     <bean id="AddLogoutStatusToResponse"
             class="org.opensaml.saml.saml2.profile.impl.AddStatusToResponse" scope="prototype">
         <property name="detailedErrorsCondition">
-            <bean class="net.shibboleth.idp.profile.config.logic.DetailedErrorsPredicate" />
+            <bean class="net.shibboleth.profile.config.logic.DetailedErrorsPredicate" />
         </property>
         <property name="statusCodes">
             <list>
diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/sso-abstract-beans.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/sso-abstract-beans.xml
index 23d253acb..8d4dde4e0 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/sso-abstract-beans.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/sso-abstract-beans.xml
@@ -153,7 +153,7 @@
             class="org.opensaml.soap.soap11.profile.impl.AddSOAPFault" scope="prototype"
             p:faultString="An error occurred.">
         <property name="detailedErrorsCondition">
-            <bean class="net.shibboleth.idp.profile.config.logic.DetailedErrorsPredicate" />
+            <bean class="net.shibboleth.profile.config.logic.DetailedErrorsPredicate" />
         </property>
         <property name="faultCode">
             <util:list>
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/SetupForResolver.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/SetupForResolver.java
index 53705091e..fff73043e 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/SetupForResolver.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/SetupForResolver.java
@@ -22,8 +22,8 @@ import javax.annotation.Nonnull;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
 import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.opensaml.profile.action.ActionSupport;
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML1C14N.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML1C14N.java
index b0e376cfc..661bc8dd8 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML1C14N.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML1C14N.java
@@ -37,11 +37,11 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.saml.authn.principal.NameIdentifierPrincipal;
 import net.shibboleth.idp.saml.nameid.impl.TransientSAML1NameIdentifierGenerator;
 import net.shibboleth.idp.saml.xml.SAMLConstants;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.primitive.StringSupport;
 
 /**
diff --git a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML2C14N.java b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML2C14N.java
index 248e0c537..f179ac7bb 100644
--- a/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML2C14N.java
+++ b/idp-conf/src/test/java/net/shibboleth/idp/test/flows/c14n/actions/SetupForSAML2C14N.java
@@ -38,10 +38,10 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.saml.authn.principal.NameIDPrincipal;
 import net.shibboleth.idp.saml.nameid.impl.TransientSAML2NameIDGenerator;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.primitive.StringSupport;
 
 /**
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPEventIds.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPEventIds.java
index 1eeb2bf96..15123493b 100644
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPEventIds.java
+++ b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/IdPEventIds.java
@@ -19,9 +19,9 @@ package net.shibboleth.idp.profile;
 
 import javax.annotation.Nonnull;
 
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.profile.config.ProfileConfiguration;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.annotation.constraint.NotEmpty;
 
 // TODO: move attribute related events into that module?
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/DetailedErrorsPredicate.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/DetailedErrorsPredicate.java
deleted file mode 100644
index 1dbc640c4..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/DetailedErrorsPredicate.java
+++ /dev/null
@@ -1,48 +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.logic;
-
-import javax.annotation.Nullable;
-
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.context.logic.AbstractRelyingPartyPredicate;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-
-/**
- * Predicate to determine whether a relying party should see detailed error information.
- */
-public class DetailedErrorsPredicate extends AbstractRelyingPartyPredicate {
-
-    /** {@inheritDoc} */
-    public boolean test(@Nullable final ProfileRequestContext input) {
-        if (input != null) {
-            final RelyingPartyContext rpc = getRelyingPartyContext(input);
-            if (rpc != null) {
-                final net.shibboleth.profile.relyingparty.RelyingPartyConfiguration config = rpc.getConfiguration();
-                if (config instanceof RelyingPartyConfiguration) {
-                    return ((RelyingPartyConfiguration) config).isDetailedErrors(input);
-                }
-            }
-        }
-        
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/package-info.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/package-info.java
deleted file mode 100644
index 6b9214ea1..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/config/logic/package-info.java
+++ /dev/null
@@ -1,20 +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.
- */
-
-/** Predicates related to profile configuration. */
-
-package net.shibboleth.idp.profile.config.logic;
\ 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
deleted file mode 100644
index 0bc188880..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/context/navigate/ResponderIdLookupFunction.java
+++ /dev/null
@@ -1,65 +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 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;
-
-/**
- * A function that returns {@link net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration#getResponderId}() if
- * available from a {@link RelyingPartyContext} obtained via a lookup function, by default a child of the
- * {@link ProfileRequestContext}.
- * 
- * <p>A special case applies if an active {@link OverriddenIssuerProfileConfiguration} is in effect, allowing the
- * profile to override the usual value.</p>
- * 
- * <p>If a specific setting is unavailable, a null value is returned.</p>
- */
-public class ResponderIdLookupFunction extends AbstractRelyingPartyLookupFunction<String> {
-
-    /** {@inheritDoc} */
-    @Nullable public String apply(@Nullable final ProfileRequestContext input) {
-        if (input != null) {
-            final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
-            if (rpc != null) {
-                final ProfileConfiguration pc = rpc.getProfileConfig();
-                if (pc instanceof OverriddenIssuerProfileConfiguration) {
-                    final String issuer = ((OverriddenIssuerProfileConfiguration) pc).getIssuer(input);
-                    if (issuer != null) {
-                        return issuer;
-                    }
-                }
-                
-                final net.shibboleth.profile.relyingparty.RelyingPartyConfiguration rpConfig = rpc.getConfiguration();
-                if (rpConfig instanceof RelyingPartyConfiguration) {
-                    return ((RelyingPartyConfiguration) rpConfig).getResponderId(input);
-                }
-            }
-        }
-
-        return null;
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/RelyingPartyConfiguration.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/RelyingPartyConfiguration.java
deleted file mode 100644
index 67bacd433..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/RelyingPartyConfiguration.java
+++ /dev/null
@@ -1,127 +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;
-
-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 net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.logic.Constraint;
-import net.shibboleth.shared.logic.FunctionSupport;
-import net.shibboleth.shared.logic.PredicateSupport;
-import net.shibboleth.shared.primitive.StringSupport;
-
-/**
- * IdP-specific subclass of base configuration class.
- */
-public class RelyingPartyConfiguration extends net.shibboleth.profile.relyingparty.RelyingPartyConfiguration {
-    
-    /** Lookup function to supply <code>responderId</code> property. */
-    @NonnullAfterInit private Function<ProfileRequestContext,String> responderIdLookupStrategy;
-
-    /** Controls whether detailed information about errors should be exposed. */
-    @Nonnull private Predicate<ProfileRequestContext> detailedErrorsPredicate;
-
-    /** Constructor. */
-    public RelyingPartyConfiguration() {
-        detailedErrorsPredicate = PredicateSupport.alwaysFalse();
-    }
-
-    /**
-     * Get the self-referential ID to use when responding to requests.
-     * 
-     * @param profileRequestContext current profile request context
-     * 
-     * @return ID to use when responding
-     */
-    @Nonnull @NotEmpty public String getResponderId(@Nullable final ProfileRequestContext profileRequestContext) {
-        return Constraint.isNotEmpty(responderIdLookupStrategy.apply(profileRequestContext),
-                "ResponderId cannot be null or empty");
-    }
-
-    /**
-     * Set the self-referential ID to use when responding to messages.
-     * 
-     * @param responder ID to use when responding to messages
-     */
-    public void setResponderId(@Nonnull @NotEmpty final String responder) {
-        checkSetterPreconditions();
-        final String id =
-                Constraint.isNotNull(StringSupport.trimOrNull(responder), "ResponderId cannot be null or empty");
-        responderIdLookupStrategy = FunctionSupport.constant(id);
-    }
-
-    /**
-     * Set a lookup strategy for the <code>responderId</code> property.
-     * 
-     * @param strategy  lookup strategy
-     * 
-     * @since 3.4.0
-     */
-    public void setResponderIdLookupStrategy(@Nonnull final Function<ProfileRequestContext,String> strategy) {
-        checkSetterPreconditions();
-        responderIdLookupStrategy = Constraint.isNotNull(strategy, "Lookup strategy cannot be null");
-    }
-    
-    /**
-     * Get whether detailed information about errors should be exposed.
-     * 
-     * @param profileRequestContext current profile request context
-     *
-     * @return true iff it is acceptable to expose detailed error information
-     */
-    public boolean isDetailedErrors(@Nullable final ProfileRequestContext profileRequestContext) {
-        return detailedErrorsPredicate.test(profileRequestContext);
-    }
-
-    /**
-     * Set whether detailed information about errors should be exposed.
-     * 
-     * @param flag  flag to set
-     */
-    public void setDetailedErrors(final boolean flag) {
-        checkSetterPreconditions();
-        detailedErrorsPredicate = PredicateSupport.constant(flag);
-    }
-    
-    /**
-     * Set a condition to determine whether detailed information about errors should be exposed.
-     * 
-     * @param condition  condition to set
-     */
-    public void setDetailedErrorsPredicate(@Nonnull final Predicate<ProfileRequestContext> condition) {
-        detailedErrorsPredicate = Constraint.isNotNull(condition, "Condition cannot be null");
-    }
-    
-    /** {@inheritDoc} */
-    @Override protected void doInitialize() throws ComponentInitializationException {
-        super.doInitialize();
-    
-        if (responderIdLookupStrategy == null) {
-            throw new ComponentInitializationException("ResponderID lookup strategy cannot be null");
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/package-info.java b/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/package-info.java
deleted file mode 100644
index 531301994..000000000
--- a/idp-profile-api/src/main/java/net/shibboleth/idp/profile/relyingparty/package-info.java
+++ /dev/null
@@ -1,20 +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.
- */
-
-/** APIs for retrieving the per-relying party configuration for a given profile request. */
-
-package net.shibboleth.idp.profile.relyingparty;
\ 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 a406e31cb..c4d6b0c0d 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
@@ -44,9 +44,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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 d582a3554..74bc450d6 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
@@ -40,9 +40,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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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
deleted file mode 100644
index f8a867298..000000000
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/CriteriaSelfEntityIDResolver.java
+++ /dev/null
@@ -1,243 +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 javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.opensaml.core.criterion.EntityIdCriterion;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.criterion.ProfileRequestContextCriterion;
-import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
-import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
-import org.opensaml.saml.criterion.RoleDescriptorCriterion;
-import org.opensaml.saml.saml2.metadata.EntityDescriptor;
-import org.opensaml.saml.saml2.metadata.RoleDescriptor;
-import org.slf4j.Logger;
-
-import net.shibboleth.profile.context.RelyingPartyContext;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.collection.CollectionSupport;
-import net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.component.IdentifiableComponent;
-import net.shibboleth.shared.primitive.LoggerFactory;
-import net.shibboleth.shared.resolver.CriteriaSet;
-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
- * resolve our own entityID.
- * 
- * <p>
- * The required and allowed criteria are the same as the {@link RelyingPartyConfigurationResolver}
- * implementation in use.
- * </p>
- */
-public class CriteriaSelfEntityIDResolver extends AbstractIdentifiedInitializableComponent
-    implements Resolver<String, CriteriaSet>, IdentifiableComponent {
-    
-    /** Logger. */
-    @Nonnull private Logger log = LoggerFactory.getLogger(CriteriaSelfEntityIDResolver.class);
-    
-    /** The RelyingPartyConfigurationResolver to which to delegate. */
-    @NonnullAfterInit private ReloadableService<RelyingPartyConfigurationResolver> rpcResolver;
-    
-    /**
-     * Set the {@link RelyingPartyConfigurationResolver} instance to which to delegate.
-     * 
-     * @param resolver the relying party resolver 
-     */
-    public void setRelyingPartyConfigurationResolver(
-            @Nullable final ReloadableService<RelyingPartyConfigurationResolver> resolver) {
-        checkSetterPreconditions();
-        
-        rpcResolver = resolver;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void setId(@Nonnull @NotEmpty final String componentId) {
-        super.setId(componentId);
-    }
-
-    /** {@inheritDoc} */
-    protected void doInitialize() throws ComponentInitializationException {
-        super.doInitialize();
-        
-        if (rpcResolver == null) {
-            throw new ComponentInitializationException("RelyingPartyConfigurationResolver cannot be null");
-        }
-    }
-
-    /** {@inheritDoc} */
-    protected void doDestroy() {
-        rpcResolver = null;
-        super.doDestroy();
-    }
-
-    /** {@inheritDoc} */
-    @Nonnull @NonnullElements public Iterable<String> resolve(@Nullable final CriteriaSet criteria)
-            throws ResolverException {
-        checkComponentActive();
-        final String entityID = resolveSingle(criteria);
-        if (entityID != null) {
-            return CollectionSupport.singletonList(entityID);
-        }
-        return CollectionSupport.emptyList();
-    }
-
-    /** {@inheritDoc} */
-    @Nullable public String resolveSingle(@Nullable final CriteriaSet criteria) throws ResolverException {
-        checkComponentActive();
-        
-        final ProfileRequestContext prc = buildContext(criteria);
-        if (prc == null) {
-            log.error("Unable to extract or build ProfileRequestContext for resolution");
-            return null;
-        }
-        
-        final CriteriaSet prcSet = new CriteriaSet(new ProfileRequestContextCriterion(prc));
-        
-        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.getMessage());
-        }
-        return null;
-    }
-
-    /**
-     * Build and populate the synthetic instance of {@link ProfileRequestContext} which will be used
-     * in the resolution call to the delegate as well as to resolve the entityID setting.
-     * 
-     * @param criteria the input criteria
-     * @return the synthetic context instance, or null if required data is not supplied
-     */
-    @Nullable private ProfileRequestContext buildContext(@Nullable final CriteriaSet criteria) {
-        if (criteria == null) {
-            return null;
-        }
-        
-        final ProfileRequestContextCriterion prcCriterion = criteria.get(ProfileRequestContextCriterion.class);
-        if (prcCriterion != null) {
-            return prcCriterion.getProfileRequestContext();
-        }
-
-        final String entityID = resolveEntityID(criteria);
-        log.debug("Resolved effective entityID from criteria: {}", entityID);
-
-        final EntityDescriptor entityDescriptor = resolveEntityDescriptor(criteria);
-        log.debug("Resolved effective entity descriptor from criteria: {}", entityDescriptor);
-
-        final RoleDescriptor roleDescriptor = resolveRoleDescriptor(criteria);
-        log.debug("Resolved effective role descriptor from criteria: {}", roleDescriptor);
-
-        if (entityID != null || entityDescriptor != null || roleDescriptor != null) {
-            final ProfileRequestContext prc = new ProfileRequestContext();
-            final RelyingPartyContext rpc = prc.getOrCreateSubcontext(RelyingPartyContext.class);
-            rpc.setVerified(true);
-
-            rpc.setRelyingPartyId(entityID);
-
-            if (entityDescriptor != null || roleDescriptor != null) {
-                final SAMLPeerEntityContext peerContext = prc.getOrCreateSubcontext(SAMLPeerEntityContext.class);
-                rpc.setRelyingPartyIdContextTree(peerContext);
-
-                peerContext.setEntityId(entityID);
-
-                if (roleDescriptor != null) {
-                    peerContext.setRole(roleDescriptor.getSchemaType() != null
-                            ? roleDescriptor.getSchemaType() : roleDescriptor.getElementQName());
-                }
-
-                final SAMLMetadataContext metadataContext = peerContext.getOrCreateSubcontext(SAMLMetadataContext.class);
-                metadataContext.setEntityDescriptor(entityDescriptor);
-                metadataContext.setRoleDescriptor(roleDescriptor);
-            }
-            return prc;
-        }
-        return null;
-    }
-
-    /**
-     * Resolve the entityID from the criteria.
-     * 
-     * @param criteria the input criteria
-     * @return the input entityID criterion or null if could not be resolved
-     */
-    @Nullable private String resolveEntityID(@Nonnull final CriteriaSet criteria) {
-        final EntityIdCriterion eic = criteria.get(EntityIdCriterion.class);
-        if (eic != null) {
-            return eic.getEntityId();
-        }
-
-        final EntityDescriptor ed = resolveEntityDescriptor(criteria);
-        if (ed != null) {
-            return ed.getEntityID();
-        }
-
-        return null;
-    }
-
-    /**
-     * Resolve the EntityDescriptor from the criteria.
-     *
-     * @param criteria the input criteria
-     * @return the input entity descriptor criterion, or null if could not be resolved
-     */
-    @Nullable private EntityDescriptor resolveEntityDescriptor(@Nonnull final CriteriaSet criteria) {
-        final RoleDescriptor rd = resolveRoleDescriptor(criteria);
-        if (rd != null && rd.getParent() != null && rd.getParent() instanceof EntityDescriptor) {
-            return (EntityDescriptor)rd.getParent();
-        }
-
-        return null;
-    }
-
-    /**
-     * Resolve the RoleDescriptor from the criteria.
-     *
-     * @param criteria the input criteria
-     * @return the input role descriptor criterion or null if could not be resolved
-     */
-    @Nullable private RoleDescriptor resolveRoleDescriptor(@Nonnull final CriteriaSet criteria) {
-        final RoleDescriptorCriterion rdc = criteria.get(RoleDescriptorCriterion.class);
-        if (rdc != null) {
-            return rdc.getRole();
-        }
-
-        return null;
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/package-info.java b/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/package-info.java
deleted file mode 100644
index 2d352b3ca..000000000
--- a/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/relyingparty/impl/package-info.java
+++ /dev/null
@@ -1,20 +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.
- */
-
-/** Implementation of APIs for describing a relying party and its configuration. */
-
-package net.shibboleth.idp.profile.relyingparty.impl;
\ No newline at end of file
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectRelyingPartyConfigurationTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectRelyingPartyConfigurationTest.java
index 339fb26f0..c87e341de 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectRelyingPartyConfigurationTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/SelectRelyingPartyConfigurationTest.java
@@ -115,7 +115,7 @@ public class SelectRelyingPartyConfigurationTest {
         assert rpCtx != null;
         rpCtx.setConfiguration(null);
 
-        final var config = new net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration();
+        final var config = new net.shibboleth.profile.relyingparty.RelyingPartyConfiguration();
         config.setId("foo");
         config.setResponderId("http://idp.example.org");
         config.setDetailedErrors(true);
@@ -143,7 +143,7 @@ public class SelectRelyingPartyConfigurationTest {
         assert rpCtx != null;
         rpCtx.setConfiguration(null);
 
-        final var config = new net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration();
+        final var config = new net.shibboleth.profile.relyingparty.RelyingPartyConfiguration();
         config.setId("foo");
         config.setResponderId("http://idp.example.org");
         config.setDetailedErrors(true);
@@ -161,8 +161,7 @@ public class SelectRelyingPartyConfigurationTest {
         final RelyingPartyConfiguration resolvedConfig = (RelyingPartyConfiguration) rpCtx.getConfiguration();
         assert resolvedConfig != null;
         Assert.assertEquals(resolvedConfig.getId(), config.getId());
-        Assert.assertEquals(((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) resolvedConfig).getResponderId(prc),
-                config.getResponderId(prc));
+        Assert.assertEquals(resolvedConfig.getResponderId(prc), config.getResponderId(prc));
         Assert.assertEquals(resolvedConfig.getProfileConfigurations(prc), config.getProfileConfigurations(prc));
     }
 
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 06b754000..37b6306cc 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
@@ -32,9 +32,9 @@ import org.opensaml.saml.common.SAMLObject;
 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.navigate.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.AuditContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 682b91e84..e3303ce41 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.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
 import net.shibboleth.shared.collection.CollectionSupport;
@@ -113,7 +113,8 @@ public class AttributeSourcedSAML1NameIdentifierGenerator extends AbstractSAML1N
      */
     public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
         checkSetterPreconditions();
-        attributeSourceIds = CollectionSupport.copyToList(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
+        attributeSourceIds =
+                CollectionSupport.copyToList(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
     }
 
     /**
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 8226aadcc..7fba8068e 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
@@ -38,10 +38,10 @@ 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.ResponderIdLookupFunction;
 import net.shibboleth.idp.saml.nameid.AbstractSAML2NameIDGenerator;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
 import net.shibboleth.shared.annotation.constraint.ThreadSafeAfterInit;
 import net.shibboleth.shared.collection.CollectionSupport;
@@ -112,7 +112,8 @@ public class AttributeSourcedSAML2NameIDGenerator extends AbstractSAML2NameIDGen
      */
     public void setAttributeSourceIds(@Nonnull @NonnullElements final List<String> ids) {
         checkSetterPreconditions();
-        attributeSourceIds = CollectionSupport.copyToList(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
+        attributeSourceIds =
+                CollectionSupport.copyToList(Constraint.isNotNull(ids, "Attribute ID collection cannot be null"));
     }
 
     /**
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 8abf7304c..ba53084d3 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
@@ -41,10 +41,10 @@ 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.ResponderIdLookupFunction;
 import net.shibboleth.idp.saml.nameid.AbstractSAML2NameIDGenerator;
 import net.shibboleth.profile.context.RelyingPartyContext;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 7f139c7d6..2b794d35f 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.ResponderIdLookupFunction;
 import net.shibboleth.idp.saml.xml.SAMLConstants;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 5edaf7429..40f24c0d6 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
@@ -29,9 +29,9 @@ import org.opensaml.saml.saml2.core.NameID;
 import org.slf4j.Logger;
 
 import net.shibboleth.idp.authn.context.SubjectContext;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.idp.saml.nameid.AbstractSAML2NameIDGenerator;
 import net.shibboleth.profile.context.navigate.RelyingPartyIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 620587025..78a2d6b75 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,9 +39,9 @@ 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.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.annotation.constraint.Live;
 import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.shared.annotation.constraint.NonnullElements;
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 dddeef73b..f4c9700a2 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
@@ -34,8 +34,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.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.profile.config.navigate.IdentifierGenerationStrategyLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 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 8f1cb7222..457f7bd3b 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.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.profile.context.navigate.ResponderIdLookupFunction;
 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/profile/impl/InitializeOutboundMessageContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
index 2bda59e29..57757179e 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/InitializeOutboundMessageContext.java
@@ -36,8 +36,8 @@ import net.shibboleth.shared.primitive.LoggerFactory;
 
 import net.shibboleth.idp.profile.AbstractProfileAction;
 import net.shibboleth.idp.profile.IdPEventIds;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.logic.Constraint;
 
 /**
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
index ca1d556b1..6b929ceb3 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/PopulateInboundMessageContextWithSAMLSelf.java
@@ -31,7 +31,7 @@ import org.slf4j.Logger;
 import net.shibboleth.shared.primitive.LoggerFactory;
 
 import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.logic.Constraint;
 
 /**
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
index 4669e3f9c..a752c1c76 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/profile/impl/UpdateSAMLSelfEntityContext.java
@@ -29,7 +29,7 @@ import org.opensaml.saml.common.messaging.context.SAMLSelfEntityContext;
 import org.slf4j.Logger;
 
 import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.LoggerFactory;
 
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
deleted file mode 100644
index ce50b7923..000000000
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/RelyingPartyConfigurationSupport.java
+++ /dev/null
@@ -1,123 +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.saml.relyingparty.impl;
-
-import java.util.Collection;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.opensaml.saml.common.profile.logic.EntityAttributesPredicate;
-import org.opensaml.saml.common.profile.logic.EntityAttributesPredicate.Candidate;
-import org.opensaml.saml.metadata.resolver.MetadataResolver;
-
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.saml.profile.context.logic.MappedEntityAttributesPredicate;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
-
-/**
- * Extension of shared helper class using IdP-specific configuration class.
- */
-public final class RelyingPartyConfigurationSupport {
-    
-    /** Constructor. */
-    private RelyingPartyConfigurationSupport() {
-        
-    }
-    
-    /**
-     * A shorthand method for constructing a {@link RelyingPartyConfiguration} with an activation condition based on
-     * one or more relying party IDs.
-     * 
-     * <p>If a single ID is supplied, then the ID is also set as the identifier for the configuration.</p>
-     * 
-     * @param relyingPartyIds the relying parties for which the configuration should be active
-     * 
-     * @return  a default-constructed configuration with the appropriate condition set
-     * 
-     * @throws Exception if the configuration class cannot be constructed via the default constructor 
-     */
-    @Nonnull public static RelyingPartyConfiguration byName(
-            @Nonnull @NonnullElements final Collection<String> relyingPartyIds) throws Exception {
-
-        return net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport.byName(RelyingPartyConfiguration.class,
-                relyingPartyIds);
-    }
-
-    /**
-     * A shorthand method for constructing a {@link RelyingPartyConfiguration} with an activation condition based on
-     * one or more {@link org.opensaml.saml.saml2.metadata.EntitiesDescriptor} groups, and optionally via
-     * {@link org.opensaml.saml.saml2.metadata.AffiliationDescriptor} lookup.
-     * 
-     * @param groupNames the group names
-     * @param resolver optional metadata source for affiliation lookup
-     * 
-     * @return  a default-constructed configuration with the appropriate condition set
-     * 
-     * @throws Exception if the configuration class cannot be constructed via the default constructor 
-     */
-    @Nonnull public static RelyingPartyConfiguration byGroup(
-            @Nonnull @NonnullElements final Collection<String> groupNames,
-            @Nullable final MetadataResolver resolver) throws Exception {
-        
-        return net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport.byGroup(
-                RelyingPartyConfiguration.class, groupNames, resolver);
-    }
-
-    
-    /**
-     * A shorthand method for constructing a {@link RelyingPartyConfiguration} with an activation condition based on
-     * an {@link EntityAttributesPredicate}.
-     * 
-     * @param candidates the candidate rules
-     * @param trim true iff tag values in metadata should be trimmed before comparison
-     * @param matchAll true iff all the candidate rules are required to match
-     * 
-     * @return  a default-constructed configuration with the appropriate condition set
-     * 
-     * @throws Exception if the configuration class cannot be constructed via the default constructor 
-     */
-    @Nonnull public static RelyingPartyConfiguration byTag(
-            @Nonnull @NonnullElements final Collection<Candidate> candidates, final boolean trim,
-            final boolean matchAll) throws Exception {
-        
-        return net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport.byTag(RelyingPartyConfiguration.class,
-                candidates, trim, matchAll);
-    }
-
-    /**
-     * A shorthand method for constructing a {@link RelyingPartyConfiguration} with an activation condition based on
-     * a {@link MappedEntityAttributesPredicate}.
-     * 
-     * @param candidates the candidate rules
-     * @param trim true iff tag values in metadata should be trimmed before comparison
-     * @param matchAll true iff all the candidate rules are required to match
-     * 
-     * @return  a default-constructed configuration with the appropriate condition set
-     * 
-     * @throws Exception if the configuration class cannot be constructed via the default constructor 
-     */
-    @Nonnull public static RelyingPartyConfiguration byMappedTag(
-            @Nonnull @NonnullElements final Collection<Candidate> candidates, final boolean trim,
-            final boolean matchAll) throws Exception {
-        
-        return net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport.byMappedTag(
-                RelyingPartyConfiguration.class, candidates, trim, matchAll);
-    }
-
-}
\ No newline at end of file
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/package-info.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/package-info.java
deleted file mode 100644
index 3af1edb52..000000000
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/relyingparty/impl/package-info.java
+++ /dev/null
@@ -1,23 +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.
- */
-
-/**
- * Helpers for constructing {@link net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration} objects
- * with SAML-specific predicates.
- */
-
-package net.shibboleth.idp.saml.relyingparty.impl;
\ No newline at end of file
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
index db8d8c680..30e038b31 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAuthenticationStatementToAssertion.java
@@ -57,7 +57,7 @@ import net.shibboleth.shared.security.IdentifierGenerationStrategy;
  * 
  * <p>A constructed {@link Assertion} will have its ID, IssueInstant, Issuer, and Version properties set.
  * The issuer is based on
- * {@link net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration#getResponderId(ProfileRequestContext)}.</p>
+ * {@link net.shibboleth.profile.relyingparty.RelyingPartyConfiguration#getResponderId(ProfileRequestContext)}.</p>
  * 
  * <p>The {@link AuthenticationStatement} will have its authentication instant set, based on
  * {@link net.shibboleth.idp.authn.AuthenticationResult#getAuthenticationInstant()}
diff --git a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
index 442328bb5..c1ed67416 100644
--- a/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
+++ b/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnStatementToAssertion.java
@@ -66,7 +66,7 @@ import net.shibboleth.shared.primitive.LoggerFactory;
  * 
  * <p>A constructed {@link Assertion} will have its ID, IssueInstant, Issuer, and Version properties set.
  * The issuer is based on
- * {@link net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration#getResponderId(ProfileRequestContext)}.</p>
+ * {@link net.shibboleth.profile.relyingparty.RelyingPartyConfiguration#getResponderId(ProfileRequestContext)}.</p>
  * 
  * <p>The {@link AuthnStatement} will have its authentication instant set, based on
  * {@link net.shibboleth.idp.authn.AuthenticationResult#getAuthenticationInstant()}
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 fed0de738..f7eb943bb 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
@@ -46,7 +46,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.ResponderIdLookupFunction;
 import net.shibboleth.idp.saml.session.SAML2SPSession;
 import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SPSession;
@@ -55,6 +54,7 @@ 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.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.saml.saml2.profile.config.navigate.QualifiedNameIDFormatsLookupFunction;
 import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.shared.component.ComponentInitializationException;
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/relyingparty/impl/tests/RelyingPartyConfigurationResolverTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/relyingparty/impl/tests/RelyingPartyConfigurationResolverTest.java
index af691f64c..3b48fb23e 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/relyingparty/impl/tests/RelyingPartyConfigurationResolverTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/relyingparty/impl/tests/RelyingPartyConfigurationResolverTest.java
@@ -42,11 +42,11 @@ import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import net.shibboleth.idp.saml.relyingparty.impl.RelyingPartyConfigurationSupport;
 import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.profile.relyingparty.RelyingPartyConfigurationResolver;
 import net.shibboleth.profile.relyingparty.VerifiedProfileCriterion;
 import net.shibboleth.profile.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
+import net.shibboleth.saml.relyingparty.RelyingPartyConfigurationSupport;
 import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 import net.shibboleth.shared.resolver.CriteriaSet;
@@ -56,23 +56,23 @@ import net.shibboleth.shared.resolver.ResolverException;
 @SuppressWarnings("javadoc")
 public class RelyingPartyConfigurationResolverTest extends XMLObjectBaseTestCase {
     
-    private net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration anonRP, defaultRP; 
+    private RelyingPartyConfiguration anonRP, defaultRP; 
     
-    private net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration oneByName, twoByName, threeByName;
-    private net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration oneByGroup, twoByGroup;
-    private net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration oneByTag, twoByTag;
+    private RelyingPartyConfiguration oneByName, twoByName, threeByName;
+    private RelyingPartyConfiguration oneByGroup, twoByGroup;
+    private RelyingPartyConfiguration oneByTag, twoByTag;
     
     private DefaultRelyingPartyConfigurationResolver resolver;
         
     @BeforeMethod
     public void setup() throws Exception {
-        anonRP = new net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration();
+        anonRP = new RelyingPartyConfiguration();
         anonRP.setId("anonRPId");
         anonRP.setResponderId("anonRPResp");
         anonRP.setDetailedErrors(true);
         anonRP.initialize();
         
-        defaultRP = new net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration();
+        defaultRP = new RelyingPartyConfiguration();
         defaultRP.setId("defaultRPId");
         defaultRP.setResponderId("defaultRPResp");
         defaultRP.setDetailedErrors(true);
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGeneratorTest.java
index 25c4a4645..8d17b9e99 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML1NameIdentifierGeneratorTest.java
@@ -188,7 +188,7 @@ public class AttributeSourcedSAML1NameIdentifierGeneratorTest extends OpenSAMLIn
         Assert.assertEquals(outputNameId.getValue(), NAME_1);
         Assert.assertEquals(outputNameId.getFormat(), NameIdentifier.X509_SUBJECT);
         Assert.assertEquals(outputNameId.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
     }
 
     @Test public void testScopeValued() throws Exception {
@@ -205,6 +205,6 @@ public class AttributeSourcedSAML1NameIdentifierGeneratorTest extends OpenSAMLIn
         Assert.assertEquals(outputNameId.getValue(), NAME_1 + '@' + QUALIFIER);
         Assert.assertEquals(outputNameId.getFormat(), NameIdentifier.X509_SUBJECT);
         Assert.assertEquals(outputNameId.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
     }
 }
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGeneratorTest.java
index bb1a311b2..3c3a1d46a 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/AttributeSourcedSAML2NameIDGeneratorTest.java
@@ -187,7 +187,7 @@ public class AttributeSourcedSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTe
         Assert.assertEquals(outputNameId.getValue(), NAME_1);
         Assert.assertEquals(outputNameId.getFormat(), NameID.X509_SUBJECT);
         Assert.assertEquals(outputNameId.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
     }
 
     @Test public void testScopeValued() throws Exception {
@@ -204,7 +204,7 @@ public class AttributeSourcedSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTe
         Assert.assertEquals(outputNameId.getValue(), NAME_1 + '@' + QUALIFIER);
         Assert.assertEquals(outputNameId.getFormat(), NameID.X509_SUBJECT);
         Assert.assertEquals(outputNameId.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) prc.getSubcontext(RelyingPartyContext.class).getConfiguration()).getResponderId(prc));
         Assert.assertEquals(outputNameId.getSPNameQualifier(),
                 prc.getSubcontext(RelyingPartyContext.class).getRelyingPartyId());
     }
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
index 57283e5cc..ccfaddb7b 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML1NameIdentifierGeneratorTest.java
@@ -121,7 +121,7 @@ public class CryptoTransientSAML1NameIdentifierGeneratorTest extends OpenSAMLIni
         Assert.assertNotNull(name);
         Assert.assertEquals(name.getFormat(), generator.getFormat());
         Assert.assertEquals(name.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
 
         final String val = name.getValue();
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
index 98b1998d6..c6ffe3128 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/CryptoTransientSAML2NameIDGeneratorTest.java
@@ -122,7 +122,7 @@ public class CryptoTransientSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTes
         Assert.assertNotNull(name);
         Assert.assertEquals(name.getFormat(), generator.getFormat());
         Assert.assertEquals(name.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
 
         final String val = name.getValue();
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
index 323928c25..a44ce44b5 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML1NameIdentifierGeneratorTest.java
@@ -96,7 +96,7 @@ public class StoredTransientSAML1NameIdentifierGeneratorTest extends OpenSAMLIni
         Assert.assertNotNull(name);
         Assert.assertEquals(name.getFormat(), generator.getFormat());
         Assert.assertEquals(name.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
 
         String val = name.getValue();
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
index 5e4baf3a9..53d762f03 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/nameid/impl/StoredTransientSAML2NameIDGeneratorTest.java
@@ -97,7 +97,7 @@ public class StoredTransientSAML2NameIDGeneratorTest extends OpenSAMLInitBaseTes
         Assert.assertNotNull(name);
         Assert.assertEquals(name.getFormat(), generator.getFormat());
         Assert.assertEquals(name.getNameQualifier(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) rpc.getConfiguration()).getResponderId(prc));
         Assert.assertEquals(name.getSPNameQualifier(), rpc.getRelyingPartyId());
 
         String val = name.getValue();
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 7518372cf..e091c8ae7 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.ResponderIdLookupFunction;
 import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
@@ -27,6 +26,7 @@ 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.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.opensaml.core.testing.XMLObjectBaseTestCase;
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionSupportTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionSupportTest.java
index 8ace51d27..5f2f716cd 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionSupportTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionSupportTest.java
@@ -68,12 +68,12 @@ public class SAML1ActionSupportTest extends OpenSAMLInitBaseTestCase {
         Assert.assertEquals(response.getAssertions().size(), 0, "Expected zarro assertions before insert");
         final Assertion assertion = SAML1ActionSupport.addAssertionToResponse(action, response,
                 relyingPartyCtx.getProfileConfig().getSecurityConfiguration(profileRequestContext).getIdGenerator(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
         Assert.assertEquals(response.getAssertions().size(), 1, "Expected but one assertion after insert");
         Assert.assertTrue(response.getAssertions().contains(assertion), "Inserted assertion should be there");
         final Assertion second = SAML1ActionSupport.addAssertionToResponse(action, response,
                 relyingPartyCtx.getProfileConfig().getSecurityConfiguration(profileRequestContext).getIdGenerator(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
         Assert.assertEquals(response.getAssertions().size(), 2, "Expected two assertions after two inserts");
         Assert.assertTrue(response.getAssertions().contains(assertion), "Inserted assertion should be there");
         Assert.assertNotSame(second, assertion, "Two separate assertions should have been added");
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionTestingSupport.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionTestingSupport.java
index c69ecea95..2d5bd1333 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionTestingSupport.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/SAML1ActionTestingSupport.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.relyingparty.RelyingPartyConfiguration;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.saml.saml1.profile.config.impl.ArtifactResolutionProfileConfiguration;
 import net.shibboleth.idp.saml.saml1.profile.config.impl.AttributeQueryProfileConfiguration;
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequestTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequestTest.java
index 25ea792a4..f12b530ed 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequestTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAuthnRequestTest.java
@@ -30,15 +30,15 @@ import net.shibboleth.idp.profile.IdPEventIds;
 import org.opensaml.profile.action.EventIds;
 import org.opensaml.profile.context.ProfileRequestContext;
 
-import net.shibboleth.idp.profile.context.navigate.ResponderIdLookupFunction;
 import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
 import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
 import net.shibboleth.idp.saml.saml2.profile.config.impl.BrowserSSOProfileConfiguration;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.context.navigate.ResponderIdLookupFunction;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.collection.CollectionSupport;
 import net.shibboleth.shared.component.ComponentInitializationException;
 
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionSupportTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionSupportTest.java
index 96e2f27e8..5d82f55e3 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionSupportTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionSupportTest.java
@@ -68,12 +68,12 @@ public class SAML2ActionSupportTest extends OpenSAMLInitBaseTestCase {
         Assert.assertEquals(response.getAssertions().size(), 0, "Expected zarro assertions before insert");
         Assertion assertion = SAML2ActionSupport.addAssertionToResponse(action, response,
                 relyingPartyCtx.getProfileConfig().getSecurityConfiguration(profileRequestContext).getIdGenerator(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
         Assert.assertEquals(response.getAssertions().size(), 1, "Expected but one assertion after insert");
         Assert.assertTrue(response.getAssertions().contains(assertion), "Inserted assertion should be there");
         Assertion second = SAML2ActionSupport.addAssertionToResponse(action, response,
                 relyingPartyCtx.getProfileConfig().getSecurityConfiguration(profileRequestContext).getIdGenerator(),
-                ((net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
+                ((net.shibboleth.profile.relyingparty.RelyingPartyConfiguration) relyingPartyCtx.getConfiguration()).getResponderId(profileRequestContext));
         Assert.assertEquals(response.getAssertions().size(), 2, "Expected two assertions after two inserts");
         Assert.assertTrue(response.getAssertions().contains(assertion), "Inserted assertion should be there");
         Assert.assertNotSame(second, assertion, "Two separate assertions should have been added");
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionTestingSupport.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionTestingSupport.java
index 7e9a023d1..86ce6dfbd 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionTestingSupport.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SAML2ActionTestingSupport.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.relyingparty.RelyingPartyConfiguration;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.saml.saml2.profile.config.impl.ArtifactResolutionProfileConfiguration;
 import net.shibboleth.idp.saml.saml2.profile.config.impl.AttributeQueryProfileConfiguration;
diff --git a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
index 10dbd49c0..f7e3df2e6 100644
--- a/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
+++ b/idp-testing/src/main/java/net/shibboleth/idp/profile/testing/RequestContextBuilder.java
@@ -31,9 +31,9 @@ import javax.annotation.Nullable;
 import jakarta.servlet.ServletContext;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import net.shibboleth.idp.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.profile.config.ProfileConfiguration;
 import net.shibboleth.profile.context.RelyingPartyContext;
+import net.shibboleth.profile.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.shared.component.ComponentInitializationException;
 
 import org.opensaml.messaging.context.MessageContext;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list