[java-identity-provider] 20/51: IDP-1121 Remove V2 relying party configuration

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:42:51 EST 2019


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=71e358f0a519555b8a3ffb3dcb43b6b9596c9e60

commit 71e358f0a519555b8a3ffb3dcb43b6b9596c9e60
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Dec 11 14:11:29 2018 +0000

    IDP-1121 Remove V2 relying party configuration
    
    https://issues.shibboleth.net/jira/browse/IDP-1121
---
 .../impl/AbstractRelyingPartyParser.java           |  87 -----
 .../impl/AnonymousRelyingPartyParser.java          |  52 ---
 .../impl/DefaultRelyingPartyParser.java            |  54 ---
 .../relyingparty/impl/RelyingPartyGroupParser.java | 138 --------
 .../impl/RelyingPartyNamespaceHandler.java         |  38 ---
 .../relyingparty/impl/RelyingPartyParser.java      |  97 ------
 .../spring/relyingparty/impl/package-info.java     |  22 --
 .../metadata/AbstractMetadataProviderParser.java   |  16 +-
 .../impl/AllowDelegationPredicateFactoryBean.java  |  91 -----
 .../impl/BaseSAML2ProfileConfigurationParser.java  |  78 -----
 .../impl/BaseSAMLProfileConfigurationParser.java   | 276 ---------------
 .../impl/RelyingPartySAMLNamespaceHandler.java     |  52 ---
 .../impl/SAML1ArtifactResolutionProfileParser.java |  46 ---
 .../impl/SAML1AttributeQueryProfileParser.java     |  49 ---
 .../impl/SAML2ArtifactResolutionProfileParser.java |  45 ---
 .../impl/SAML2AttributeQueryProfileParser.java     |  50 ---
 .../saml/impl/SAML2BrowserSSOProfileParser.java    | 167 ---------
 .../saml/impl/SAML2ECPProfileParser.java           |  51 ---
 .../saml/impl/SAML2LogoutRequestProfileParser.java |  51 ---
 .../saml/impl/SAML2SSOSProfileParser.java          |  61 ----
 .../saml/impl/ShibbolethSSOProfileParser.java      | 144 --------
 .../relyingparty/saml/impl/package-info.java       |  23 --
 .../src/main/resources/META-INF/spring.handlers    |   2 -
 .../spring/relyingparty/MultiSourceFileTest.java   |  61 ----
 .../spring/relyingparty/RelyingPartyGroupTest.java | 255 --------------
 .../spring/relyingparty/RelyingPartyTest.java      |  86 -----
 .../relyingparty/saml/BaseSAMLProfileTest.java     | 104 ------
 .../spring/relyingparty/saml/LogoutTest.java       |  92 -----
 .../relyingparty/saml/SAML1ArtifactTest.java       |  70 ----
 .../relyingparty/saml/SAML1AttributeQueryTest.java |  80 -----
 .../relyingparty/saml/SAML2ArtifactTest.java       |  88 -----
 .../relyingparty/saml/SAML2AttributeQueryTest.java |  99 ------
 .../saml/SAML2BrowserSSOProfileTest.java           | 141 --------
 .../relyingparty/saml/SAML2ECPProfileTest.java     | 112 ------
 .../relyingparty/saml/SAML2SSOSProfileTest.java    |  40 ---
 .../saml/ShibbolethSSOProfileTest.java             |  88 -----
 .../idp/profile/spring/relyingparty/beans.xml      | 160 ---------
 .../spring/relyingparty/propertyPlaceholder.xml    |  17 -
 .../spring/relyingparty/relying-party-group.xml    | 240 -------------
 .../spring/relyingparty/relying-party-group2.xml   |  15 -
 .../profile/spring/relyingparty/relying-party.xml  |  14 -
 .../idp/profile/spring/relyingparty/saml/ecp.xml   |   9 -
 .../relyingparty/saml/ecpLocalityAddress.xml       |  13 -
 .../relyingparty/saml/ecpLocalityDNSName.xml       |  13 -
 .../profile/spring/relyingparty/saml/ecpValues.xml |  15 -
 .../profile/spring/relyingparty/saml/logout.xml    |   9 -
 .../spring/relyingparty/saml/logoutValues.xml      |  15 -
 .../spring/relyingparty/saml/saml1artifact.xml     |   9 -
 .../relyingparty/saml/saml1artifactValues.xml      |  38 ---
 .../relyingparty/saml/saml1attributeQuery.xml      |   9 -
 .../saml/saml1attributeQueryValues.xml             |  15 -
 .../profile/spring/relyingparty/saml/saml2SSO.xml  |   9 -
 .../saml/saml2SSOAllowDelegationPredicate.xml      |  39 ---
 .../saml2SSOAllowDelegationPropertyReplacement.xml |  36 --
 .../spring/relyingparty/saml/saml2SSOValues.xml    |  36 --
 .../spring/relyingparty/saml/saml2artifact.xml     |  12 -
 .../relyingparty/saml/saml2artifactValues.xml      |  20 --
 .../relyingparty/saml/saml2attributeQuery.xml      |   9 -
 .../saml/saml2attributeQueryValues.xml             |  21 --
 .../spring/relyingparty/saml/shibbolethSSO.xml     |   9 -
 .../relyingparty/saml/shibbolethSSOValues.xml      |  15 -
 .../idp/profile/spring/relyingparty/saml/ssos.xml  |   9 -
 .../spring/relyingparty/saml/ssosValues.xml        |  12 -
 .../idp/profile/spring/relyingparty/services.xml   |  53 ---
 .../schema/shibboleth-relying-party-saml.xsd       | 380 ---------------------
 .../resources/schema/shibboleth-relying-party.xsd  | 145 --------
 66 files changed, 2 insertions(+), 4400 deletions(-)

diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java
deleted file mode 100644
index bf57c2b..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the common parts of <AnonymousRelyingParty> <DefaultRelyingParty> and <RelyingParty>.
- * Implementations only differ by being named or not (for reference elsewhere) and by the
- * {@link java.util.function.Predicate} which is injected.
- */
-public abstract class AbstractRelyingPartyParser extends AbstractSingleBeanDefinitionParser {
-
-    /** Element name. */
-    public static final QName PROFILE_CONFIGURATION = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
-            "ProfileConfiguration");
-
-    /** log. */
-    private Logger log = LoggerFactory.getLogger(AbstractRelyingPartyParser.class);
-
-    /** {@inheritDoc} */
-    @Override protected java.lang.Class<RelyingPartyConfiguration> getBeanClass(final Element element) {
-        return RelyingPartyConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        builder.setLazyInit(true);
-        super.doParse(element, parserContext, builder);
-
-        // defaultSigningCredentialRef, defaultAuthenticationMethod and nameIDFormatPrecedence are dealt with
-        // in the specific SSO profileConfigurations.
-        // IDP-563: defaultAuthenticationMethod had weird semantics in V2. Warn.
-        if (element.hasAttributeNS(null, "defaultAuthenticationMethod")) {
-            log.warn("Specific authentication methods may not work for all profiles.  defaultAuthenticationMethod='{}'",
-                    element.getAttributeNS(null, "defaultAuthenticationMethod"));
-        }
-
-        final String provider = StringSupport.trimOrNull(element.getAttributeNS(null, "provider"));
-        builder.addPropertyValue("responderId", provider);
-
-        final String detailedErrors = StringSupport.trimOrNull(element.getAttributeNS(null, "detailedErrors"));
-        if (null != detailedErrors) {
-            builder.addPropertyValue("detailedErrors", detailedErrors);
-        }
-
-        final List<BeanDefinition> profileConfigurations =
-                SpringSupport.parseCustomElements(ElementSupport.getChildElements(element, PROFILE_CONFIGURATION),
-                        parserContext);
-        builder.addPropertyValue("profileConfigurations", profileConfigurations);
-
-        builder.setInitMethodName("initialize");
-        builder.setDestroyMethodName("destroy");
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java
deleted file mode 100644
index 5277c8b..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the <rp:AnonymousRelyingParty> element. <br/>
- * The {@link java.util.function.Predicate} which is injected looks to see if there is metadata associated with the
- * RelyingParty and if so says TRUE.
- */
-public class AnonymousRelyingPartyParser extends AbstractRelyingPartyParser {
-
-    /** Element name. */
-    public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
-            "AnonymousRelyingParty");
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        builder.addPropertyValue("id", "AnonymousRelyingParty");
-        // We don't set an activationCondition property because the anonymous/unverified case is a special one.
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean shouldGenerateId() {
-        return true;
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java
deleted file mode 100644
index 86ea149..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-import com.google.common.base.Predicates;
-
-/**
- * Parser for the <rp:AnonymousRelyingParty> element. <br/>
- * The {@link java.util.function.Predicate} which is injected is AlwaysTrue. The {@link RelyingPartyGroupParser}
- * takes care to ensure that this element is always at the end of the list, thus implementing Default semantics.
- */
-public class DefaultRelyingPartyParser extends AbstractRelyingPartyParser {
-
-    /** Element name. */
-    public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
-            "DefaultRelyingParty");
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        builder.addPropertyValue("id", "DefaultRelyingParty");
-        builder.addPropertyValue("activationCondition", Predicates.alwaysTrue());
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean shouldGenerateId() {
-        return true;
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java
deleted file mode 100644
index 827dc26..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.MetadataNamespaceHandler;
-import net.shibboleth.idp.profile.spring.relyingparty.security.impl.SecurityNamespaceHandler;
-import net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.opensaml.security.x509.tls.impl.BasicClientTLSValidationConfiguration;
-import org.opensaml.xmlsec.impl.BasicSignatureValidationConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for <RelyingPartyGroup>
- * 
- * <p>
- * This parser summons up two beans: a {@link DefaultRelyingPartyConfigurationResolver} which deals with the
- * RelyingParty bit of the file, and a series of {@link org.opensaml.saml.metadata.resolver.MetadataResolver}s which
- * deal with the metadata configuration.
- * </p>
- */
-public class RelyingPartyGroupParser extends AbstractSingleBeanDefinitionParser {
-
-    /** {@inheritDoc} */
-    @Override protected Class<DefaultRelyingPartyConfigurationResolver> getBeanClass(final Element element) {
-        return DefaultRelyingPartyConfigurationResolver.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-        final Map<QName, List<Element>> configChildren = ElementSupport.getIndexedChildElements(element);
-        builder.setLazyInit(true);
-        builder.setInitMethodName("initialize");
-        builder.setDestroyMethodName("destroy");
-        
-        DeprecationSupport.warn(ObjectType.ELEMENT,
-                AbstractMetadataProviderParser.RELYING_PARTY_GROUP_ELEMENT_NAME.toString(),
-                parserContext.getReaderContext().getResource().getDescription(),
-                "via updated RelyingParty configuration");
-
-        builder.addPropertyValue("id", "RelyingPartyGroup["
-                + parserContext.getReaderContext().getResource().getFilename() + "]");
-
-        seDefaultSecurityConfiguration(builder);
-
-        // All the Relying Parties
-        final List<BeanDefinition> relyingParties =
-                SpringSupport.parseCustomElements(configChildren.get(RelyingPartyParser.ELEMENT_NAME), parserContext);
-        if (null != relyingParties && relyingParties.size() > 0) {
-            builder.addPropertyValue("relyingPartyConfigurations", relyingParties);
-        }
-        final List<BeanDefinition> defaultRps =
-                SpringSupport.parseCustomElements(configChildren.get(DefaultRelyingPartyParser.ELEMENT_NAME),
-                        parserContext);
-        builder.addPropertyValue("defaultConfiguration", defaultRps.get(0));
-
-        final List<BeanDefinition> anonRps =
-                SpringSupport.parseCustomElements(configChildren.get(AnonymousRelyingPartyParser.ELEMENT_NAME),
-                        parserContext);
-        builder.addPropertyValue("unverifiedConfiguration", anonRps.get(0));
-
-        // Metadata
-        SpringSupport.parseCustomElements(configChildren.get(MetadataNamespaceHandler.METADATA_ELEMENT_NAME),
-                parserContext);
-
-        // <Credential> (for metadata & signing)
-        SpringSupport.parseCustomElements(configChildren.get(SecurityNamespaceHandler.CREDENTIAL_ELEMENT_NAME),
-                parserContext);
-        // <TrustEngine> (for metadata)
-        SpringSupport.parseCustomElements(configChildren.get(AbstractMetadataProviderParser.TRUST_ENGINE_ELEMENT_NAME),
-                parserContext);
-
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean shouldGenerateId() {
-        return true;
-    }
-
-    /**
-     * Setup the default {@link SecurityConfiguration} for the resolver to establish default trust engines to use.
-     * 
-     * @param builder the builder for the resolver
-     */
-    private void seDefaultSecurityConfiguration(final BeanDefinitionBuilder builder) {
-
-        final BeanDefinitionBuilder signatureValidationConfig =
-                BeanDefinitionBuilder.genericBeanDefinition(BasicSignatureValidationConfiguration.class);
-        signatureValidationConfig.addPropertyReference("signatureTrustEngine", "shibboleth.SignatureTrustEngine");
-
-        final BeanDefinitionBuilder tlsValidationConfig =
-                BeanDefinitionBuilder.genericBeanDefinition(BasicClientTLSValidationConfiguration.class);
-        tlsValidationConfig.addPropertyReference("x509TrustEngine", "shibboleth.X509TrustEngine");
-
-        final BeanDefinitionBuilder configuration =
-                BeanDefinitionBuilder.genericBeanDefinition(SecurityConfiguration.class);
-        configuration.addPropertyValue("signatureValidationConfiguration",
-                signatureValidationConfig.getBeanDefinition());
-        configuration.addPropertyValue("clientTLSValidationConfiguration", tlsValidationConfig.getBeanDefinition());
-
-        builder.addPropertyValue("defaultSecurityConfiguration", configuration.getBeanDefinition());
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java
deleted file mode 100644
index 95bba97..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-/** Namespace handler for the relying party files. Only the elements need to be handled.
-    All the types belong in the SAML namespace. */
-public class RelyingPartyNamespaceHandler extends BaseSpringNamespaceHandler {
-
-    /** {@inheritDoc} */
-    @Override public void init() {
-        // Relying party Configuration
-        // Firstly the types that go inside the Profile
-        registerBeanDefinitionParser(RelyingPartyParser.ELEMENT_NAME, new RelyingPartyParser());
-        registerBeanDefinitionParser(DefaultRelyingPartyParser.ELEMENT_NAME, new DefaultRelyingPartyParser());
-        registerBeanDefinitionParser(AnonymousRelyingPartyParser.ELEMENT_NAME, new AnonymousRelyingPartyParser());
-
-        registerBeanDefinitionParser(AbstractMetadataProviderParser.RELYING_PARTY_GROUP_ELEMENT_NAME,
-                new RelyingPartyGroupParser());
-    }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java
deleted file mode 100644
index f8caad4..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
-import net.shibboleth.utilities.java.support.logic.StrategyIndirectedPredicate;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.opensaml.saml.common.messaging.context.navigate.EntityDescriptorLookupFunction;
-import org.opensaml.saml.common.profile.logic.EntityGroupNamePredicate;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the <rp:RelyingParty> element.
- */
-public class RelyingPartyParser extends AbstractRelyingPartyParser {
-
-    /** Element name. */
-    public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE, "RelyingParty");
-
-    /**
-     * {@inheritDoc} The construction of the activation Condition is more complicated than one might suppose. The
-     * definition is that if the it matches the relyingPartyID *or* it matches the <EntitiesDescriptor>, then the
-     * configuration matches. So we need to
-     * {@link PredicateSupport#or(java.util.function.Predicate, java.util.function.Predicate)} a
-     * {@link RelyingPartyIdPredicate} and an {@link EntityGroupNamePredicate} These however may have injected lookup
-     * strategies and so these need to be constructed as a BeanDefinition.
-     * */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        final String id = StringSupport.trimOrNull(element.getAttributeNS(null, "id"));
-        builder.addPropertyValue("id", id);
-
-        final List<String> ids = new ManagedList<>(1);
-        ids.add(id);
-
-        // This is a simple predicate acting directly on the RelyingPartyContext.
-        final BeanDefinitionBuilder rpPredicate =
-                BeanDefinitionBuilder.genericBeanDefinition(RelyingPartyIdPredicate.class);
-        rpPredicate.addConstructorArgValue(ids);
-
-        // This is the complex predicate to apply to the EntityDescriptor buried inside the context.
-        final BeanDefinitionBuilder egPredicate =
-                BeanDefinitionBuilder.genericBeanDefinition(EntityGroupNamePredicate.class);
-        egPredicate.addConstructorArgValue(ids);
-        
-        // This is a lookup function composition to get from the PRC to the SAMLMetadataContext.
-        final BeanDefinitionBuilder lookupFunction =
-                BeanDefinitionBuilder.rootBeanDefinition(FunctionSupport.class, "compose");
-        lookupFunction.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition(
-                EntityDescriptorLookupFunction.class).getBeanDefinition());
-        lookupFunction.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition(
-                SAMLMetadataContextLookupFunction.class).getBeanDefinition());
-        
-        // And this indirects the predicate to apply to the result of the lookup.
-        final BeanDefinitionBuilder indirectPredicate =
-                BeanDefinitionBuilder.genericBeanDefinition(StrategyIndirectedPredicate.class);
-        indirectPredicate.addConstructorArgValue(lookupFunction.getBeanDefinition());
-        indirectPredicate.addConstructorArgValue(egPredicate.getBeanDefinition());
-
-        final BeanDefinitionBuilder orPredicate = BeanDefinitionBuilder.genericBeanDefinition(PredicateSupport.class);
-        orPredicate.setFactoryMethod("or");
-        orPredicate.addConstructorArgValue(rpPredicate.getBeanDefinition());
-        orPredicate.addConstructorArgValue(indirectPredicate.getBeanDefinition());
-
-        builder.addPropertyValue("activationCondition", orPredicate.getBeanDefinition());
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java
deleted file mode 100644
index 72e68a6..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java
+++ /dev/null
@@ -1,22 +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.
- */
-
-/**
- * Parsers for the <RelyingParty> urn:mace:shibboleth:2.0:relying-party schema.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
index d84d150..f7050a2 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
@@ -52,8 +52,6 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
 
     /** Namespace for Security. */
     public static final String SECURITY_NAMESPACE = "urn:mace:shibboleth:2.0:security";
-    /** Namespace for RelyingParty. */
-    public static final String RP_NAMESPACE = "urn:mace:shibboleth:2.0:relying-party";
     /** Namespace for Metadata. */
     public static final String METADATA_NAMESPACE = "urn:mace:shibboleth:2.0:metadata";
     
@@ -63,8 +61,6 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
     public static final QName CHAINING_PROVIDER_ELEMENT_NAME = 
             new QName(METADATA_NAMESPACE, "ChainingMetadataProvider");
     /** RelyingPartyGroup Element name. */
-    public static final QName RELYING_PARTY_GROUP_ELEMENT_NAME = new QName(RP_NAMESPACE, "RelyingPartyGroup");
-    /** TrustEngine element name. */
     public static final QName TRUST_ENGINE_ELEMENT_NAME = new QName(SECURITY_NAMESPACE, "TrustEngine");
 
     /** Logger. */
@@ -94,7 +90,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
     }
 
     /**
-     * Is this the element at the top of the file? Yes, if it has no parent or if the parent is a RelyingPartyGroup. In
+     * Is this the element at the top of the file? Yes, if it has no parent. In
      * this situation we need to wrap the element in a {@link RelyingPartyMetadataProvider}.
      * 
      * @param element the element.
@@ -103,15 +99,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
     private boolean isTopMost(@Nonnull final Element element) {
         final Node parent = element.getParentNode();
 
-        if (parent.getNodeType() == Node.DOCUMENT_NODE) {
-            return true;
-        }
-
-        if (parent.getNodeType() != Node.ELEMENT_NODE) {
-            return false;
-        }
-        return RELYING_PARTY_GROUP_ELEMENT_NAME.getLocalPart().equals(parent.getLocalName())
-                && RELYING_PARTY_GROUP_ELEMENT_NAME.getNamespaceURI().equals(parent.getNamespaceURI());
+        return parent.getNodeType() == Node.DOCUMENT_NODE;
     }
 
     /**
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java
deleted file mode 100644
index 65ced19..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.function.Predicate;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.FactoryBean;
-
-import com.google.common.base.Predicates;
-
-/**
- * Factory bean for producing a delegation {@link Predicate} from multiple inputs.
- */
-public class AllowDelegationPredicateFactoryBean implements FactoryBean<Predicate<ProfileRequestContext>> {
-    
-    /** Logger. */
-    private Logger log = LoggerFactory.getLogger(AllowDelegationPredicateFactoryBean.class);
-    
-    /** Delegation boolean attribute value. */
-    private Boolean allowDelegation;
-    
-    /** Delegation predicate attribute bean ref. */
-    private Predicate<ProfileRequestContext> allowDelegationPredicate;
-
-    /**
-     * Set the delegation boolean attribute value.
-     * 
-     * @param flag delegation attribute value
-     */
-    public void setAllowDelegation(@Nullable final Boolean flag) {
-        allowDelegation = flag;
-    }
-
-    /**
-     * Set the delegation predicate attribute bean ref.
-     * 
-     * @param predicate delegation predicate
-     */
-    public void setAllowDelegationPredicate(@Nullable final Predicate<ProfileRequestContext> predicate) {
-        allowDelegationPredicate = predicate;
-    }
-
-    /** {@inheritDoc} */
-    public Class<?> getObjectType() {
-        return Predicate.class;
-    }
-
-    /** {@inheritDoc} */
-    public boolean isSingleton() {
-        return false;
-    }
-    
-    /** {@inheritDoc} */
-    public Predicate<ProfileRequestContext> getObject() throws Exception {
-        if (allowDelegationPredicate != null) {
-            if (allowDelegation != null) {
-                log.warn("Attribute 'allowDelegation' is being ignored in favor of 'allowDelegationPredicateRef'");
-            }
-            return allowDelegationPredicate;
-        } else if (allowDelegation != null) {
-            if (allowDelegation) {
-                return Predicates.alwaysTrue();
-            } else {
-                return Predicates.alwaysFalse();
-            }
-        } else {
-            return Predicates.alwaysFalse();
-        }
-    }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java
deleted file mode 100644
index f451074..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for all classes which extend
- * {@link net.shibboleth.idp.saml.saml2.profile.config.AbstractSAML2ProfileConfiguration} and for elements which inherit
- * from <code>saml:SAML2ProfileConfigutationType</code>.
- */
-public abstract class BaseSAML2ProfileConfigurationParser extends BaseSAMLProfileConfigurationParser {
-
-    /**
-     * Get the list of proxy audiences from the <ProxyAudience> sub-elements.
-     * 
-     * @param element the element under discussion
-     * @return the list of elements (which are subject to property replacement)
-     */
-    protected List<String> getProxyAudiences(final Element element) {
-        final List<Element> audienceElems =
-                ElementSupport.getChildElementsByTagNameNS(element, RelyingPartySAMLNamespaceHandler.NAMESPACE,
-                        "ProxyAudience");
-        return SpringSupport.getElementTextContentAsManagedList(audienceElems);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        if (element.hasAttributeNS(null, "encryptionOptional")) {
-            builder.addPropertyValue("encryptionOptional",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "encryptionOptional")));
-        }
-
-        if (element.hasAttributeNS(null, "encryptAssertions")) {
-            builder.addPropertyValue("encryptAssertions", predicateForEncryption(
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "encryptAssertions"))));
-        }
-        if (element.hasAttributeNS(null, "encryptNameIds")) {
-            builder.addPropertyValue("encryptNameIDs", predicateForEncryption(
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "encryptNameIds"))));
-        }
-        if (element.hasAttributeNS(null, "encryptAttributes")) {
-            builder.addPropertyValue("encryptAttributes", predicateForEncryption(
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "encryptAttributes"))));
-        }
-        if (element.hasAttributeNS(null, "assertionProxyCount")) {
-            builder.addPropertyValue("proxyCount",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "assertionProxyCount")));
-        }
-        builder.addPropertyValue("proxyAudiences", getProxyAudiences(element));
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java
deleted file mode 100644
index 0c506f5..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.saml.profile.config.BasicSAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.profile.config.logic.LegacyEncryptionRequirementPredicate;
-import net.shibboleth.idp.saml.profile.config.logic.LegacySigningRequirementPredicate;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.opensaml.xmlsec.impl.BasicSignatureSigningConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser for all classes which extend {@link net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration}
- * and for elements which inherit from <code>saml:SAMLProfileConfigutationType</code>.
- */
-public abstract class BaseSAMLProfileConfigurationParser extends AbstractSingleBeanDefinitionParser {
-
-    /** Class logger. */
-    @Nonnull private final Logger log = LoggerFactory.getLogger(BaseSAMLProfileConfigurationParser.class);
-
-    /** Flag controlling whether to parse artifact configuration. */
-    private boolean artifactAware;
-
-    /**
-     * Set whether to parse artifact configuration.
-     * 
-     * @param flag flag to set
-     */
-    protected void setArtifactAware(final boolean flag) {
-        artifactAware = flag;
-    }
-
-    /**
-     * Construct the builder for the artifact configuration.
-     * 
-     * @param element The element under consideration
-     * @return the builder.
-     * 
-     */
-    @Nullable protected BeanDefinition getArtifactConfiguration(final Element element) {
-
-        final BeanDefinitionBuilder definition =
-                BeanDefinitionBuilder.genericBeanDefinition(BasicSAMLArtifactConfiguration.class);
-
-        if (element.hasAttributeNS(null, "artifactType")) {
-            definition.addPropertyValue("artifactType",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "artifactType")));
-        }
-
-        if (element.hasAttributeNS(null, "artifactResolutionServiceURL")) {
-            definition.addPropertyValue("artifactResolutionServiceURL",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "artifactResolutionServiceURL")));
-        }
-
-        if (element.hasAttributeNS(null, "artifactResolutionServiceIndex")) {
-            definition.addPropertyValue("artifactResolutionServiceIndex",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "artifactResolutionServiceIndex")));
-        } else {
-            definition.addPropertyReference("artifactResolutionServiceIndex", getProfileBeanNamePrefix()
-                    + "ArtifactServiceIndex");
-        }
-
-        return definition.getBeanDefinition();
-    }
-
-    /**
-     * Return the definition describing the predicate associated with the provided value, using the default if none
-     * specified.
-     * 
-     * @param value the value as a string should be "always", "conditional", "never"
-     * @param claz the predicate type to summon up (one of {@link LegacySigningRequirementPredicate} or
-     *            {@link LegacyEncryptionRequirementPredicate}
-     * @return the bean for the appropriate predicate.
-     */
-    @Nonnull private BeanDefinition predicateFor(@Nullable final String value, final Class<? extends Predicate> claz) {
-
-        final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(claz);
-        builder.addConstructorArgValue(StringSupport.trimOrNull(value));
-
-        return builder.getBeanDefinition();
-    }
-
-    /**
-     * Return the definition of the predicate for signing derived from the provided string.
-     * 
-     * @param value the value
-     * @return the definition of an appropriate {@link LegacySigningRequirementPredicate}
-     */
-    @Nonnull protected BeanDefinition predicateForSigning(@Nullable final String value) {
-        return predicateFor(value, LegacySigningRequirementPredicate.class);
-    }
-
-    /**
-     * Return the definition of the predicate for encryption derived from the provided string.
-     * 
-     * @param value the value
-     * @return the definition of an appropriate {@link LegacyEncryptionRequirementPredicate}
-     */
-    @Nonnull protected BeanDefinition predicateForEncryption(@Nullable final String value) {
-        return predicateFor(value, LegacyEncryptionRequirementPredicate.class);
-    }
-
-    /**
-     * Get the list of audiences from the <Audience> sub-elements.
-     * 
-     * @param element the element under discussion
-     * @return the list of elements (which are subject to property replacement)
-     */
-    protected List<String> getAudiences(final Element element) {
-        final List<Element> audienceElems =
-                ElementSupport.getChildElementsByTagNameNS(element, RelyingPartySAMLNamespaceHandler.NAMESPACE,
-                        "Audience");
-        return SpringSupport.getElementTextContentAsManagedList(audienceElems);
-    }
-
-    /**
-     * Setup the {@link SecurityConfiguration} for this profile. We look first at the embedded beans for a bean of the
-     * correct type. Failing that we look for a defaultSigningCredential.
-     * 
-     * @param element the element with the profile in it
-     * @param builder the builder for the profile
-     * @param parserContext the parser context
-     */
-//CheckStyle: ReturnCount OFF
-    private void setSecurityConfiguration(final Element element, final BeanDefinitionBuilder builder, 
-            final ParserContext parserContext) {
-
-        final String credentialRef;
-        if (element.hasAttributeNS(null, "signingCredentialRef")) {
-            credentialRef = StringSupport.trimOrNull(element.getAttributeNS(null, "signingCredentialRef"));
-            log.debug("using explicit signing credential reference {}", credentialRef);
-        } else {
-            log.debug("Looking for default signing credential reference");
-
-            final Node parentNode = element.getParentNode();
-            if (parentNode == null) {
-                log.debug("no parent to ProfileConfiguration, no defaultSigningCredential set");
-                return;
-            }
-            if (!(parentNode instanceof Element)) {
-                log.debug("parent of ProfileConfiguration was unrecognizable, no defaultSigningCredential set");
-                return;
-            }
-
-            final Element relyingParty = (Element) parentNode;
-            if (!relyingParty.hasAttributeNS(null, "defaultSigningCredentialRef")) {
-                // no defaults
-                return;
-            }
-            credentialRef = StringSupport.trimOrNull(relyingParty.getAttributeNS(null, "defaultSigningCredentialRef"));
-            log.debug("Using default signing credential reference '{}'", credentialRef);
-        }
-
-        final BeanDefinitionBuilder signingConfiguration =
-                BeanDefinitionBuilder.genericBeanDefinition(BasicSignatureSigningConfiguration.class);
-        signingConfiguration.addPropertyReference("signingCredentials", credentialRef);
-
-        final BeanDefinitionBuilder configuration =
-                BeanDefinitionBuilder.genericBeanDefinition(SecurityConfiguration.class);
-        configuration.addPropertyValue("signatureSigningConfiguration", signingConfiguration.getBeanDefinition());
-
-        builder.addPropertyValue("securityConfiguration", configuration.getBeanDefinition());
-    }
-  //CheckStyle: ReturnCount ON
-
-    /** {@inheritDoc} */
-    // Checkstyle: CyclomaticComplexity OFF
-    @Override protected void doParse(final Element element, final ParserContext parserContext, 
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        builder.setLazyInit(true);
-
-        log.debug("Parsing Legacy SAML profile.  Destination type: '{}'", builder.getBeanDefinition().getBeanClass()
-                .getName());
-        setSecurityConfiguration(element, builder, parserContext);
-
-        if (element.hasAttributeNS(null, "assertionLifetime")) {
-            // Set as a string and let the converter to the work
-            builder.addPropertyValue("assertionLifetime", StringSupport.trimOrNull(StringSupport.trimOrNull(element
-                    .getAttributeNS(null, "assertionLifetime"))));
-        }
-
-        if (element.hasAttributeNS(null, "includeConditionsNotBefore")) {
-            builder.addPropertyValue("includeConditionsNotBefore", StringSupport.trimOrNull(StringSupport
-                    .trimOrNull(element.getAttributeNS(null, "includeConditionsNotBefore"))));
-        }
-
-        if (artifactAware) {
-            builder.addPropertyValue("artifactConfiguration", getArtifactConfiguration(element));
-        }
-
-        if (element.hasAttributeNS(null, "attributeAuthority")) {
-            log.warn("Deprecated attribute 'attributeAuthority=\"{}\"' has been ignored", StringSupport
-                    .trimOrNull(StringSupport.trimOrNull(element.getAttributeNS(null, "attributeAuthority"))));
-        }
-
-        if (element.hasAttributeNS(null, "securityPolicyRef")) {
-            log.warn("Deprecated attribute 'securityPolicyRef=\"{}\"' has been ignored",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "securityPolicyRef")));
-        }
-
-        if (element.hasAttributeNS(null, "outboundArtifactType")) {
-            log.warn("Deprecated attribute 'outboundArtifactType=\"{}\"' has been ignored",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "outboundArtifactType")));
-        }
-
-        // Install a defaulted flow ID for inbound security policy handling.
-        // TODO: is there a better way to install a list containing a bean reference?
-        builder.addPropertyReference("inboundInterceptorFlows", getProfileBeanNamePrefix() + "InboundFlowId");
-        
-        // Inject aliased servlet request to avoid warnings in newer versions.
-        builder.addPropertyReference("servletRequest", getProfileBeanNamePrefix() + "ServletRequest");
-
-        if (element.hasAttributeNS(null, "signAssertions")) {
-            builder.addPropertyValue("signAssertions",
-                    predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signAssertions"))));
-        }
-        if (element.hasAttributeNS(null, "signRequests")) {
-            builder.addPropertyValue("signRequests",
-                    predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signRequests"))));
-        }
-        if (element.hasAttributeNS(null, "signResponses")) {
-            builder.addPropertyValue("signResponses",
-                    predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signResponses"))));
-        }
-        builder.addPropertyValue("additionalAudiencesForAssertion", getAudiences(element));
-    }
-
-    // Checkstyle: CyclomaticComplexity ON
-
-    /** {@inheritDoc} */
-    @Override protected boolean shouldGenerateId() {
-        return true;
-    }
-
-    /**
-     * Get the prefix for the default beans. This prefix will have one of servlet hard-wired default property names
-     * appended as a bean name.
-     * 
-     * @return the prefix
-     */
-    protected abstract String getProfileBeanNamePrefix();
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java
deleted file mode 100644
index 0087620..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-
-/**
- * Namespace handler for the Relying Party SAML configuration. Just Types (since the Elements are
- * handled by the repective parsers).
- */
-public class RelyingPartySAMLNamespaceHandler extends BaseSpringNamespaceHandler {
-
-    /** Namespace for this handler. */
-    public static final String NAMESPACE = "urn:mace:shibboleth:2.0:relying-party:saml";
-
-    /** {@inheritDoc} */
-    @Override public void init() {
-        // SAML2
-        registerBeanDefinitionParser(SAML2ArtifactResolutionProfileParser.TYPE_NAME,
-                new SAML2ArtifactResolutionProfileParser());
-        registerBeanDefinitionParser(SAML2LogoutRequestProfileParser.TYPE_NAME,
-                new SAML2LogoutRequestProfileParser());
-        registerBeanDefinitionParser(SAML2AttributeQueryProfileParser.TYPE_NAME,
-                new SAML2AttributeQueryProfileParser());
-        registerBeanDefinitionParser(SAML2BrowserSSOProfileParser.TYPE_NAME, new SAML2BrowserSSOProfileParser());
-        registerBeanDefinitionParser(SAML2ECPProfileParser.TYPE_NAME, new SAML2ECPProfileParser());
-        registerBeanDefinitionParser(SAML2SSOSProfileParser.TYPE_NAME, new SAML2SSOSProfileParser());
-        // SAML1
-        registerBeanDefinitionParser(SAML1ArtifactResolutionProfileParser.TYPE_NAME,
-                new SAML1ArtifactResolutionProfileParser());
-        registerBeanDefinitionParser(SAML1AttributeQueryProfileParser.TYPE_NAME,
-                new SAML1AttributeQueryProfileParser());
-        // Propietary
-        registerBeanDefinitionParser(ShibbolethSSOProfileParser.TYPE_NAME, new ShibbolethSSOProfileParser());
-
-    }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java
deleted file mode 100644
index ba52bdf..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ArtifactResolutionProfileConfiguration} from a
- * <code>saml:SAML1ArtifactResolutionProfile</code>.
- */
-public class SAML1ArtifactResolutionProfileParser extends BaseSAMLProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML1ArtifactResolutionProfile");
-
-    /** {@inheritDoc} */
-    @Override protected Class<ArtifactResolutionProfileConfiguration> getBeanClass(final Element element) {
-        return ArtifactResolutionProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML1.Artifact.";
-    }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java
deleted file mode 100644
index f6267f1..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link AttributeQueryProfileConfiguration} from a <code>saml:SAML1AttributeQueryProfile</code>.
- */
-public class SAML1AttributeQueryProfileParser extends BaseSAMLProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML1AttributeQueryProfile");
-
-    /** Constructor. */
-    public SAML1AttributeQueryProfileParser() {
-        setArtifactAware(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<AttributeQueryProfileConfiguration> getBeanClass(final Element element) {
-        return AttributeQueryProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML1.AttributeQuery.";
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java
deleted file mode 100644
index 02715da..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ArtifactResolutionProfileConfiguration} from a
- * <code>saml:SAML2ArtifactResolutionProfile</code>.
- */
-public class SAML2ArtifactResolutionProfileParser extends BaseSAML2ProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML2ArtifactResolutionProfile");
-
-    /** {@inheritDoc} */
-    @Override protected Class<ArtifactResolutionProfileConfiguration> getBeanClass(final Element element) {
-        return ArtifactResolutionProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.Artifact.";
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java
deleted file mode 100644
index 4a13bec..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link AttributeQueryProfileConfiguration} from a
- * <code>saml:SAML2ArtifactResolutionProfile</code>.
- */
-public class SAML2AttributeQueryProfileParser extends BaseSAML2ProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML2AttributeQueryProfile");
-
-    /** Constructor. */
-    public SAML2AttributeQueryProfileParser() {
-        setArtifactAware(true);
-    }
-    
-    /** {@inheritDoc} */
-    @Override protected Class<AttributeQueryProfileConfiguration> getBeanClass(final Element element) {
-        return AttributeQueryProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.AttributeQuery.";
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
deleted file mode 100644
index bb33e57..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.springframework.beans.factory.parsing.Location;
-import org.springframework.beans.factory.parsing.Problem;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser to generate {@link BrowserSSOProfileConfiguration} from a <code>saml:SAML2SSOProfile</code>.
- */
-public class SAML2BrowserSSOProfileParser extends BaseSAML2ProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE, "SAML2SSOProfile");
-
-    /** logger. */
-    private Logger log = LoggerFactory.getLogger(SAML2BrowserSSOProfileParser.class);
-
-    /** Constructor. */
-    public SAML2BrowserSSOProfileParser() {
-        setArtifactAware(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<? extends BrowserSSOProfileConfiguration> getBeanClass(final Element element) {
-        return BrowserSSOProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.BrowserSSO.";
-    }
-
-    /**
-     * We need to extract the defaultAuthenticationMethod and nameIDFormatPrecedence from the parent element, which will
-     * be a <RelyingParty>. If there is no parent we set nothing.
-     * 
-     * @param element The <rp:ProfileConfiguration> element
-     * @param builder The builder in which to set the
-     */
-//CheckStyle: ReturnCount OFF
-    private void setPropertiesFromRelyingParty(@Nonnull final Element element,
-            @Nonnull final BeanDefinitionBuilder builder) {
-
-        final Node parentNode = element.getParentNode();
-        if (parentNode == null) {
-            log.warn("no parent to ProfileConfiguration, no defaultAuthenticationMethod set");
-            return;
-        }
-        if (!(parentNode instanceof Element)) {
-            log.warn("parent of ProfileConfiguration was unrecognizable, no defaultAuthenticationMethod set");
-            return;
-        }
-        final Element parent = (Element) parentNode;
-
-        if (parent.hasAttributeNS(null, "defaultAuthenticationMethod")) {
-            final String method = StringSupport.trimOrNull(parent.getAttributeNS(null, "defaultAuthenticationMethod"));
-
-            if (null == method) {
-                return;
-            }
-
-            final BeanDefinitionBuilder methodBuilder =
-                    BeanDefinitionBuilder.genericBeanDefinition(AuthnContextClassRefPrincipal.class);
-            methodBuilder.addConstructorArgValue(method);
-
-            final List<BeanDefinition> methodsList = new ManagedList<>(1);
-            methodsList.add(methodBuilder.getBeanDefinition());
-            builder.addPropertyValue("defaultAuthenticationMethods", methodsList);
-        }
-
-        if (parent.hasAttributeNS(null, "nameIDFormatPrecedence")) {
-            builder.addPropertyValue("nameIDFormatPrecedence", SpringSupport.getAttributeValueAsManagedList(parent
-                    .getAttributeNodeNS(null, "nameIDFormatPrecedence")));
-        }
-    }
-  //CheckStyle: ReturnCount ON
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext, 
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        if (element.hasAttributeNS(null, "localityAddress")) {
-            log.error("Deprecated attribute 'localityAddress' is being ignored");
-            throw new BeanDefinitionParsingException(new Problem(
-                    "Deprecated attribute 'localityAddress' is being ignored", new Location(parserContext
-                            .getReaderContext().getResource())));
-        }
-
-        if (element.hasAttributeNS(null, "localityDNSName")) {
-            log.error("Deprecated attribute 'localityDNSName' is being ignored");
-            throw new BeanDefinitionParsingException(new Problem(
-                    "Deprecated attribute 'localityDNSName' is being ignored", new Location(parserContext
-                            .getReaderContext().getResource())));
-        }
-
-        if (element.hasAttributeNS(null, "includeAttributeStatement")) {
-            builder.addPropertyValue("includeAttributeStatement",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "includeAttributeStatement")));
-        }
-
-        if (element.hasAttributeNS(null, "maximumSPSessionLifetime")) {
-            builder.addPropertyValue("maximumSPSessionLifetime",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "maximumSPSessionLifetime")));
-        }
-
-        if (element.hasAttributeNS(null, "skipEndpointValidationWhenSigned")) {
-            builder.addPropertyValue("skipEndpointValidationWhenSigned",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "skipEndpointValidationWhenSigned")));
-        }
-        
-        final BeanDefinitionBuilder allowDelegationPredicateBuilder =
-                BeanDefinitionBuilder.genericBeanDefinition(AllowDelegationPredicateFactoryBean.class);
-        if (element.hasAttributeNS(null, "allowDelegation")) {
-            allowDelegationPredicateBuilder.addPropertyValue("allowDelegation", 
-                    element.getAttributeNS(null, "allowDelegation"));
-        }
-        if (element.hasAttributeNS(null, "allowDelegationPredicateRef")) {
-            allowDelegationPredicateBuilder.addPropertyReference("allowDelegationPredicate", 
-                    element.getAttributeNS(null, "allowDelegationPredicateRef"));
-        }
-        builder.addPropertyValue("allowDelegation", allowDelegationPredicateBuilder.getBeanDefinition());
-        
-        if (element.hasAttributeNS(null, "maximumTokenDelegationChainLength")) {
-            builder.addPropertyValue("maximumTokenDelegationChainLength",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "maximumTokenDelegationChainLength")));
-        }
-
-        setPropertiesFromRelyingParty(element, builder);
-    }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java
deleted file mode 100644
index fadeb69..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ECPProfileConfiguration} from a
- * <code>saml:SAML2ECPProfile</code>.
- */
-public class SAML2ECPProfileParser extends SAML2BrowserSSOProfileParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML2ECPProfile");
-
-    /** Constructor. */
-    public SAML2ECPProfileParser() {
-        setArtifactAware(false);
-    }
-    
-    /** {@inheritDoc} */
-    @Override protected Class<ECPProfileConfiguration> getBeanClass(final Element element) {
-        return ECPProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.ECP.";
-    }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java
deleted file mode 100644
index d5a15cb..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link SingleLogoutProfileConfiguration} from a
- * <code>saml:SAML2LogoutRequestProfile</code>.
- */
-public class SAML2LogoutRequestProfileParser extends BaseSAML2ProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "SAML2LogoutRequestProfile");
-
-    /** Constructor. */
-    public SAML2LogoutRequestProfileParser() {
-        setArtifactAware(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<SingleLogoutProfileConfiguration> getBeanClass(final Element element) {
-        return SingleLogoutProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.Logout.";
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java
deleted file mode 100644
index 4d0d7c2..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link SSOSProfileConfiguration} from a <code>saml:SAML2SSOSProfile</code>.
- */
-public class SAML2SSOSProfileParser extends SAML2BrowserSSOProfileParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE, "SAML2SSOSProfile");
-
-    /** Constructor. */
-    public SAML2SSOSProfileParser() {
-        setArtifactAware(false);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected Class<SSOSProfileConfiguration> getBeanClass(final Element element) {
-        return SSOSProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML2.SSOS.";
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-        if (element.hasAttributeNS(null, "delegationPredicateRef")) {
-            builder.addPropertyReference("delegationPredicate",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "delegationPredicateRef")));
-        }
-    }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java
deleted file mode 100644
index 4a426d5..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.springframework.beans.factory.parsing.Location;
-import org.springframework.beans.factory.parsing.Problem;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser to generate {@link BrowserSSOProfileConfiguration} from a <code>saml:ShibbolethSSOProfile</code>.
- */
-public class ShibbolethSSOProfileParser extends BaseSAMLProfileConfigurationParser {
-
-    /** Element name. */
-    public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
-            "ShibbolethSSOProfile");
-
-    /** logger. */
-    private Logger log = LoggerFactory.getLogger(ShibbolethSSOProfileParser.class);
-
-    /** Constructor. */
-    public ShibbolethSSOProfileParser() {
-        setArtifactAware(true);
-    }
-    
-    /** {@inheritDoc} */
-    @Override protected Class<? extends BrowserSSOProfileConfiguration> getBeanClass(final Element element) {
-        return BrowserSSOProfileConfiguration.class;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String getProfileBeanNamePrefix() {
-        return "shibboleth.SAML1.BrowserSSO.";
-    }
-
-    /**
-     * We need to extract the defaultAuthenticationMethod and nameIDFormatPrecedence from the parent element, which will
-     * be a <RelyingParty>. If there is no parent we set nothing.
-     * 
-     * @param element The <rp:ProfileConfiguration> element
-     * @param builder The builder in which to set the
-     */
-//CheckStyle: ReturnCount OFF
-    private void setAuthnProfileFromRelyingParty(@Nonnull final Element element,
-            @Nonnull final BeanDefinitionBuilder builder) {
-
-        final Node parentNode = element.getParentNode();
-        if (parentNode == null) {
-            log.warn("no parent to ProfileConfiguration, no defaultAuthenticationMethod set");
-            return;
-        }
-        if (!(parentNode instanceof Element)) {
-            log.warn("parent of ProfileConfiguration was unrecognizable, no defaultAuthenticationMethod set");
-            return;
-        }
-        final Element parent = (Element) parentNode;
-
-        if (parent.hasAttributeNS(null, "defaultAuthenticationMethod")) {
-            final String method = StringSupport.trimOrNull(parent.getAttributeNS(null, "defaultAuthenticationMethod"));
-
-            if (null == method) {
-                return;
-            }
-
-            final BeanDefinitionBuilder methodBuilder =
-                    BeanDefinitionBuilder.genericBeanDefinition(AuthenticationMethodPrincipal.class);
-            methodBuilder.addConstructorArgValue(method);
-            
-            final List<BeanDefinition> methodsList = new ManagedList<>(1);
-            methodsList.add(methodBuilder.getBeanDefinition());
-            builder.addPropertyValue("defaultAuthenticationMethods", methodsList);
-        }
-
-        if (parent.hasAttributeNS(null, "nameIDFormatPrecedence")) {
-            final List<String> nameIDs =
-                    AttributeSupport.getAttributeValueAsList(parent.getAttributeNodeNS(null, "nameIDFormatPrecedence"));
-            final List<String> managedNameIds = new ManagedList<>(nameIDs.size());
-            managedNameIds.addAll(nameIDs);
-            builder.addPropertyValue("nameIDFormatPrecedence", managedNameIds);
-        }
-    }
-//CheckStyle: ReturnCount ON
-
-    /** {@inheritDoc} */
-    @Override protected void doParse(final Element element, final ParserContext parserContext,
-            final BeanDefinitionBuilder builder) {
-        super.doParse(element, parserContext, builder);
-
-        if (element.hasAttributeNS(null, "localityAddress")) {
-            log.error("Deprecated attribute 'localityAddress' is being ignored");
-            throw new BeanDefinitionParsingException(new Problem(
-                    "Deprecated attribute 'localityAddress' is being ignored", new Location(parserContext
-                            .getReaderContext().getResource())));
-        }
-
-        if (element.hasAttributeNS(null, "localityDNSName")) {
-            log.error("Deprecated attribute 'localityDNSName' is being ignored");
-            throw new BeanDefinitionParsingException(new Problem(
-                    "Deprecated attribute 'localityDNSName' is being ignored", new Location(parserContext
-                            .getReaderContext().getResource())));
-        }
-
-        if (element.hasAttributeNS(null, "includeAttributeStatement")) {
-            builder.addPropertyValue("includeAttributeStatement",
-                    StringSupport.trimOrNull(element.getAttributeNS(null, "includeAttributeStatement")));
-        }
-
-        setAuthnProfileFromRelyingParty(element, builder);
-    }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/package-info.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/package-info.java
deleted file mode 100644
index 213266c..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/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.
- */
-
-/**
- * Parsers for the urn:mace:shibboleth:2.0:relying-party:saml schema. Mostly 
- * to do with <ProfileConfiguration> 
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/resources/META-INF/spring.handlers b/idp-profile-spring/src/main/resources/META-INF/spring.handlers
index 5fac732..3801cfc 100644
--- a/idp-profile-spring/src/main/resources/META-INF/spring.handlers
+++ b/idp-profile-spring/src/main/resources/META-INF/spring.handlers
@@ -1,5 +1,3 @@
-urn\:mace\:shibboleth\:2.0\:relying-party =       net.shibboleth.idp.profile.spring.relyingparty.impl.RelyingPartyNamespaceHandler
-urn\:mace\:shibboleth\:2.0\:relying-party\:saml = net.shibboleth.idp.profile.spring.relyingparty.saml.impl.RelyingPartySAMLNamespaceHandler
 urn\:mace\:shibboleth\:2.0\:metadata            = net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.MetadataNamespaceHandler
 urn\:mace\:shibboleth\:2.0\:resource            = net.shibboleth.idp.profile.spring.resource.impl.ResourceNamespaceHandler
 urn\:mace\:shibboleth\:2.0\:security            = net.shibboleth.idp.profile.spring.relyingparty.security.impl.SecurityNamespaceHandler
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java
deleted file mode 100644
index 96a55d6..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.io.IOException;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataParserTest;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.service.ReloadableService;
-import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-
-import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver;
-import org.opensaml.saml.saml2.metadata.EntityDescriptor;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-public class MultiSourceFileTest extends AbstractMetadataParserTest {
-
-    /** the service. */
-    private ReloadableService<RefreshableMetadataResolver> service;
-
-    
-    @BeforeClass public void setup() throws IOException {
-        service = getBean(ReloadableService.class, "../metadata/serviceBeans.xml");
-    }
-    
-    @Test public void multipleEntities() throws ResolverException {
-        final ServiceableComponent<RefreshableMetadataResolver> component = service.getServiceableComponent();
-        try {
-          final  RefreshableMetadataResolver resolver = component.getComponent();
-          final EntityDescriptor e2 = resolver.resolveSingle(criteriaFor("https://idp.example.org/idp2/shibboleth"));
-          Assert.assertNotNull(e2);
-          Assert.assertEquals(e2.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol").getSingleSignOnServices().get(0).getLocation(), "https://idp.example.org/idpc0/profile/SAML2/Redirect/SSO");
-          final EntityDescriptor e1 = resolver.resolveSingle(criteriaFor("https://idp.example.org/idp/shibboleth")); 
-          Assert.assertNotNull(e1);
-          Assert.assertEquals(e1.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol").getSingleSignOnServices().get(0).getLocation(), "https://idp.example.org/idpc1/profile/SAML2/Redirect/SSO");
-        } finally {
-            if (component != null) {
-                component.unpinComponent();
-            }
-        }
-        
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java
deleted file mode 100644
index 8ba4cfe..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataParserTest;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-import net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider;
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.metadata.resolver.MetadataResolver;
-import org.opensaml.security.trust.impl.ChainingTrustEngine;
-import org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
-import org.springframework.core.env.MutablePropertySources;
-import org.springframework.core.env.StandardEnvironment;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.springframework.mock.env.MockPropertySource;
-import org.testng.Assert;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.Test;
-
-/**
- * Test for a complete example RelyingParty file
- */
-public class RelyingPartyGroupTest extends OpenSAMLInitBaseTestCase {
-
-    private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
-    static private String workspaceDirName;
-
-    private GenericApplicationContext pendingTeardownContext = null;
-    
-    @AfterMethod public void tearDownTestContext() {
-        if (null == pendingTeardownContext ) {
-            return;
-        }
-        pendingTeardownContext.close();
-        pendingTeardownContext = null;
-    }
-    
-    protected void setTestContext(final GenericApplicationContext context) {
-        tearDownTestContext();
-        pendingTeardownContext = context;
-    }
-
-    @BeforeSuite public void setupDirs() throws IOException {
-        final ClassPathResource resource = new ClassPathResource("/net/shibboleth/idp/profile/spring/relyingparty");
-        workspaceDirName = resource.getFile().getAbsolutePath();
-    }
-
-    private GenericApplicationContext getContext(final String... files) throws FileNotFoundException, IOException {
-        final Resource[] resources = new Resource[files.length];
-
-        for (int i = 0; i < files.length; i++) {
-            resources[i] = new ClassPathResource(PATH + files[i]);
-        }
-
-        final GenericApplicationContext context = new FilesystemGenericApplicationContext();
-        setTestContext(context);
-        final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
-        context.setDisplayName("ApplicationContext");
-        service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
-        service.afterPropertiesSet();
-
-        context.getBeanFactory().setConversionService(service.getObject());
-
-        final PropertySourcesPlaceholderConfigurer placeholderConfig = new PropertySourcesPlaceholderConfigurer();
-
-        final MutablePropertySources propertySources = context.getEnvironment().getPropertySources();
-        final Properties fileProps = new Properties();
-        fileProps.load(new FileInputStream(new File(workspaceDirName + "/file.properties")));
-
-        final MockPropertySource mockEnvVars = new MockPropertySource(fileProps);
-
-        mockEnvVars.setProperty("DIR", workspaceDirName);
-        propertySources.replace(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, mockEnvVars);
-        placeholderConfig.setPropertySources(propertySources);
-
-        context.addBeanFactoryPostProcessor(placeholderConfig);
-
-        final SchemaTypeAwareXMLBeanDefinitionReader configReader =
-                new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
-        configReader.setValidating(true);
-
-        configReader.loadBeanDefinitions(resources);
-        context.refresh();
-
-        return context;
-    }
-
-    @Test(enabled = true) public void relyingPartyConfig() throws ResolverException, FileNotFoundException, IOException {
-        final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
-
-        final DefaultRelyingPartyConfigurationResolver resolver =
-                context.getBean(DefaultRelyingPartyConfigurationResolver.class);
-        Assert.assertTrue(resolver.getRelyingPartyConfigurations().isEmpty());
-
-        final RelyingPartyConfiguration anon = resolver.getUnverifiedConfiguration();
-        Assert.assertFalse(anon.getDetailedErrorsPredicate().test(null));
-        Assert.assertTrue(anon.getProfileConfigurations().isEmpty());
-
-        final RelyingPartyConfiguration def = resolver.getDefaultConfiguration();
-        Assert.assertEquals(def.getProfileConfigurations().size(), 9);
-
-        final ProfileRequestContext ctx = new ProfileRequestContext<>();
-        final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
-        rpCtx.setRelyingPartyId("https://idp.example.org");
-        final HashSet<RelyingPartyConfiguration> set = new HashSet<>();
-        for (final RelyingPartyConfiguration rpc : resolver.resolve(ctx)) {
-            set.add(rpc);
-        }
-        Assert.assertEquals(set.size(), 1);
-
-        Assert.assertNotNull(resolver.resolveSingle(ctx));
-    }
-
-    @Test(enabled = true) public void metadataConfig() throws ResolverException, FileNotFoundException, IOException {
-        final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
-        final Collection<RelyingPartyMetadataProvider> metadataProviders =
-                context.getBeansOfType(RelyingPartyMetadataProvider.class).values();
-
-        Assert.assertEquals(metadataProviders.size(), 1);
-        final RelyingPartyMetadataProvider provider = metadataProviders.iterator().next();
-
-        Assert.assertNotNull(provider.resolveSingle(AbstractMetadataParserTest.criteriaFor("http://sp.example.org/")));
-
-    }
-
-    @Test(enabled = true) public void relyingPartyService() throws ResolverException, FileNotFoundException,
-            IOException {
-        final GenericApplicationContext context = getContext("beans.xml", "services.xml");
-
-        final RelyingPartyConfigurationResolver resolver = context.getBean(RelyingPartyConfigurationResolver.class);
-        final ProfileRequestContext ctx = new ProfileRequestContext<>();
-        final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
-        rpCtx.setRelyingPartyId("https://idp.example.org");
-        final HashSet<RelyingPartyConfiguration> set = new HashSet<>();
-        for (final RelyingPartyConfiguration rpc : resolver.resolve(ctx)) {
-            set.add(rpc);
-        }
-        Assert.assertEquals(set.size(), 1);
-
-        Assert.assertNotNull(resolver.resolveSingle(ctx));
-    }
-
-    @Test(enabled = true) public void metadataService() throws ResolverException, FileNotFoundException, IOException {
-        final GenericApplicationContext context = getContext("beans.xml", "services.xml");
-        final Collection<MetadataResolver> resolvers = context.getBeansOfType(MetadataResolver.class).values();
-
-        Assert.assertEquals(resolvers.size(), 1);
-
-        Assert.assertNotNull(resolvers.iterator().next()
-                .resolveSingle(AbstractMetadataParserTest.criteriaFor("http://sp.example.org/")));
-
-    }
-
-    @Test public void relyingParty2() throws FileNotFoundException, IOException {
-        final GenericApplicationContext context = getContext("relying-party-group2.xml", "beans.xml");
-        final DefaultRelyingPartyConfigurationResolver resolver =
-                context.getBean(DefaultRelyingPartyConfigurationResolver.class);
-
-        Assert.assertEquals(resolver.getId(), "RelyingPartyGroup[relying-party-group2.xml]");
-
-        final List<RelyingPartyConfiguration> rps = resolver.getRelyingPartyConfigurations();
-        Assert.assertEquals(rps.size(), 2);
-
-        RelyingPartyConfiguration rp = rps.get(0);
-        Assert.assertEquals(rp.getId(), "the id1");
-        Assert.assertEquals(rp.getResponderId(), "IdP1");
-
-        rp = rps.get(1);
-        Assert.assertEquals(rp.getId(), "the id2");
-        Assert.assertEquals(rp.getResponderId(), "IdP2");
-
-        rp = resolver.getUnverifiedConfiguration();
-        Assert.assertEquals(rp.getResponderId(), "AnonIdP");
-        Assert.assertEquals(rp.getId(), "AnonymousRelyingParty");
-
-        rp = resolver.getDefaultConfiguration();
-        Assert.assertEquals(rp.getResponderId(), "DefaultIdP");
-        Assert.assertEquals(rp.getId(), "DefaultRelyingParty");
-    }
-
-    @Test public void defaults() throws ResolverException, FileNotFoundException, IOException {
-        final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
-
-        final DefaultRelyingPartyConfigurationResolver resolver =
-                context.getBean(DefaultRelyingPartyConfigurationResolver.class);
-
-        final SecurityConfiguration config = resolver.getDefaultSecurityConfiguration(null);
-        Assert.assertNotNull(config);
-        Assert.assertTrue(config.getSignatureValidationConfiguration().getSignatureTrustEngine() instanceof ChainingSignatureTrustEngine);
-        Assert.assertTrue(config.getClientTLSValidationConfiguration().getX509TrustEngine() instanceof ChainingTrustEngine);
-        
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(ArtifactResolutionProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(AttributeQueryProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(BrowserSSOProfileConfiguration.PROFILE_ID));
-
-        Assert.assertSame(config, resolver
-                .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver
-                .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver
-                .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(ECPProfileConfiguration.PROFILE_ID));
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(SSOSProfileConfiguration.PROFILE_ID));
-
-        Assert.assertSame(config, resolver.getDefaultSecurityConfiguration("foobar"));
-    }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java
deleted file mode 100644
index 4468c3f..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.util.Arrays;
-import java.util.HashSet;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- * Test a <RelyingParty>
- */
-public class RelyingPartyTest extends OpenSAMLInitBaseTestCase {
-
-    private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
-    @Test public void relyingParties() {
-        final Resource[] resources = new Resource[2];
-
-        resources[0] = new ClassPathResource(PATH + "beans.xml");
-        resources[1] = new ClassPathResource(PATH + "relying-party.xml");
-
-        final GenericApplicationContext context = new GenericApplicationContext();
-        try{
-            final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
-            context.setDisplayName("ApplicationContext: ");
-            service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
-            service.afterPropertiesSet();
-    
-            context.getBeanFactory().setConversionService(service.getObject());
-    
-            final SchemaTypeAwareXMLBeanDefinitionReader configReader = new SchemaTypeAwareXMLBeanDefinitionReader(context);
-    
-            configReader.setValidating(true);
-    
-            configReader.loadBeanDefinitions(resources);
-            context.refresh();
-    
-            final RelyingPartyConfiguration rpConf = context.getBean(RelyingPartyConfiguration.class);
-    
-            Assert.assertEquals(rpConf.getId(), "the_RP");
-            Assert.assertTrue(rpConf.getDetailedErrorsPredicate().test(null));
-            Assert.assertEquals(rpConf.getProfileConfigurations().size(), 1);
-    
-            final ProfileRequestContext ctx = new ProfileRequestContext<>();
-            final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
-            rpCtx.setRelyingPartyId("the_RP");
-            
-            Assert.assertTrue(rpConf.test(ctx));
-            //
-            // TODO the EntitiesGroup thing
-            //
-        } finally {
-            context.close();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java
deleted file mode 100644
index 1f75338..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.function.Predicate;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.RequestContextBuilder;
-import net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.messaging.context.MessageChannelSecurityContext;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.testng.Assert;
-
-public class BaseSAMLProfileTest extends OpenSAMLInitBaseTestCase {
-
-    private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
-    protected <T extends AbstractSAMLProfileConfiguration> T getBean(final Class<T> claz, final String... files) {
-        final Resource[] resources = new Resource[files.length];
-
-        for (int i = 0; i < files.length; i++) {
-            resources[i] = new ClassPathResource(PATH + files[i]);
-        }
-
-        final GenericApplicationContext context = new GenericApplicationContext();
-        try {
-            final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
-            context.setDisplayName("ApplicationContext: " + claz);
-            service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
-            service.afterPropertiesSet();
-    
-            context.getBeanFactory().setConversionService(service.getObject());
-            
-            
-            final SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
-                    new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
-         
-            
-            
-    
-            beanDefinitionReader.setValidating(true);
-            beanDefinitionReader.loadBeanDefinitions(resources);
-            
-            context.refresh();
-    
-            return context.getBean(claz);
-        } finally {
-            context.close();
-        }
-    }
-
-    protected static void assertTruePredicate(final Predicate<ProfileRequestContext> predicate) {
-        Assert.assertTrue(predicate.test(null));
-    }
-
-    protected static void assertFalsePredicate(final Predicate<ProfileRequestContext> predicate) {
-        Assert.assertFalse(predicate.test(null));
-    }
-
-    protected static void assertConditionalPredicate(final Predicate<ProfileRequestContext> predicate) {
-        try {
-            final ProfileRequestContext prc = new RequestContextBuilder().buildProfileRequestContext();
-            final MessageChannelSecurityContext mc = prc.getSubcontext(MessageChannelSecurityContext.class, true);
-
-            mc.setConfidentialityActive(true);
-            mc.setIntegrityActive(true);
-            Assert.assertFalse(predicate.test(prc));
-
-            mc.setConfidentialityActive(false);
-            mc.setIntegrityActive(false);
-            Assert.assertTrue(predicate.test(prc));
-        } catch (final ComponentInitializationException e) {
-            Assert.fail("ComponentInitializationException");
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java
deleted file mode 100644
index dde1bef..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class LogoutTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        SingleLogoutProfileConfiguration profile = getBean(SingleLogoutProfileConfiguration.class,  "saml/logout.xml", "beans.xml");
-
-        // defaults for AbstractSAML2ProfileConfiguration
-
-        assertFalsePredicate(profile.getEncryptAssertions());
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        assertConditionalPredicate(profile.getEncryptNameIDs());
-
-        assertConditionalPredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-slo");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertNull(artifact.getArtifactType());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 3214);
-        Assert.assertNull(profile.getSecurityConfiguration());
-    }
-
-    @Test public void values() {
-        SingleLogoutProfileConfiguration profile =
-                getBean(SingleLogoutProfileConfiguration.class, "beans.xml", "saml/logoutValues.xml");
-
-        assertTruePredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 98);
-        final Collection<String> proxyAudiences = profile.getProxyAudiences();
-        Assert.assertEquals(proxyAudiences.size(), 1);
-        Assert.assertTrue(proxyAudiences.contains("NibbleAHappyWarthog"));
-
-        assertConditionalPredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertFalsePredicate(profile.getSignResponses());
-
-        Assert.assertEquals(profile.getAssertionLifetime(), 8 * 60 * 1000);
-
-        final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
-        Assert.assertEquals(audiences.size(), 0);
-
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-slo");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertEquals(artifact.getArtifactType(), new byte[] { 0x0, 0x7, });
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 3214);
-
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java
deleted file mode 100644
index 73fdf4d..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Set;
-
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML1ArtifactTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        ArtifactResolutionProfileConfiguration profile =
-                getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml1artifact.xml");
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-    }
-
-    @Test public void values() {
-        ArtifactResolutionProfileConfiguration profile =
-                getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml1artifactValues.xml");
-
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-
-        Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
-        final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
-        Assert.assertEquals(audiences.size(), 1);
-        Assert.assertEquals(audiences.iterator().next(), "NibbleAHappyWarthogNibbleAHappyWarthog");
-
-        Assert.assertFalse(profile.includeConditionsNotBefore());
-
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNotNull(profile.getSecurityConfiguration());
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java
deleted file mode 100644
index bc90d60..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML1AttributeQueryTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        AttributeQueryProfileConfiguration profile =
-                getBean(AttributeQueryProfileConfiguration.class, "saml/saml1attributeQuery.xml", "beans.xml");
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertNull(artifact.getArtifactType());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 432100);
-    }
-
-    @Test public void values() {
-        AttributeQueryProfileConfiguration profile =
-                getBean(AttributeQueryProfileConfiguration.class, "beans.xml", "saml/saml1attributeQueryValues.xml");
-
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-
-        Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
-        final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
-        Assert.assertEquals(audiences.size(), 2);
-        Assert.assertTrue(audiences.contains("NibbleAHappyWarthogNibbleAHappyWarthog"));
-        Assert.assertTrue(audiences.contains("NibbleAHappyWarthog"));
-
-        Assert.assertFalse(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(12341).toByteArray());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 432100);
-
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java
deleted file mode 100644
index 344fcaf..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2ArtifactTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        ArtifactResolutionProfileConfiguration profile =
-                getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml2artifact.xml");
-
-        // defaults for AbstractSAML2ProfileConfiguration
-
-        assertConditionalPredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-    }
-
-    @Test public void values() {
-        ArtifactResolutionProfileConfiguration profile =
-                getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml2artifactValues.xml");
-
-        assertFalsePredicate(profile.getEncryptAssertions());
-        assertTruePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 99);
-        final Collection<String> proxyAudiences = profile.getProxyAudiences();
-        Assert.assertEquals(proxyAudiences.size(), 2);
-        Assert.assertTrue(proxyAudiences.contains("ProxyAudience1"));
-        Assert.assertTrue(proxyAudiences.contains("ProxyAudience2"));
-
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-
-        Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
-        final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
-        Assert.assertEquals(audiences.size(), 1);
-        Assert.assertEquals(audiences.iterator().next(), "NibbleAHappyWarthog");
-
-        Assert.assertFalse(profile.includeConditionsNotBefore());
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java
deleted file mode 100644
index 5c2bee3..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2AttributeQueryTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        AttributeQueryProfileConfiguration profile =
-                getBean(AttributeQueryProfileConfiguration.class, "saml/saml2attributeQuery.xml", "beans.xml");
-
-        // defaults for AbstractSAML2ProfileConfiguration
-
-        assertConditionalPredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertNull(artifact.getArtifactType());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 2143);
-    }
-
-    @Test public void values() {
-        AttributeQueryProfileConfiguration profile =
-                getBean(AttributeQueryProfileConfiguration.class, "beans.xml", "saml/saml2attributeQueryValues.xml");
-
-        assertFalsePredicate(profile.getEncryptAssertions());
-        assertTruePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 99);
-        final Collection<String> proxyAudiences = profile.getProxyAudiences();
-        Assert.assertEquals(proxyAudiences.size(), 2);
-        Assert.assertTrue(proxyAudiences.contains("ProxyAudience1"));
-        Assert.assertTrue(proxyAudiences.contains("NibbleAHappyWarthog"));
-        
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertConditionalPredicate(profile.getSignResponses());
-
-        Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
-        final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
-        Assert.assertEquals(audiences.size(), 2);
-        Assert.assertTrue(audiences.contains("NibbleAHappyWarthog"));
-        Assert.assertTrue(audiences.contains("Audience2"));
-
-        Assert.assertFalse(profile.includeConditionsNotBefore());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(765).toByteArray());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 2143);
-
-    }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
deleted file mode 100644
index 07cece9..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.List;
-
-import net.shibboleth.idp.profile.spring.logic.DummyPredicate;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
- at SuppressWarnings("deprecation")
-public class SAML2BrowserSSOProfileTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        BrowserSSOProfileConfiguration profile = getBean(BrowserSSOProfileConfiguration.class, "saml/saml2SSO.xml", "beans.xml");
-
-        Assert.assertTrue(profile.includeAttributeStatement());
-        Assert.assertFalse(profile.skipEndpointValidationWhenSigned());
-        Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 0);
-
-        // defaults for AbstractSAML2ProfileConfiguration
-
-        assertTruePredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertTruePredicate(profile.getSignResponses());
-        assertFalsePredicate(profile.getEncryptAttributes());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertFalse(profile.getAllowingDelegation());
-        Assert.assertNotNull(profile.getAllowDelegation());
-        assertFalsePredicate(profile.getAllowDelegation());
-        Assert.assertEquals(profile.getMaximumTokenDelegationChainLength(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-sso");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-        Assert.assertNull(profile.getSecurityConfiguration());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertNull(artifact.getArtifactType());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-    }
-
-    @Test public void values() {
-        BrowserSSOProfileConfiguration profile =
-                getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOValues.xml");
-
-        Assert.assertFalse(profile.includeAttributeStatement());
-        Assert.assertTrue(profile.skipEndpointValidationWhenSigned());
-        Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 1);
-
-        assertConditionalPredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-        Assert.assertTrue(profile.isEncryptionOptional());
-        Assert.assertTrue(profile.getAllowingDelegation());
-        Assert.assertNotNull(profile.getAllowDelegation());
-        assertTruePredicate(profile.getAllowDelegation());
-        Assert.assertEquals(profile.getMaximumTokenDelegationChainLength(), 3);
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertConditionalPredicate(profile.getSignRequests());
-        assertTruePredicate(profile.getSignAssertions());
-        assertFalsePredicate(profile.getSignResponses());
-        assertTruePredicate(profile.getEncryptAttributes());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-sso");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(7654).toByteArray());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-
-        Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
-        final AuthnContextClassRefPrincipal authnMethod =
-                (AuthnContextClassRefPrincipal) profile.getDefaultAuthenticationMethods().get(0);
-        Assert.assertEquals(authnMethod.getAuthnContextClassRef().getAuthnContextClassRef(),
-                "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport");
-
-        final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
-        Assert.assertEquals(nameIDPrefs.size(), 2);
-        Assert.assertTrue(nameIDPrefs.contains("one"));
-        Assert.assertTrue(nameIDPrefs.contains("two"));
-        
-        Assert.assertNotNull(profile.getSecurityConfiguration());
-        Assert.assertNotNull(profile.getSecurityConfiguration().getSignatureSigningConfiguration());
-    }
-    
-    @Test public void allowDelegationPredicateRef() {
-        BrowserSSOProfileConfiguration profile =
-                getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOAllowDelegationPredicate.xml");
-
-        Assert.assertFalse(profile.getAllowingDelegation());
-        Assert.assertNotNull(profile.getAllowDelegation());
-        Assert.assertTrue(profile.getAllowDelegation() instanceof DummyPredicate);
-    }
-    
-    @Test public void allowDelegationPropertyReplacement() {
-        BrowserSSOProfileConfiguration profile =
-                getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOAllowDelegationPropertyReplacement.xml");
-
-        Assert.assertTrue(profile.getAllowingDelegation());
-        Assert.assertNotNull(profile.getAllowDelegation());
-        assertTruePredicate(profile.getAllowDelegation());
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java
deleted file mode 100644
index 755c5e0..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.List;
-
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2ECPProfileTest extends BaseSAMLProfileTest {
-
-    @SuppressWarnings("deprecation")
-    @Test public void defaults() {
-
-        ECPProfileConfiguration profile = getBean(ECPProfileConfiguration.class, "saml/ecp.xml", "beans.xml");
-
-        Assert.assertTrue(profile.includeAttributeStatement());
-        Assert.assertFalse(profile.skipEndpointValidationWhenSigned());
-        Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 0);
-
-        // defaults for AbstractSAML2ProfileConfiguration
-
-        assertTruePredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertTruePredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-ecp");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-        Assert.assertNull(profile.getArtifactConfiguration());
-    }
-
-    @SuppressWarnings("deprecation")
-    @Test public void values() {
-        BrowserSSOProfileConfiguration profile =
-                getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpValues.xml");
-
-        Assert.assertFalse(profile.includeAttributeStatement());
-        Assert.assertTrue(profile.skipEndpointValidationWhenSigned());
-        Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 1);
-
-        assertTruePredicate(profile.getEncryptAssertions());
-        assertFalsePredicate(profile.getEncryptNameIDs());
-
-        Assert.assertEquals(profile.getProxyCount(), 0);
-        Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
-        // defaults for AbstractSAMLProfileConfiguration
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertTruePredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-ecp");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-        Assert.assertNull(profile.getArtifactConfiguration());
-
-        Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
-        final AuthnContextClassRefPrincipal authnMethod =
-                (AuthnContextClassRefPrincipal) profile.getDefaultAuthenticationMethods().get(0);
-        Assert.assertEquals(authnMethod.getAuthnContextClassRef().getAuthnContextClassRef(),
-                "urn:oasis:names:tc:SAML:2.0:ac:classes:Password");
-
-        final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
-        Assert.assertEquals(nameIDPrefs.size(), 2);
-        Assert.assertTrue(nameIDPrefs.contains("three"));
-        Assert.assertTrue(nameIDPrefs.contains("four"));
-    }
-
-    @Test(expectedExceptions = {BeanDefinitionParsingException.class,}) public void localityAddress() {
-        getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpLocalityAddress.xml");
-    }
-
-    @Test(expectedExceptions = {BeanDefinitionParsingException.class,}) public void localityDnsname() {
-        getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpLocalityDNSName.xml");
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java
deleted file mode 100644
index f7263b8..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2SSOSProfileTest extends BaseSAMLProfileTest {
-
-    @Test public void defaults() {
-
-        SSOSProfileConfiguration profile = getBean(SSOSProfileConfiguration.class, "saml/ssos.xml", "beans.xml");
-
-        Assert.assertFalse(profile.getDelegationPredicate().test(null));
-    }
-
-    @Test public void values() {
-        SSOSProfileConfiguration profile =
-                getBean(SSOSProfileConfiguration.class, "saml/ssosValues.xml", "beans.xml");
-
-        Assert.assertTrue(profile.getDelegationPredicate().test(null));
-    }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java
deleted file mode 100644
index 14382bf..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements.  See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.List;
-
-import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class ShibbolethSSOProfileTest extends BaseSAMLProfileTest {
-
-    @SuppressWarnings("deprecation")
-    @Test public void defaults() {
-
-        BrowserSSOProfileConfiguration profile = getBean(BrowserSSOProfileConfiguration.class, "saml/shibbolethSSO.xml", "beans.xml");
-
-        Assert.assertFalse(profile.includeAttributeStatement());
-
-        assertFalsePredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertTruePredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/shibboleth-sso");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertNull(artifact.getArtifactType());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-    }
-
-    @SuppressWarnings("deprecation")
-    @Test public void values() {
-        BrowserSSOProfileConfiguration profile =
-                getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/shibbolethSSOValues.xml");
-
-        Assert.assertTrue(profile.includeAttributeStatement());
-        
-        assertConditionalPredicate(profile.getSignRequests());
-        assertFalsePredicate(profile.getSignAssertions());
-        assertTruePredicate(profile.getSignResponses());
-        Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
-        Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
-        Assert.assertTrue(profile.includeConditionsNotBefore());
-        Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
-        Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/shibboleth-sso");
-        Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-        final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
-        Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(32767).toByteArray());
-        Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-
-        Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
-        final AuthenticationMethodPrincipal authnMethod =
-                (AuthenticationMethodPrincipal) profile.getDefaultAuthenticationMethods().get(0);
-        Assert.assertEquals(authnMethod.getName(),"urn:oasis:names:tc:SAML:2.0:ac:classes:Password");
-
-        final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
-        Assert.assertEquals(nameIDPrefs.size(), 2);
-        Assert.assertTrue(nameIDPrefs.contains("three"));
-        Assert.assertTrue(nameIDPrefs.contains("four"));
-
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml
deleted file mode 100644
index 413ae8d..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
-    xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
-    xmlns:context="http://www.springframework.org/schema/context"
-    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-    default-init-method="initialize" default-destroy-method="destroy" default-lazy-init="true">
-
-    <context:property-placeholder
-        location="classpath:/net/shibboleth/idp/profile/spring/relyingparty/file.properties" />
-
-    <!-- This BeanPostProcessor auto-sets identifiable beans with the bean name 
-        (if not already set). -->
-    <bean class="net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor" />
-
-    <!-- The profile defaults. Firstly the artifact and InbouldFlowId parameters -->
-
-    <!--  SAML2 -->
-    <alias alias="shibboleth.SAML2.Artifact.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.Artifact.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml-soap" />
-    
-    <alias alias="shibboleth.SAML2.Logout.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.Logout.ArtifactServiceIndex" class="java.lang.String"
-        c:_0="3214" />
-    <bean id="shibboleth.SAML2.Logout.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml2-slo" />
-
-    <alias alias="shibboleth.SAML2.AttributeQuery.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.AttributeQuery.ArtifactServiceIndex" class="java.lang.String"
-        c:_0="2143" />
-    <bean id="shibboleth.SAML2.AttributeQuery.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml-soap" />
-
-    <alias alias="shibboleth.SAML2.BrowserSSO.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.BrowserSSO.ArtifactServiceIndex" class="java.lang.String"
-        c:_0="1111" />
-    <bean id="shibboleth.SAML2.BrowserSSO.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml2-sso" />
-    
-    <alias alias="shibboleth.SAML2.ECP.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.ECP.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml2-ecp" />
-
-    <!--  SAML2 - Liberty -->
-    <alias alias="shibboleth.SAML2.SSOS.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML2.SSOS.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml2-ssos" />
-
-    <!--  SAML1 -->
-    <alias alias="shibboleth.SAML1.Artifact.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML1.Artifact.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml-soap" />
-    
-    <alias alias="shibboleth.SAML1.AttributeQuery.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML1.AttributeQuery.ArtifactServiceIndex" class="java.lang.String"
-        c:_0="432100" />
-    <bean id="shibboleth.SAML1.AttributeQuery.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/saml-soap" />
-    
-    <alias alias="shibboleth.SAML1.BrowserSSO.ServletRequest" name="shibboleth.HttpServletRequest" />
-    <bean id="shibboleth.SAML1.BrowserSSO.ArtifactServiceIndex" class="java.lang.String"
-        c:_0="1111" />
-    <bean id="shibboleth.SAML1.BrowserSSO.InboundFlowId" class="java.lang.String"
-        c:_0="security-policy/shibboleth-sso" />
-        
-    <bean id="shibboleth.ParserPool"
-        class="net.shibboleth.utilities.java.support.xml.BasicParserPool"
-        p:maxPoolSize="100" p:coalescing="true" p:ignoreComments="true"
-        p:ignoreElementContentWhitespace="true" p:namespaceAware="true" />
-
-
-    <bean id="myParserPool"
-        class="net.shibboleth.utilities.java.support.xml.BasicParserPool"
-        p:maxPoolSize="1000" p:coalescing="true" p:ignoreComments="true"
-        p:ignoreElementContentWhitespace="true" p:namespaceAware="true" />
-
-    <bean id="shibboleth.SchemaBuilder" class="org.opensaml.saml.common.xml.SAMLSchemaBuilder"
-        c:ver="SAML_11" />
-
-    <!--  for SSOS -->
-    <bean id="jimmy" factory-method="alwaysTrue" class="com.google.common.base.Predicates"/>
-    
-    <bean id="shibboleth.HttpServletRequest"
-        class="org.springframework.mock.web.MockHttpServletRequest" />
-    <bean id="dummyPredicate" class="net.shibboleth.idp.profile.spring.logic.DummyPredicate"/>
-
-    <!-- Trust Engines -->
-    
-    <!-- These are hacked to use static resolvers to avoid a dependency on metadata, just so the tests load. -->
-
-    <bean id="shibboleth.KeyInfoCredentialResolver" class="org.opensaml.xmlsec.config.impl.DefaultSecurityConfigurationBootstrap"
-        factory-method="buildBasicInlineKeyInfoCredentialResolver" />
-
-    <bean id="shibboleth.StaticCredentialResolver" class="org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoCredentialResolver">
-        <constructor-arg>
-            <bean class="org.opensaml.security.x509.BasicX509Credential">
-                <constructor-arg name="entityCertificate">
-                    <bean class="net.shibboleth.ext.spring.factory.X509CertificateFactoryBean"
-                        p:resource="classpath:net/shibboleth/idp/profile/spring/relyingparty/security/credential/cert.pem" />
-                </constructor-arg>
-            </bean>
-        </constructor-arg>
-    </bean>
-
-    <bean id="shibboleth.StaticPKIXValidationInformationResolver"
-            class="org.opensaml.security.x509.impl.StaticPKIXValidationInformationResolver"
-            c:info="#{null}" c:names="#{null}" />
-
-    <bean id="shibboleth.SignatureTrustEngine"
-            class="org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine">
-        <constructor-arg>
-            <list>
-                <bean class="org.opensaml.xmlsec.signature.support.impl.ExplicitKeySignatureTrustEngine"
-                    c:resolver-ref="shibboleth.StaticCredentialResolver"
-                    c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
-                <bean class="org.opensaml.xmlsec.signature.support.impl.PKIXSignatureTrustEngine" 
-                    c:resolver-ref="shibboleth.StaticPKIXValidationInformationResolver"
-                    c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
-            </list>
-        </constructor-arg>
-    </bean>
-
-    <bean id="shibboleth.X509TrustEngine" class="org.opensaml.security.trust.impl.ChainingTrustEngine">
-        <constructor-arg>
-            <list>
-                <bean class="org.opensaml.security.trust.impl.ExplicitX509CertificateTrustEngine"
-                    c:resolver-ref="shibboleth.StaticCredentialResolver" />
-                <bean class="org.opensaml.security.x509.impl.PKIXX509CredentialTrustEngine"
-                    c:resolver-ref="shibboleth.StaticPKIXValidationInformationResolver" />
-            </list>
-        </constructor-arg>
-    </bean>
-           
-    <bean id="shibboleth.MetadataSignatureValidationStaticCriteria" 
-            class="net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.SignatureValidationCriteriaSetFactoryBean" 
-            p:includeOpenSAMLGlobalConfig="true">
-        <property name="signatureValidationConfigurations">
-            <util:list>
-                <bean class="org.opensaml.xmlsec.impl.BasicSignatureValidationConfiguration">
-                    <property name="whitelistedAlgorithms">
-                        <list>
-                        </list>
-                    </property>
-                    <property name="blacklistedAlgorithms">
-                        <list>
-                            <value>foo</value>
-                            <value>bar</value>
-                            <value>baz</value>
-                        </list>
-                    </property>
-                </bean>
-            </util:list>
-        </property>
-    </bean>
-
-</beans>
-                            
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml
deleted file mode 100644
index 6d95162..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xmlns:util="http://www.springframework.org/schema/util"
-        xmlns:c="http://www.springframework.org/schema/c"
-        xmlns:p="http://www.springframework.org/schema/p"
-        xmlns:context="http://www.springframework.org/schema/context"
-        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-                            
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-                            
-    <context:property-placeholder
-        location="classpath:/net/shibboleth/idp/profile/spring/relyingparty/file.properties"/>
-</beans>
-                            
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml
deleted file mode 100644
index 252d5e0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml
+++ /dev/null
@@ -1,240 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- This file is an EXAMPLE configuration file. This file specifies relying 
-	party dependent configurations for the IdP, for example, whether SAML assertions 
-	to a particular relying party should be signed. It also includes metadata 
-	provider and credential definitions used when answering requests to a relying 
-	party. -->
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:metadata="urn:mace:shibboleth:2.0:metadata"
-	xmlns:resource="urn:mace:shibboleth:2.0:resource" xmlns:security="urn:mace:shibboleth:2.0:security"
-	xmlns:samlsec="urn:mace:shibboleth:2.0:security:saml" xmlns:samlmd="urn:oasis:names:tc:SAML:2.0:metadata"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                        urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd 
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
-                        urn:mace:shibboleth:2.0:security:saml http://shibboleth.net/schema/idp/shibboleth-security-policy-saml.xsd
-                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd">
-
-	<!-- ========================================== -->
-	<!-- Relying Party Configurations -->
-	<!-- ========================================== -->
-	<rp:AnonymousRelyingParty provider="${IDP_ENTITY_ID}"
-		defaultSigningCredentialRef="IdPCredential" />
-
-	<rp:DefaultRelyingParty provider="${IDP_ENTITY_ID}"
-		defaultSigningCredentialRef="IdPCredential">
-		<!-- Each attribute in these profiles configuration is set to its default 
-			value, that is, the values that would be in effect if those attributes were 
-			not present. We list them here so that people are aware of them (since they 
-			seem reluctant to read the documentation). -->
-		<rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile"
-			includeAttributeStatement="false" assertionLifetime="PT5M"
-			signResponses="conditional" signAssertions="never"
-			includeConditionsNotBefore="true" />
-            
-        <rp:ProfileConfiguration     xsi:type="saml:SAML2SSOSProfile" /> 
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML1AttributeQueryProfile"
-			assertionLifetime="PT5M" signResponses="conditional" signAssertions="never"
-			includeConditionsNotBefore="true" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML1ArtifactResolutionProfile"
-			signResponses="conditional" signAssertions="never" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
-			includeAttributeStatement="true" assertionLifetime="PT5M"
-			assertionProxyCount="0" signResponses="never" signAssertions="always"
-			encryptAssertions="conditional" encryptNameIds="never"
-			includeConditionsNotBefore="true" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
-			includeAttributeStatement="true" assertionLifetime="PT5M"
-			assertionProxyCount="0" signResponses="never" signAssertions="always"
-			encryptAssertions="conditional" encryptNameIds="never"
-			includeConditionsNotBefore="true" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2AttributeQueryProfile"
-			assertionLifetime="PT5M" assertionProxyCount="0" signResponses="conditional"
-			signAssertions="never" encryptAssertions="conditional"
-			encryptNameIds="never" includeConditionsNotBefore="true" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2ArtifactResolutionProfile"
-			signResponses="never" signAssertions="always" encryptAssertions="conditional"
-			encryptNameIds="never" />
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile"
-			signResponses="conditional" />
-
-	</rp:DefaultRelyingParty>
-
-
-	<!-- ========================================== -->
-	<!-- Metadata Configuration -->
-	<!-- ========================================== -->
-	<!-- MetadataProvider the combining other MetadataProviders -->
-	<metadata:MetadataProvider id="ShibbolethMetadata"
-		xsi:type="metadata:ChainingMetadataProvider">
-
-
-		<!-- Example metadata provider. -->
-		<!-- Reads metadata from a URL and store a backup copy on the file system. -->
-		<!-- Validates the signature of the metadata and filters out all by SP 
-			entities in order to save memory -->
-		<metadata:MetadataProvider id="URLMD"
-			xsi:type="metadata:FilesystemMetadataProvider" metadataFile="${DIR}/test-metadata-out.xml">
-			<metadata:MetadataFilter xsi:type="metadata:ChainingFilter">
-				<metadata:MetadataFilter xsi:type="metadata:SignatureValidation"
-					requireSignedRoot="true">
-					<metadata:PublicKey>
-						MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-						uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-						LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-						NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-						nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-						E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-						4wIDAQAB</metadata:PublicKey>
-				</metadata:MetadataFilter>
-				<metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList">
-					<metadata:RetainedRole>samlmd:SPSSODescriptor</metadata:RetainedRole>
-				</metadata:MetadataFilter>
-			</metadata:MetadataFilter>
-		</metadata:MetadataProvider>
-
-	</metadata:MetadataProvider>
-
-
-	<!-- ========================================== -->
-	<!-- Security Configurations -->
-	<!-- ========================================== -->
-	<security:Credential id="IdPCredential" xsi:type="security:X509Filesystem">
-		<security:PrivateKey>${DIR}/security/credential/key.pem
-		</security:PrivateKey>
-		<security:Certificate>${DIR}/security/credential/cert.pem
-		</security:Certificate>
-	</security:Credential>
-
-
-	<!-- DO NOT EDIT BELOW THIS POINT -->
-	<!-- The following trust engines and rules control every aspect of security 
-		related to incoming messages. Trust engines evaluate various tokens (like 
-		digital signatures) for trust worthiness while the security policies establish 
-		a set of checks that an incoming message must pass in order to be considered 
-		secure. Naturally some of these checks require the validation of the tokens 
-		evaluated by the trust engines and so you'll see some rules that reference 
-		the declared trust engines. -->
-		
-<!-- 
-	<security:TrustEngine id="shibboleth.SignatureTrustEngine"
-		xsi:type="security:SignatureChaining">
-		<security:TrustEngine
-			id="shibboleth.SignatureMetadataExplicitKeyTrustEngine" xsi:type="security:MetadataExplicitKeySignature"
-			metadataProviderRef="ShibbolethMetadata" />
-		<security:TrustEngine id="shibboleth.SignatureMetadataPKIXTrustEngine"
-			xsi:type="security:MetadataPKIXSignature" metadataProviderRef="ShibbolethMetadata" />
-	</security:TrustEngine>
-	
-	<security:TrustEngine id="shibboleth.CredentialTrustEngine"
-		xsi:type="security:Chaining">
-		<security:TrustEngine
-			id="shibboleth.CredentialMetadataExplictKeyTrustEngine" xsi:type="security:MetadataExplicitKey"
-			metadataProviderRef="ShibbolethMetadata" />
-		<security:TrustEngine id="shibboleth.CredentialMetadataPKIXTrustEngine"
-			xsi:type="security:MetadataPKIXX509Credential" metadataProviderRef="ShibbolethMetadata" />
-	</security:TrustEngine>
-
-	<security:SecurityPolicy id="shibboleth.ShibbolethSSOSecurityPolicy"
-		xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" required="false" />
-		<security:Rule xsi:type="samlsec:IssueInstant" required="false" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy id="shibboleth.SAML1AttributeQuerySecurityPolicy"
-		xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="security:ClientCertAuth"
-			trustEngineRef="shibboleth.CredentialTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-		<security:Rule xsi:type="security:MandatoryMessageAuthentication" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy
-		id="shibboleth.SAML1ArtifactResolutionSecurityPolicy" xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="security:ClientCertAuth"
-			trustEngineRef="shibboleth.CredentialTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-		<security:Rule xsi:type="security:MandatoryMessageAuthentication" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy id="shibboleth.SAML2SSOSecurityPolicy"
-		xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:SAML2AuthnRequestsSigned" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy id="shibboleth.SAML2AttributeQuerySecurityPolicy"
-		xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="security:ClientCertAuth"
-			trustEngineRef="shibboleth.CredentialTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-		<security:Rule xsi:type="security:MandatoryMessageAuthentication" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy
-		id="shibboleth.SAML2ArtifactResolutionSecurityPolicy" xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="security:ClientCertAuth"
-			trustEngineRef="shibboleth.CredentialTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-		<security:Rule xsi:type="security:MandatoryMessageAuthentication" />
-	</security:SecurityPolicy>
-
-	<security:SecurityPolicy id="shibboleth.SAML2SLOSecurityPolicy"
-		xsi:type="security:SecurityPolicyType">
-		<security:Rule xsi:type="samlsec:Replay" />
-		<security:Rule xsi:type="samlsec:IssueInstant" />
-		<security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
-			trustEngineRef="shibboleth.SignatureTrustEngine" />
-		<security:Rule xsi:type="security:ClientCertAuth"
-			trustEngineRef="shibboleth.CredentialTrustEngine" />
-		<security:Rule xsi:type="samlsec:MandatoryIssuer" />
-		<security:Rule xsi:type="security:MandatoryMessageAuthentication" />
-	</security:SecurityPolicy>
--->
-</rp:RelyingPartyGroup>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml
deleted file mode 100644
index 443214f..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-                      xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd">
-                                       
-    <!-- ========================================== -->
-    <!--      Relying Party Configurations          -->
-    <!-- ========================================== -->
-    <rp:AnonymousRelyingParty provider="AnonIdP" defaultSigningCredentialRef="IdPCredential"/>
-    
-    <rp:DefaultRelyingParty provider="DefaultIdP" defaultSigningCredentialRef="IdPCredential"/>
-    <rp:RelyingParty provider="IdP1" id="the id1"/>
-    <rp:RelyingParty provider="IdP2" id="the id2"/>
-    
-</rp:RelyingPartyGroup>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml
deleted file mode 100644
index 49df2db..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	id="the_RP" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-	nameIDFormatPrecedence="three four"
-	detailedErrors="true"
-	defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-
-	<rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile" includeAttributeStatement="true" securityPolicyRef="ignore" 
-       outboundArtifactType="6543" />
-</rp:RelyingParty>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml
deleted file mode 100644
index a47327e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2ECPProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml
deleted file mode 100644
index e995831..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-	nameIDFormatPrecedence="three four"
-	defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-	<rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
-		localityAddress="ignore">
-	</rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml
deleted file mode 100644
index 3561f1b..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-	nameIDFormatPrecedence="three four"
-	defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-	<rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
-		localityDNSName="ignore">
-	</rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml
deleted file mode 100644
index a033ddc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-	nameIDFormatPrecedence="three four"
-	defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-	<rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
-		includeAttributeStatement="false" securityPolicyRef="ignore"
-		maximumSPSessionLifetime="1" skipEndpointValidationWhenSigned="true"
-		artifactType="5437">
-	</rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml
deleted file mode 100644
index ea7a91e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2LogoutRequestProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml
deleted file mode 100644
index 50d2ce0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-    xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
-    xmlns:spring="http://www.springframework.org/schema/beans"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
-	xsi:type="saml:SAML2LogoutRequestProfile"
-    encryptNameIds="never"  encryptAssertions="always" assertionProxyCount="98"
-    assertionLifetime="PT8M" includeConditionsNotBefore="true" artifactType="7" 
-    signAssertions="${prop.never}" signRequests="conditional" signResponses="never">
-    <saml:ProxyAudience>${prop.String1}</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml
deleted file mode 100644
index a9a1a67..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML1ArtifactResolutionProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml
deleted file mode 100644
index 6cebaea..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<rp:AnonymousRelyingParty provider="bar" />
-	<rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
-	<rp:RelyingParty id="rp" provider="provider"
-		nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
-		defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-		<rp:ProfileConfiguration xsi:type="saml:SAML1ArtifactResolutionProfile"
-
-			securityPolicyRef="wobble" attributeAuthority="wibble"
-
-			assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}"
-			signingCredentialRef="credref" signAssertions="${prop.never}"
-			signRequests="never" signResponses="conditional">
-			<saml:Audience>${prop.String1}${prop.String1}</saml:Audience>
-		</rp:ProfileConfiguration>
-
-
-	</rp:RelyingParty>
-	<sec:Credential id="credref" xsi:type="sec:BasicInline">
-		<sec:PublicKey>
-			MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-			uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-			LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-			NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-			nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-			E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-			4wIDAQAB
-		</sec:PublicKey>
-	</sec:Credential>
-</rp:RelyingPartyGroup>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml
deleted file mode 100644
index 25c0123..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML1AttributeQueryProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml
deleted file mode 100644
index 86f7b6b..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML1AttributeQueryProfile"
-
-    securityPolicyRef="wobble" attributeAuthority="wibble"
-    
-    assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}" artifactType="${prop.artifactType}1" 
-    signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
-    <saml:Audience>${prop.String1}${prop.String1}</saml:Audience>
-    <saml:Audience>${prop.String1}</saml:Audience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml
deleted file mode 100644
index 98fc2d0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2SSOProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml
deleted file mode 100644
index f87cc5c..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<rp:AnonymousRelyingParty provider="bar" />
-	<rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
-	<rp:RelyingParty id="rp" provider="provider"
-		nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
-		defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
-        <!-- Note: deliberately setting both allowDelegation and allowDelegationPredicateRef to conflicting values
-             to test that the ref overrides the explicit value as expected. -->
-		<rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
-			includeAttributeStatement="false" securityPolicyRef="ignore"
-			maximumSPSessionLifetime="1" encryptionOptional="true"
-			encryptAttributes="always" encryptAssertions="conditional"
-            allowDelegation="false"
-            allowDelegationPredicateRef="dummyPredicate"
-			signRequests="conditional" signAssertions="always" signResponses="never"
-			skipEndpointValidationWhenSigned="true" artifactType="7654">
-		</rp:ProfileConfiguration>
-
-	</rp:RelyingParty>
-	<sec:Credential id="signer" xsi:type="sec:BasicInline">
-		<sec:PublicKey>
-			MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-			uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-			LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-			NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-			nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-			E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-			4wIDAQAB
-		</sec:PublicKey>
-	</sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml
deleted file mode 100644
index 45d08b9..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<rp:AnonymousRelyingParty provider="bar" />
-	<rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
-	<rp:RelyingParty id="rp" provider="provider"
-		nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
-		defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
-			includeAttributeStatement="false" securityPolicyRef="ignore"
-			maximumSPSessionLifetime="1" encryptionOptional="true"
-			encryptAttributes="always" encryptAssertions="conditional"
-            allowDelegation="${allowDelegation}"
-			signRequests="conditional" signAssertions="always" signResponses="never"
-			skipEndpointValidationWhenSigned="true" artifactType="7654">
-		</rp:ProfileConfiguration>
-
-	</rp:RelyingParty>
-	<sec:Credential id="signer" xsi:type="sec:BasicInline">
-		<sec:PublicKey>
-			MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-			uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-			LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-			NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-			nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-			E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-			4wIDAQAB
-		</sec:PublicKey>
-	</sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml
deleted file mode 100644
index f8bda90..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<rp:AnonymousRelyingParty provider="bar" />
-	<rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
-	<rp:RelyingParty id="rp" provider="provider"
-		nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
-		defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
-		<rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
-			includeAttributeStatement="false" securityPolicyRef="ignore"
-			maximumSPSessionLifetime="1" encryptionOptional="true"
-			encryptAttributes="always" encryptAssertions="conditional"
-            allowDelegation="true" maximumTokenDelegationChainLength="3"
-			signRequests="conditional" signAssertions="always" signResponses="never"
-			skipEndpointValidationWhenSigned="true" artifactType="7654">
-		</rp:ProfileConfiguration>
-
-	</rp:RelyingParty>
-	<sec:Credential id="signer" xsi:type="sec:BasicInline">
-		<sec:PublicKey>
-			MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-			uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-			LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-			NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-			nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-			E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-			4wIDAQAB
-		</sec:PublicKey>
-	</sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml
deleted file mode 100644
index a2833bc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
-	xmlns:spring="http://www.springframework.org/schema/beans"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
-	xsi:type="saml:SAML2ArtifactResolutionProfile">
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml
deleted file mode 100644
index fd1e933..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-    xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" 
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2ArtifactResolutionProfile"
-
-    securityPolicyRef="wobble"
-
-    encryptNameIds="always"	 encryptAssertions="${prop.never}" assertionProxyCount="99" attributeAuthority="wibble"
-    
-    assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}" 
-    signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
-    <saml:Audience>${prop.String1}</saml:Audience>
-    <saml:ProxyAudience>ProxyAudience1</saml:ProxyAudience>
-    <saml:ProxyAudience>ProxyAudience2</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml
deleted file mode 100644
index 354a967..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2AttributeQueryProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml
deleted file mode 100644
index acde24e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-    xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" 
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2AttributeQueryProfile"
-
-    securityPolicyRef="wobble"
-
-    encryptNameIds="always"	 encryptAssertions="${prop.never}" assertionProxyCount="99" attributeAuthority="wibble"
-    
-    assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}" artifactType="765" 
-    signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
-    <saml:Audience>${prop.String1}</saml:Audience>
-    <saml:Audience>Audience2</saml:Audience>
-    <saml:ProxyAudience>ProxyAudience1</saml:ProxyAudience>
-    <saml:ProxyAudience>${prop.String1}</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml
deleted file mode 100644
index 75ff8dd..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:ShibbolethSSOProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml
deleted file mode 100644
index 4cce2ed..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-	nameIDFormatPrecedence="three four"
-	defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-
-	<rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile"
-		includeAttributeStatement="true" securityPolicyRef="ignore"
-		artifactType="32767"
-		signRequests="conditional"/>
-</rp:RelyingParty>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml
deleted file mode 100644
index 1a55255..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
-	xsi:type="saml:SAML2SSOSProfile"
-	 
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml
deleted file mode 100644
index 85dfb31..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
-	xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:spring="http://www.springframework.org/schema/beans"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
-                        urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
-                        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
-	xsi:type="saml:SAML2SSOSProfile" 
-	delegationPredicateRef="jimmy">
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml
deleted file mode 100644
index b903ecc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
-	xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
-	xmlns:context="http://www.springframework.org/schema/context"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-
-	<bean id="rpResolverService" class="net.shibboleth.ext.spring.service.ReloadableSpringService"
-		p:failFast="true" p:reloadCheckDelay="0">
-        <constructor-arg name="claz"
-            value="net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver" />
-        <constructor-arg name="strategy">
-            <bean class="net.shibboleth.ext.spring.service.ClassBasedServiceStrategy"
-                c:serviceableClaz="net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver" />
-        </constructor-arg>
-		<property name="serviceConfigurations">
-			<util:list>
-				<value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml</value>
-                <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml</value>
-			</util:list>
-		</property>
-	</bean>
-	
-    <bean id="metadataResolverService" class="net.shibboleth.ext.spring.service.ReloadableSpringService"
-        p:failFast="true" p:reloadCheckDelay="0">
-        <constructor-arg name="claz"
-            value="org.opensaml.saml.metadata.resolver.MetadataResolver" />
-        <constructor-arg name="strategy">
-            <bean class="net.shibboleth.ext.spring.service.ClassBasedServiceStrategy"
-                c:serviceableClaz="net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider" />
-        </constructor-arg>
-        <property name="serviceConfigurations">
-            <util:list>
-                <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml</value>
-                <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml</value>
-            </util:list>
-        </property>
-    </bean>
-	
-	<bean id="shibboleth.RelyingPartyResolver"
-		class="net.shibboleth.idp.relyingparty.impl.ReloadingRelyingPartyConfigurationResolver"
-		c:resolverService-ref="rpResolverService" />
-		
-    <bean id="shibboleth.MetadataResolver"
-        class="net.shibboleth.idp.saml.metadata.impl.ReloadingRelyingPartyMetadataProvider"
-        c:resolverService-ref="metadataResolverService" />
-
-</beans>
-                            
\ No newline at end of file
diff --git a/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd b/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd
deleted file mode 100644
index 05468d9..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd
+++ /dev/null
@@ -1,380 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:samlrp="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:rp="urn:mace:shibboleth:2.0:relying-party" targetNamespace="urn:mace:shibboleth:2.0:relying-party:saml" elementFormDefault="qualified">
-
-    <import namespace="urn:mace:shibboleth:2.0:relying-party" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd"/>
-    
-    <complexType name="SAML2ArtifactResolutionProfile">
-        <annotation>
-            <documentation>SAML 2.0 artifact query communication profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2ProfileConfigurationType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2AttributeQueryProfile">
-        <annotation>
-            <documentation>SAML 2.0 attribute query communication profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2ProfileConfigurationType">
-                <attributeGroup ref="samlrp:artifactSettingsGroup"/>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2LogoutRequestProfile">
-        <annotation>
-            <documentation>SAML 2.0 logout request communication profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2ProfileConfigurationType">
-                <attributeGroup ref="samlrp:artifactSettingsGroup"/>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2ECPProfile">
-        <annotation>
-            <documentation>SAML 2.0 ECP single sign-on communication profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2SSOProfile"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2SSOSProfile">
-        <annotation>
-            <documentation>SAML 2.0 Liberty ID-WSF SSOS profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2SSOProfile">
-                <attribute name="delegationPredicateRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a predicate used to determine whether a delegated token presented
-                            to the IdP by another non-user entity may be used to complete SAML 2 SSO
-                            to this relying party.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2SSOProfile">
-        <annotation>
-            <documentation>SAML 2.0 single sign-on communication profile configuration.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAML2ProfileConfigurationType">
-                <attributeGroup ref="samlrp:artifactSettingsGroup"/>
-                <attribute name="allowDelegation" type="string">
-                    <annotation>
-                        <documentation>
-                            Whether produced assertions may be delegated.
-                            
-                            Mutually exclusive with allowDelegationPredicateRef.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="allowDelegationPredicateRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a predicate use to determine whether produced assertions may be delegated.
-                            
-                            Mutually exclusive with allowDelegation.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="maximumTokenDelegationChainLength" type="string">
-                    <annotation>
-                        <documentation>
-                            Limits the total number of delegates that may be derived from the initial SAML token.
-                            The identity provider will not accept, and therefore will also not issue, Assertion tokens
-                            with a delegation chain length greater than this value.
-                            
-                            The length of a delegation chain is evaluated as the number of Delegate children within an
-                            Assertion's DelegationRestrictionType Condition element.
-                            
-                            The value used when applying the policy is determined by the value in effect for the
-                            relying party to which the initial SSO Assertion was issued.
-                            
-                            Defaults to 1. 
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="localityAddress" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated, never implemented.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="localityDNSName" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated, never implemented.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="includeAttributeStatement" type="string">
-                    <annotation>
-                        <documentation>
-                            Boolean flag indicating whether an attribute statement should be included with the
-                            authentication statement in the response sent back to the relying party.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="maximumSPSessionLifetime" type="string">
-                    <annotation>
-                        <documentation>
-                            The maximum amount of time the service provider should maintain a session
-                            for the user based on the authentication assertion.  This attribute is converted into the 
-                            SessionNotOnOrAfter attribute of the AuthnStatement. If no value is supplied then the
-                            SessionNotOnOrAfter attribute is not sent within the AuthnStatement.
-                            
-                            Lifetime is expressed in ISO8601 duration notation.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="skipEndpointValidationWhenSigned" type="string">
-                    <annotation>
-                        <documentation>
-                            If true, allows signed AuthnRequests to bypass validation of the response
-                            location against metadata, if a location is specified in the request.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML2ProfileConfigurationType" abstract="true">
-        <annotation>
-            <documentation>Base type for SAML 2.0 communication profile configurations.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAMLProfileConfigurationType">
-                <sequence>
-                    <element name="ProxyAudience" type="string" minOccurs="0" maxOccurs="unbounded">
-                        <annotation>
-                            <documentation>List of audiences for proxied assertions.</documentation>
-                        </annotation>
-                    </element>
-                </sequence>
-                <attribute name="encryptionOptional" type="string">
-                    <annotation>
-                        <documentation>A flag indicating whether encryption is optional.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="encryptNameIds" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether NameIDs should be encrypted.
-                        
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="encryptAssertions" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether assertions should be encrypted.
-                        
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="encryptAttributes" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether attributes should be encrypted.
-
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="assertionProxyCount" type="string">
-                    <annotation>
-                        <documentation>The maximum number of times an assertion may be proxied.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML1ArtifactResolutionProfile">
-        <annotation>
-            <documentation>SAML 1.0 and 1.1 artifact query communication profile configurations.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAMLProfileConfigurationType"/>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAML1AttributeQueryProfile">
-        <annotation>
-            <documentation>SAML 1.0 and 1.1 attribute query communication profile configurations.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAMLProfileConfigurationType">
-                <attributeGroup ref="samlrp:artifactSettingsGroup"/>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="ShibbolethSSOProfile">
-        <annotation>
-            <documentation>Shibboleth 1 single sign-on communication profile configurations.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="samlrp:SAMLProfileConfigurationType">
-                <attributeGroup ref="samlrp:artifactSettingsGroup"/>
-                <attribute name="localityAddress" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated, never implemented.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="localityDNSName" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated, never implemented.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="includeAttributeStatement" type="string">
-                    <annotation>
-                        <documentation>
-                            Boolean flag indicating whether an attribute statement should be included with the
-                            authentication statement in the response sent back to the relying party.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="SAMLProfileConfigurationType" abstract="true">
-        <annotation>
-            <documentation>Base type for SAML (1.0, 1.1, and 2.0) communication profile configurations.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="rp:ProfileConfigurationType">
-                <sequence>
-                    <choice>
-                        <element name="Audience" type="string" minOccurs="0" maxOccurs="unbounded">
-                            <annotation>
-                                <documentation>Additional audiences to which an assertion may be released.</documentation>
-                            </annotation>
-                        </element>
-                    </choice>
-                </sequence>
-                <attribute name="assertionLifetime" type="string">
-                    <annotation>
-                        <documentation>
-                            The amount of time before an issued assertion expires.
-                            
-                            Lifetime is expressed in ISO8601 duration notation.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="attributeAuthority" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated in V3
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="includeConditionsNotBefore" type="string">
-                    <annotation>
-                        <documentation>
-                            Boolean flag indicating whether a NotBefore condition should be included in any
-                            assertions sent back to the relying party.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="outboundArtifactType" type="string">
-                    <annotation>
-                        <documentation>Deprecated in V3.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="securityPolicyRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Deprecated in V3. 
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="signingCredentialRef" type="string">
-                    <annotation>
-                        <documentation>ID of the credential to use to sign SAML assertions.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="signAssertions" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether issued assertions should be signed. If no signing
-                            credential is provided on this configuration and no default signing credential is provided
-                            on the relying party configuration then signing will not occur regardless of this setting.
-
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="signRequests" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether protocol requests should be signed. If no signing
-                            credential is provided on this configuration and no default signing credential is provided
-                            on the relying party configuration then signing will not occur regardless of this setting.
-
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="signResponses" type="string">
-                    <annotation>
-                        <documentation>
-                            A flag indicating whether protocol responses should be signed. If no signing
-                            credential is provided on this configuration and no default signing credential is provided
-                            on the relying party configuration then signing will not occur regardless of this setting.
-                            
-                            One of "always", "conditional", "never"
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <attributeGroup name="artifactSettingsGroup">
-        <annotation>
-            <documentation>
-                Settings involved in artifact issuance for the subset of profiles that use them.
-            </documentation>
-        </annotation>
-        <attribute name="artifactType" type="string">
-            <annotation>
-                <documentation>An integral type code for the artifact type to issue.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="artifactResolutionServiceURL" type="string">
-            <annotation>
-                <documentation>
-                    The location, as a URL, of the issuer's resolution service endpoint.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="artifactResolutionServiceIndex" type="string">
-            <annotation>
-                <documentation>
-                    The index of the issuer's resolution service endpoint, corresponding to its metadata.
-                </documentation>
-            </annotation>
-        </attribute>
-    </attributeGroup>
-    
-</schema>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd b/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd
deleted file mode 100644
index d63b869..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:security="urn:mace:shibboleth:2.0:security" xmlns:shibmd="urn:mace:shibboleth:2.0:metadata" xmlns:service="urn:mace:shibboleth:2.0:services" targetNamespace="urn:mace:shibboleth:2.0:relying-party" elementFormDefault="qualified">
-
-    <import namespace="urn:mace:shibboleth:2.0:metadata" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-metadata.xsd"/>
-
-    <import namespace="urn:mace:shibboleth:2.0:security" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-security.xsd"/>
-
-    <annotation>
-        <documentation>Schema describing relying party configurations.</documentation>
-    </annotation>
-
-    <element name="RelyingPartyGroup">
-        <annotation>
-            <documentation>Root element of a relying party configuration document.</documentation>
-        </annotation>
-        <complexType>
-            <sequence>
-                <element ref="rp:AnonymousRelyingParty" minOccurs="1"/>
-                <element ref="rp:DefaultRelyingParty" minOccurs="1"/>
-                <element ref="rp:RelyingParty" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="shibmd:MetadataProvider" minOccurs="0"/>
-                <element ref="security:Credential" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="security:TrustEngine" minOccurs="0" maxOccurs="unbounded"/>
-            </sequence>
-        </complexType>
-    </element>
-
-    <element name="RelyingParty" type="rp:IdentifiedRelyingPartyType">
-        <annotation>
-            <documentation>
-                A set of configuration options specific to a given relying party or group of relying parties as
-                expressed in SAML 2 metadata. Note, configuration options are not inherited from either the default
-                relying party or ancestral groups.
-            </documentation>
-        </annotation>
-    </element>
-
-    <element name="DefaultRelyingParty" type="rp:UnidentifiedRelyingParty">
-        <annotation>
-            <documentation>
-                The default set of configuration options to use for relying parties/groups not specifically called out.
-            </documentation>
-        </annotation>
-    </element>
-
-    <element name="AnonymousRelyingParty" type="rp:UnidentifiedRelyingParty">
-        <annotation>
-            <documentation>
-                The set of configuration options to use for relying parties/groups which are not authenticated or known
-                to the system.
-            </documentation>
-        </annotation>
-    </element>
-
-    <complexType name="IdentifiedRelyingPartyType">
-        <annotation>
-            <documentation>A relying party configuration specific to a particular relying party.</documentation>
-        </annotation>
-        <complexContent>
-            <extension base="rp:UnidentifiedRelyingParty">
-                <attribute name="id" type="string" use="required">
-                    <annotation>
-                        <documentation>The entity ID of the relying party.</documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="UnidentifiedRelyingParty">
-    	<annotation>
-    		<documentation>
-    			Relying party configuration information that is not
-    			specific to an identified relying party.
-    		</documentation>
-    	</annotation>
-    	<sequence>
-    		<element ref="rp:ProfileConfiguration" minOccurs="0"
-    			maxOccurs="unbounded">
-    			<annotation>
-    				<documentation>
-    					Profile specific configuration information.
-    				</documentation>
-    			</annotation>
-    		</element>
-    	</sequence>
-    	<attribute name="provider" type="string" use="required">
-    		<annotation>
-    			<documentation>
-    				The entity ID the responder should use when
-    				communicating with the relying party.
-    			</documentation>
-    		</annotation>
-    	</attribute>
-    	<attribute name="defaultAuthenticationMethod" type="string">
-    		<annotation>
-    			<documentation>
-    				The authentication method to use to authenticate the
-    				user, if one is not specified within the request.
-    				This method must be one of the methods handled by
-    				one of the authentication handlers defined for the
-    				system.
-    			</documentation>
-    		</annotation>
-    	</attribute>
-    	<attribute name="defaultSigningCredentialRef" type="string">
-    		<annotation>
-    			<documentation>
-    				The ID of the default signing credential for the
-    				relying party. This is provided as a convenience
-    				method so that this credential need not be defined
-    				on every signing supporting profile configuration.
-    				If a profile configuration has a defined signing
-    				credential it must be used in place of the
-    				credential retrieved here.
-    			</documentation>
-    		</annotation>
-    	</attribute>
-    	<attribute name="nameIDFormatPrecedence" type="string">
-    		<annotation>
-    			<documentation>
-    				A space delimited list that provides a precedence
-    				for NameID format to be used with the relying party.
-    			</documentation>
-    		</annotation>
-    	</attribute>
-    	<attribute name="detailedErrors" type="string">
-            <annotation>
-                <documentation>
-                    a boolean to indicate whether details errors are to be reported
-                </documentation>
-            </annotation>
-    	</attribute>
-    </complexType>
-
-    <element name="ProfileConfiguration" type="rp:ProfileConfigurationType"/>
-    <complexType name="ProfileConfigurationType" abstract="true">
-        <annotation>
-            <documentation>
-                An abstract type from which all profile specific configuration types are derived.
-            </documentation>
-        </annotation>
-    </complexType>
-
-</schema>

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


More information about the commits mailing list