[java-identity-provider] 06/51: IDP-1121 Remove dc: namespace

Rod Widdowson rdw at steadingsoftware.com
Wed Feb 6 08:42:37 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=5633e7a76b905a79d22775167842d12b0017b1f6

commit 5633e7a76b905a79d22775167842d12b0017b1f6
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Thu Nov 22 14:43:38 2018 +0000

    IDP-1121 Remove dc: namespace
    
    https://issues.shibboleth.net/jira/browse/IDP-1121
---
 .../resolver/spring/dc/impl/CacheConfigParser.java |  21 +-
 .../dc/impl/ComputedIDDataConnectorParser.java     |   5 +-
 .../dc/impl/DataConnectorNamespaceHandler.java     |  42 -
 .../spring/dc/impl/ManagedConnectionParser.java    |  33 +-
 .../spring/dc/impl/ScriptDataConnectorParser.java  |  23 +-
 .../spring/dc/impl/StaticDataConnectorParser.java  |  20 +-
 .../dc/impl/StoredIDDataConnectorParser.java       |   5 +-
 .../dc/ldap/impl/LDAPDataConnectorParser.java      |  49 +-
 .../dc/rdbms/impl/RDBMSDataConnectorParser.java    |  17 +-
 .../src/main/resources/META-INF/spring.handlers    |   1 -
 .../dc/ComputedIDDataConnectorParserTest.java      |  14 -
 .../resolver/spring/dc/ManagedConnectionTest.java  |  12 -
 .../spring/dc/ScriptDataConnectorParserTest.java   |   9 -
 .../spring/dc/StaticDataConnectorParserTest.java   |  20 +-
 .../spring/dc/StoredIDDataConnectorParserTest.java |   6 -
 .../dc/ldap/LDAPDataConnectorParserTest.java       |  42 -
 .../dc/rdbms/RDBMSDataConnectorParserTest.java     |  26 +-
 .../idp/attribute/resolver/spring/dc/computed.xml  |  15 -
 .../spring/dc/containerManagedConnection.xml       |  20 -
 .../dc/ldap/ldap-attribute-resolver-v2-hybrid.xml  |  42 -
 .../spring/dc/ldap/ldap-attribute-resolver-v2.xml  |  64 --
 .../rdbms/rdbms-attribute-resolver-v2-hybrid.xml   |  23 -
 .../dc/rdbms/rdbms-attribute-resolver-v2.xml       |  40 -
 .../dc/{ => resolver}/staticMultiFallback.xml      |   0
 .../resolver/spring/dc/scriptedAttributes-8.xml    |  15 -
 .../resolver/spring/dc/scriptedAttributes.xml      |  35 -
 .../idp/attribute/resolver/spring/dc/stored.xml    |  25 -
 .../schema/shibboleth-attribute-resolver-dc.xsd    | 898 ---------------------
 .../schema/shibboleth-attribute-resolver.xsd       |  36 +-
 29 files changed, 56 insertions(+), 1502 deletions(-)

diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/CacheConfigParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/CacheConfigParser.java
index 4d6cbd9..f2d3e59 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/CacheConfigParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/CacheConfigParser.java
@@ -48,19 +48,11 @@ import com.google.common.cache.CacheBuilder;
 /** Utility class for parsing v2 cache configuration. */
 public class CacheConfigParser {
 
-    /** ResultCache name - dc: (Legacy). */
-    @Nonnull public static final QName RESULT_CACHE_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ResultCache");
-
-    /** ResultCacheBean name - dc: (Legacy). */
-    @Nonnull public static final QName RESULT_CACHE_BEAN_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ResultCacheBean");
-
-    /** ResultCache name - resolver:. */
+    /** ResultCache name. */
     @Nonnull public static final QName RESULT_CACHE_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ResultCache");
     
-    /** ResultCacheBean name - resolver:. */
+    /** ResultCacheBean name. */
     @Nonnull public static final QName RESULT_CACHE_BEAN_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ResultCacheBean");
 
@@ -106,8 +98,7 @@ public class CacheConfigParser {
             return null;
         }
         
-        final List<Element> cacheElements = ElementSupport.getChildElements(configElement, RESULT_CACHE_DC);
-        cacheElements.addAll(ElementSupport.getChildElements(configElement, RESULT_CACHE_RESOLVER));
+        final List<Element> cacheElements = ElementSupport.getChildElements(configElement, RESULT_CACHE_RESOLVER);
         if (cacheElements.isEmpty()) {
             return null;
         }
@@ -223,8 +214,7 @@ public class CacheConfigParser {
      */
     @Nullable public static String getBeanResultCacheID(@Nonnull final Element config) {
         
-        final List<Element> beanResultCache = ElementSupport.getChildElements(config, RESULT_CACHE_BEAN_DC);
-        beanResultCache.addAll(ElementSupport.getChildElements(config, RESULT_CACHE_BEAN_RESOLVER)); 
+        final List<Element> beanResultCache = ElementSupport.getChildElements(config, RESULT_CACHE_BEAN_RESOLVER); 
         
         if (beanResultCache.isEmpty()) {
             return null;
@@ -235,8 +225,7 @@ public class CacheConfigParser {
             warn("Only one <ResultCacheBean> should be specified; the first one has been consulted");
         }
 
-        final List<Element> resultCacheElements = ElementSupport.getChildElements(config, RESULT_CACHE_DC);
-        resultCacheElements.addAll(ElementSupport.getChildElements(config, RESULT_CACHE_RESOLVER));
+        final List<Element> resultCacheElements = ElementSupport.getChildElements(config, RESULT_CACHE_RESOLVER);
         
         if (resultCacheElements.size() > 0) {
             LoggerFactory.getLogger(ManagedConnectionParser.class).
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIDDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIDDataConnectorParser.java
index 6daad0c..c328798 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIDDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ComputedIDDataConnectorParser.java
@@ -32,10 +32,7 @@ import org.w3c.dom.Element;
  */
 public class ComputedIDDataConnectorParser extends BaseComputedIDDataConnectorParser {
 
-    /** Schema type - dc: (legacy). */
-    @Nonnull public static final QName TYPE_NAME_DC = new QName(DataConnectorNamespaceHandler.NAMESPACE, "ComputedId");
-
-    /** Schema type - resolver: . */
+    /** Schema type - resolver. */
     @Nonnull public static final QName TYPE_NAME_RESOLVER = new QName(AttributeResolverNamespaceHandler.NAMESPACE, 
             "ComputedId");
 
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorNamespaceHandler.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorNamespaceHandler.java
deleted file mode 100644
index e090197..0000000
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorNamespaceHandler.java
+++ /dev/null
@@ -1,42 +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.attribute.resolver.spring.dc.impl;
-
-import javax.annotation.Nonnull;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-import net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl.LDAPDataConnectorParser;
-import net.shibboleth.idp.attribute.resolver.spring.dc.rdbms.impl.RDBMSDataConnectorParser;
-
-/** Namespace handler for the Shibboleth static data connector namespace. */
-public class DataConnectorNamespaceHandler extends BaseSpringNamespaceHandler {
-
-    /** Namespace for this handler. */
-    @Nonnull public static final String NAMESPACE = "urn:mace:shibboleth:2.0:resolver:dc";
-
-    /** {@inheritDoc} */
-    @Override public void init() {
-        registerBeanDefinitionParser(StaticDataConnectorParser.TYPE_NAME_DC, new StaticDataConnectorParser());
-        registerBeanDefinitionParser(ComputedIDDataConnectorParser.TYPE_NAME_DC, new ComputedIDDataConnectorParser());
-        registerBeanDefinitionParser(StoredIDDataConnectorParser.TYPE_NAME_AD, new StoredIDDataConnectorParser());
-        registerBeanDefinitionParser(RDBMSDataConnectorParser.TYPE_NAME_DC, new RDBMSDataConnectorParser());
-        registerBeanDefinitionParser(LDAPDataConnectorParser.TYPE_NAME_DC, new LDAPDataConnectorParser());
-        registerBeanDefinitionParser(ScriptDataConnectorParser.TYPE_NAME_DC, new ScriptDataConnectorParser());
-    }
-    
-}
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ManagedConnectionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ManagedConnectionParser.java
index abbaf8b..275f38b 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ManagedConnectionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ManagedConnectionParser.java
@@ -50,26 +50,14 @@ import net.shibboleth.utilities.java.support.xml.ElementSupport;
 /** Utility class for parsing v2 managed connection configuration. */
 public class ManagedConnectionParser {
 
-    /** dc:ContainerManagedConnection (legacy).*/
-    @Nonnull public static final QName CONTAINER_MANAGED_CONNECTION_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ContainerManagedConnection");
-    
     /** resolver:ContainerManagedConnection.*/
     @Nonnull public static final QName CONTAINER_MANAGED_CONNECTION_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ContainerManagedConnection");
     
-    /** dc: ApplicationManagedConnection (legacy).*/
-    @Nonnull public static final QName APPLICATION_MANAGED_CONNECTION_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ApplicationManagedConnection");
-    
     /** resolver: ApplicationManagedConnection (legacy).*/
     @Nonnull public static final QName APPLICATION_MANAGED_CONNECTION_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ApplicationManagedConnection");
 
-    /** dc:BeanManagedConnection (legacy).*/
-    @Nonnull public static final QName BEAN_MANAGED_CONNECTION_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "BeanManagedConnection");
-    
     /** resolver:BeanManagedConnection.*/
     @Nonnull public static final QName BEAN_MANAGED_CONNECTION_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "BeanManagedConnection");
@@ -102,14 +90,10 @@ public class ManagedConnectionParser {
      */
     @Nullable public BeanDefinition createDataSource() {
         final List<Element> containerManagedElements =
-                ElementSupport.getChildElements(configElement, CONTAINER_MANAGED_CONNECTION_DC);
-        containerManagedElements.addAll(
-                ElementSupport.getChildElements(configElement, CONTAINER_MANAGED_CONNECTION_RESOLVER));
+                ElementSupport.getChildElements(configElement, CONTAINER_MANAGED_CONNECTION_RESOLVER);
 
         final List<Element> applicationManagedElements =
-                ElementSupport.getChildElements(configElement, APPLICATION_MANAGED_CONNECTION_DC);
-        applicationManagedElements.addAll(
-                ElementSupport.getChildElements(configElement, APPLICATION_MANAGED_CONNECTION_RESOLVER));
+                ElementSupport.getChildElements(configElement, APPLICATION_MANAGED_CONNECTION_RESOLVER);
 
         final List<Element> simpleManagedElements =
                 ElementSupport.getChildElements(configElement, SIMPLE_MANAGED_CONNECTION_RESOLVER);
@@ -149,9 +133,7 @@ public class ManagedConnectionParser {
 
         final ManagedMap<String, String> props = new ManagedMap<>();
         final List<Element> elements = ElementSupport.getChildElementsByTagNameNS(containerManagedElement,
-                DataConnectorNamespaceHandler.NAMESPACE, "JNDIConnectionProperty");
-        elements.addAll(ElementSupport.getChildElementsByTagNameNS(containerManagedElement,
-                AttributeResolverNamespaceHandler.NAMESPACE, "JNDIConnectionProperty"));
+                AttributeResolverNamespaceHandler.NAMESPACE, "JNDIConnectionProperty");
         if (!elements.isEmpty()) {
             DeprecationSupport.warnOnce(ObjectType.ELEMENT, "<JNDIConnectionProperty>", null, null);
             for (final Element e : elements) {
@@ -361,8 +343,8 @@ public class ManagedConnectionParser {
      */
     @Nullable public static String getBeanDataSourceID(@Nonnull final Element config) {
         
-        final List<Element> beanManagedElements = ElementSupport.getChildElements(config, BEAN_MANAGED_CONNECTION_DC);
-        beanManagedElements.addAll(ElementSupport.getChildElements(config, BEAN_MANAGED_CONNECTION_RESOLVER)); 
+        final List<Element> beanManagedElements = ElementSupport.getChildElements(config,
+                BEAN_MANAGED_CONNECTION_RESOLVER); 
         
         if (beanManagedElements.isEmpty()) {
             return null;
@@ -372,9 +354,8 @@ public class ManagedConnectionParser {
             LOG.warn("Only one <BeanManagedConnection> should be specified; the first one has been consulted");
         }
 
-        final List<Element> managedElements = ElementSupport.getChildElements(config, CONTAINER_MANAGED_CONNECTION_DC);
-        managedElements.addAll(ElementSupport.getChildElements(config, CONTAINER_MANAGED_CONNECTION_RESOLVER));
-        managedElements.addAll(ElementSupport.getChildElements(config, APPLICATION_MANAGED_CONNECTION_DC));
+        final List<Element> managedElements = ElementSupport.getChildElements(config, 
+                CONTAINER_MANAGED_CONNECTION_RESOLVER);
         managedElements.addAll(ElementSupport.getChildElements(config, APPLICATION_MANAGED_CONNECTION_RESOLVER));
         managedElements.addAll(ElementSupport.getChildElements(config, SIMPLE_MANAGED_CONNECTION_RESOLVER));
         
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptDataConnectorParser.java
index a97315c..20efde2 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptDataConnectorParser.java
@@ -39,26 +39,15 @@ import org.w3c.dom.Element;
 /** Bean definition Parser for a {@link ScriptedDataConnector}. */
 public class ScriptDataConnectorParser extends AbstractWarningDataConnectorParser {
 
-    /** Schema type name - dc: (legacy). */
-    @Nonnull public static final QName TYPE_NAME_DC = new QName(DataConnectorNamespaceHandler.NAMESPACE, "Script");
-
-    /** Schema type name - resolver: . */
+    /** Schema type - resolver. */
     @Nonnull public static final QName TYPE_NAME_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ScriptedDataConnector");
 
-    /** Script file element name - dc:. */
-    @Nonnull public static final QName SCRIPT_FILE_ELEMENT_NAME_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ScriptFile");
-
-    /** Script file element name - resolver. */
+    /** Script file element name. */
     @Nonnull public static final QName SCRIPT_FILE_ELEMENT_NAME_RESOLVER = 
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ScriptFile");
 
-    /** Inline Script element name - dc:. */
-    @Nonnull public static final QName SCRIPT_ELEMENT_NAME_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "Script");
-
-    /** Inline Script element name - resolver:. */
+    /** Inline Script element name. */
     @Nonnull public static final QName SCRIPT_ELEMENT_NAME_RESOLVER =  
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "Script");
 
@@ -84,10 +73,8 @@ public class ScriptDataConnectorParser extends AbstractWarningDataConnectorParse
             scriptBuilder.addPropertyValue("engineName", scriptLanguage);
         }
 
-        final List<Element> scriptElem = ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME_DC);
-        scriptElem.addAll(ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME_RESOLVER));
-        final List<Element> scriptFileElem = ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME_DC);
-        scriptFileElem.addAll(ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME_RESOLVER));
+        final List<Element> scriptElem = ElementSupport.getChildElements(config, SCRIPT_ELEMENT_NAME_RESOLVER);
+        final List<Element> scriptFileElem = ElementSupport.getChildElements(config, SCRIPT_FILE_ELEMENT_NAME_RESOLVER);
         if (scriptElem != null && scriptElem.size() > 0) {
             if (scriptElem.size() > 1) {
                 log.warn("{} Data connector {}: definition contains more than one "
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
index 77e33fa..b94b80f 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
@@ -42,18 +42,11 @@ import org.w3c.dom.Element;
 /** Bean definition Parser for a {@link StaticDataConnector}. */
 public class StaticDataConnectorParser extends AbstractWarningDataConnectorParser {
 
-    /** Schema type name - dc: (legacy). */
-    @Nonnull public static final QName TYPE_NAME_DC = new QName(DataConnectorNamespaceHandler.NAMESPACE, "Static");
-
-    /** Schema type name - resolver:. */
+    /** Schema type - resolver. */
     @Nonnull public static final QName TYPE_NAME_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "Static");
 
-    /** Local name of attribute - dc: (legacy). */
-    @Nonnull public static final QName ATTRIBUTE_ELEMENT_NAME_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "Attribute");
-
-    /** Local name of attribute - resolver:. */
+    /** Local name of attribute. */
     @Nonnull public static final QName ATTRIBUTE_ELEMENT_NAME_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "Attribute");
 
@@ -74,8 +67,7 @@ public class StaticDataConnectorParser extends AbstractWarningDataConnectorParse
                     FAILOVER_DATA_CONNECTOR_ELEMENT_NAME.getLocalPart(), TYPE_NAME_RESOLVER.toString(), null);
         }
         
-        final List<Element> children = ElementSupport.getChildElements(config, ATTRIBUTE_ELEMENT_NAME_DC);
-        children.addAll(ElementSupport.getChildElements(config, ATTRIBUTE_ELEMENT_NAME_RESOLVER));
+        final List<Element> children = ElementSupport.getChildElements(config, ATTRIBUTE_ELEMENT_NAME_RESOLVER);
         final List<BeanDefinition> attributes = new ManagedList<>(children.size());
 
         for (final Element child : children) {
@@ -84,10 +76,8 @@ public class StaticDataConnectorParser extends AbstractWarningDataConnectorParse
             final BeanDefinitionBuilder attributeDefn = BeanDefinitionBuilder.genericBeanDefinition(IdPAttribute.class);
             attributeDefn.addConstructorArgValue(attrId);
 
-            final List<Element> values =
-                    ElementSupport.getChildElementsByTagNameNS(child, DataConnectorNamespaceHandler.NAMESPACE, "Value");
-            values.addAll(ElementSupport.getChildElementsByTagNameNS(child, AttributeResolverNamespaceHandler.NAMESPACE,
-                    "Value"));
+            final List<Element> values = ElementSupport.getChildElementsByTagNameNS(
+                    child, AttributeResolverNamespaceHandler.NAMESPACE, "Value");
             final ManagedList<BeanDefinition> inValues = new ManagedList<>(values.size());
             for (final Element val : values) {
                 final BeanDefinitionBuilder value =
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java
index d1f0f9d..c4af8c6 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StoredIDDataConnectorParser.java
@@ -45,10 +45,7 @@ import org.w3c.dom.Element;
  */
 public class StoredIDDataConnectorParser extends BaseComputedIDDataConnectorParser {
 
-    /** Schema type name: dc: (legacy). */
-    @Nonnull public static final QName TYPE_NAME_AD = new QName(DataConnectorNamespaceHandler.NAMESPACE, "StoredId");
-
-    /** Schema type name: resolver: . */
+    /** Schema type - resolver. */
     @Nonnull public static final QName TYPE_NAME_RESOLVER =
                 new QName(AttributeResolverNamespaceHandler.NAMESPACE, "StoredId");
 
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index 8169a3d..3fd8098 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -61,7 +61,6 @@ import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.StringAttributeValueMa
 import net.shibboleth.idp.attribute.resolver.dc.ldap.impl.TemplatedExecutableSearchFilterBuilder;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.AbstractWarningDataConnectorParser;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.CacheConfigParser;
-import net.shibboleth.idp.attribute.resolver.spring.dc.impl.DataConnectorNamespaceHandler;
 import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
 import net.shibboleth.idp.profile.spring.factory.BasicX509CredentialFactoryBean;
 import net.shibboleth.utilities.java.support.annotation.Duration;
@@ -79,11 +78,7 @@ import net.shibboleth.utilities.java.support.xml.XMLConstants;
  */
 public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser {
 
-    /** Schema type name - dc: (Legacy). */
-    @Nonnull public static final QName
-        TYPE_NAME_DC = new QName(DataConnectorNamespaceHandler.NAMESPACE, "LDAPDirectory");
-
-    /** Schema type name - resolver: . */
+    /** Schema type - resolver. */
     @Nonnull public static final QName
         TYPE_NAME_RESOLVER = new QName(AttributeResolverNamespaceHandler.NAMESPACE, "LDAPDirectory");
 
@@ -165,9 +160,7 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
         final ManagedMap<String, String> props = new ManagedMap<>();
         final List<Element> propertyElements =
                 ElementSupport.getChildElements(config,
-                        new QName(DataConnectorNamespaceHandler.NAMESPACE, "LDAPProperty"));
-        propertyElements.addAll(ElementSupport.getChildElements(config,
-                        new QName(AttributeResolverNamespaceHandler.NAMESPACE, "LDAPProperty")));
+                        new QName(AttributeResolverNamespaceHandler.NAMESPACE, "LDAPProperty"));
         for (final Element e : propertyElements) {
             props.put(AttributeSupport.getAttributeValue(e, new QName("name")),
                     AttributeSupport.getAttributeValue(e, new QName("value")));
@@ -351,10 +344,9 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
                     BeanDefinitionBuilder.genericBeanDefinition(CredentialConfigFactoryBean.class);
 
             final List<Element> trustElements =
-                    ElementSupport.getChildElements(configElement, new QName(DataConnectorNamespaceHandler.NAMESPACE,
-                            "StartTLSTrustCredential"));
-            trustElements.addAll(ElementSupport.getChildElements(configElement, new QName(
-                    AttributeResolverNamespaceHandler.NAMESPACE, "StartTLSTrustCredential")));
+                    ElementSupport.getChildElementsByTagNameNS(configElement,
+                            AttributeResolverNamespaceHandler.NAMESPACE,
+                            "StartTLSTrustCredential");
             final String trustResource =
                     StringSupport.trimOrNull(AttributeSupport.getAttributeValue(configElement, null, "trustFile"));
             if (trustResource != null) {
@@ -376,10 +368,8 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
             }
 
             final List<Element> authElements =
-                    ElementSupport.getChildElements(configElement,
-                            new QName(DataConnectorNamespaceHandler.NAMESPACE, "StartTLSAuthenticationCredential"));
-            authElements.addAll(ElementSupport.getChildElements(configElement,
-                    new QName(AttributeResolverNamespaceHandler.NAMESPACE, "StartTLSAuthenticationCredential")));
+                    ElementSupport.getChildElementsByTagNameNS(configElement,
+                            AttributeResolverNamespaceHandler.NAMESPACE, "StartTLSAuthenticationCredential");
             final String authKey =
                     StringSupport.trimOrNull(AttributeSupport.getAttributeValue(configElement, null, "authKey"));
             final String authCert =
@@ -422,10 +412,8 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
          * @return the filter or null.
          */
         @Nullable private String getFilterText() {
-            final List<Element> filterElements = ElementSupport.getChildElements(configElement,
-                    new QName(DataConnectorNamespaceHandler.NAMESPACE, "FilterTemplate"));
-            filterElements.addAll(ElementSupport.getChildElements(configElement,
-                    new QName(AttributeResolverNamespaceHandler.NAMESPACE, "FilterTemplate")));
+            final List<Element> filterElements = ElementSupport.getChildElementsByTagNameNS(configElement,
+                    AttributeResolverNamespaceHandler.NAMESPACE, "FilterTemplate");
             
             final String filter;
             if (!filterElements.isEmpty()) {
@@ -515,10 +503,8 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
             handlers.addConstructorArgValue(lowercaseAttributeNames);
             searchExecutor.addPropertyValue("searchEntryHandlers", handlers.getBeanDefinition());
 
-            final List<Element> returnAttrsElements = ElementSupport.getChildElements(configElement, 
-                    new QName(DataConnectorNamespaceHandler.NAMESPACE, "ReturnAttributes"));
-            returnAttrsElements.addAll(ElementSupport.getChildElements(configElement, 
-                    new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ReturnAttributes")));
+            final List<Element> returnAttrsElements = ElementSupport.getChildElementsByTagNameNS(configElement, 
+                    AttributeResolverNamespaceHandler.NAMESPACE, "ReturnAttributes");
             
             if (!returnAttrsElements.isEmpty()) {
                 if (returnAttrsElements.size() > 1) {
@@ -541,10 +527,8 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
          */
         @Nullable Element getConnectionPoolElement() {
             final List<Element> poolConfigElements =
-                    ElementSupport.getChildElements(configElement,
-                            new QName(DataConnectorNamespaceHandler.NAMESPACE, "ConnectionPool"));
-            poolConfigElements.addAll(ElementSupport.getChildElements(configElement,
-                    new QName(AttributeResolverNamespaceHandler.NAMESPACE, "ConnectionPool")));
+                    ElementSupport.getChildElementsByTagNameNS(configElement,
+                            AttributeResolverNamespaceHandler.NAMESPACE, "ConnectionPool");
             if (poolConfigElements.isEmpty()) {
                 return null;
             }
@@ -691,11 +675,8 @@ public class LDAPDataConnectorParser extends AbstractWarningDataConnectorParser
 
             final BeanDefinitionBuilder mapper =
                     BeanDefinitionBuilder.genericBeanDefinition(StringAttributeValueMappingStrategy.class);
-            final List<Element> columns =
-                    ElementSupport.getChildElementsByTagNameNS(configElement, 
-                            DataConnectorNamespaceHandler.NAMESPACE, "Column");
-            columns.addAll(ElementSupport.getChildElementsByTagNameNS(configElement,
-                            AttributeResolverNamespaceHandler.NAMESPACE, "Column"));
+            final List<Element> columns = ElementSupport.getChildElementsByTagNameNS(configElement,
+                            AttributeResolverNamespaceHandler.NAMESPACE, "Column");
 
             if (!columns.isEmpty()) {
                 final ManagedMap renamingMap = new ManagedMap();
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
index 32c89e9..01797a9 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
@@ -29,7 +29,6 @@ import net.shibboleth.idp.attribute.resolver.dc.rdbms.impl.StringResultMappingSt
 import net.shibboleth.idp.attribute.resolver.dc.rdbms.impl.TemplatedExecutableStatementBuilder;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.AbstractWarningDataConnectorParser;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.CacheConfigParser;
-import net.shibboleth.idp.attribute.resolver.spring.dc.impl.DataConnectorNamespaceHandler;
 import net.shibboleth.idp.attribute.resolver.spring.dc.impl.ManagedConnectionParser;
 import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
 import net.shibboleth.utilities.java.support.annotation.Duration;
@@ -52,11 +51,7 @@ import org.w3c.dom.Element;
 /** Bean definition Parser for a {@link RDBMSDataConnector}. */
 public class RDBMSDataConnectorParser extends AbstractWarningDataConnectorParser {
 
-    /** Schema type name - dc: (Legacy). */
-    @Nonnull public static final QName TYPE_NAME_DC =
-            new QName(DataConnectorNamespaceHandler.NAMESPACE, "RelationalDatabase");
-
-    /** Schema type name - resolver:. */
+    /** Schema type name. */
     @Nonnull public static final QName TYPE_NAME_RESOLVER =
             new QName(AttributeResolverNamespaceHandler.NAMESPACE, "RelationalDatabase");
 
@@ -231,10 +226,8 @@ public class RDBMSDataConnectorParser extends AbstractWarningDataConnectorParser
                 templateBuilder.addPropertyValue("queryTimeout", duration.getBeanDefinition());
             }
 
-            final List<Element> queryTemplates = ElementSupport.getChildElements(configElement, 
-                            new QName(DataConnectorNamespaceHandler.NAMESPACE, "QueryTemplate"));
-            queryTemplates.addAll(ElementSupport.getChildElements(configElement, 
-                    new QName(AttributeResolverNamespaceHandler.NAMESPACE, "QueryTemplate")));
+            final List<Element> queryTemplates = ElementSupport.getChildElementsByTagNameNS(configElement, 
+                    AttributeResolverNamespaceHandler.NAMESPACE, "QueryTemplate");
             
             if (queryTemplates.size() > 1) {
                 log.warn("{} A maximum of 1 <QueryTemplate> should be specified; the first one has been used",
@@ -274,9 +267,7 @@ public class RDBMSDataConnectorParser extends AbstractWarningDataConnectorParser
                     BeanDefinitionBuilder.genericBeanDefinition(StringResultMappingStrategy.class);
 
             final List<Element> columns = ElementSupport.getChildElementsByTagNameNS(configElement,
-                    DataConnectorNamespaceHandler.NAMESPACE, "Column");
-            columns.addAll(ElementSupport.getChildElementsByTagNameNS(configElement,
-                    AttributeResolverNamespaceHandler.NAMESPACE, "Column"));
+                    AttributeResolverNamespaceHandler.NAMESPACE, "Column");
             if (!columns.isEmpty()) {
                 final ManagedMap renamingMap = new ManagedMap();
                 for (final Element column : columns) {
diff --git a/idp-attribute-resolver-spring/src/main/resources/META-INF/spring.handlers b/idp-attribute-resolver-spring/src/main/resources/META-INF/spring.handlers
index e6ffe63..6151a4f 100644
--- a/idp-attribute-resolver-spring/src/main/resources/META-INF/spring.handlers
+++ b/idp-attribute-resolver-spring/src/main/resources/META-INF/spring.handlers
@@ -1,2 +1 @@
 urn\:mace\:shibboleth\:2.0\:resolver = net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler
-urn\:mace\:shibboleth\:2.0\:resolver\:dc = net.shibboleth.idp.attribute.resolver.spring.dc.impl.DataConnectorNamespaceHandler
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
index 51870e2..e70ab30 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ComputedIDDataConnectorParserTest.java
@@ -41,20 +41,6 @@ import org.testng.annotations.Test;
 public class ComputedIDDataConnectorParserTest extends BaseAttributeDefinitionParserTest {
     
     @Test public void withSalt() throws ComponentInitializationException {
-        final ComputedIDDataConnector connector = getDataConnector("computed.xml", ComputedIDDataConnector.class);
-        
-        Assert.assertEquals(connector.getId(), "computed");
-        Assert.assertEquals(connector.getSourceAttributeId(), "theSourceRemainsTheSame");
-        Assert.assertEquals(connector.getSourceAttributeInformation(), "theSourceRemainsTheSame");
-        Assert.assertEquals(connector.getGeneratedAttributeId(), "jenny");
-        Assert.assertEquals(connector.getSalt(), "abcdefghijklmnopqrst ".getBytes());
-        Assert.assertEquals(connector.getAlgorithm(), "SHA");
-        Assert.assertEquals(connector.getEncoding(), Encoding.BASE64);
-
-        Assert.assertTrue(connector.isInitialized());
-    }
-    
-    @Test public void resolverAttribute() throws ComponentInitializationException {
         final ComputedIDDataConnector connector = getDataConnector("resolver/computed.xml", ComputedIDDataConnector.class);
         
         Assert.assertEquals(connector.getId(), "computed");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ManagedConnectionTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ManagedConnectionTest.java
index ec76572..3ede410 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ManagedConnectionTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ManagedConnectionTest.java
@@ -54,18 +54,6 @@ public class ManagedConnectionTest extends BaseAttributeDefinitionParserTest {
             NamingManager.setInitialContextFactoryBuilder(new ContextFactoryBuilder() );
         }
 
-        final  StoredIDDataConnector connector = getDataConnector("containerManagedConnection.xml", StoredIDDataConnector.class);
-        MyDataSource source = (MyDataSource) connector.getDataSource();
-        assertEquals(source.getEnvironment().size(), 2);
-        assertEquals(source.getEnvironment().get("foo"), "Bar");
-        assertEquals(source.getEnvironment().get("yellow"), "green");
-    }
-
-    @Test(enabled=false) public void resolver() throws ComponentInitializationException, NamingException {
-        if (!NamingManager.hasInitialContextFactoryBuilder()) {
-            NamingManager.setInitialContextFactoryBuilder(new ContextFactoryBuilder() );
-        }
-
         final  StoredIDDataConnector connector = getDataConnector("resolver/containerManagedConnection.xml", StoredIDDataConnector.class);
         MyDataSource source = (MyDataSource) connector.getDataSource();
         assertEquals(source.getEnvironment().size(), 2);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ScriptDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ScriptDataConnectorParserTest.java
index 10fd330..8e2778c 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ScriptDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ScriptDataConnectorParserTest.java
@@ -41,15 +41,6 @@ import org.testng.annotations.Test;
  */
 public class ScriptDataConnectorParserTest extends BaseAttributeDefinitionParserTest {
 
-    @Test public void simple() throws ComponentInitializationException, ResolutionException {
-
-        if (TestSupport.isJavaV8OrLater()) {
-            testConnector("scriptedAttributes-8.xml");
-        } else {
-            testConnector("scriptedAttributes.xml");
-        }
-    }
-
     @Test public void resolver() throws ComponentInitializationException, ResolutionException {
 
         if (TestSupport.isJavaV8OrLater()) {
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StaticDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StaticDataConnectorParserTest.java
index 06f9c35..046edca 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StaticDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StaticDataConnectorParserTest.java
@@ -34,22 +34,8 @@ import net.shibboleth.idp.attribute.resolver.spring.dc.impl.StaticDataConnectorP
  */
 public class StaticDataConnectorParserTest extends BaseAttributeDefinitionParserTest {
     
-    @Test public void simple() {
-        final StaticDataConnector connector = getDataConnector("staticAttributes.xml", StaticDataConnector.class);
-        Assert.assertEquals(connector.getAttributes().keySet().size(), 2);
-        final IdPAttribute epe = connector.getAttributes().get("eduPersonEntitlement");
-        List<IdPAttributeValue<?>> values = epe.getValues();
-        Assert.assertEquals(values.size(), 2);
-        Assert.assertTrue(values.contains(new StringAttributeValue("urn:example.org:entitlement:entitlement1")));
-        Assert.assertTrue(values.contains(new StringAttributeValue("urn:mace:dir:entitlement:common-lib-terms")));
-        
-        values = connector.getAttributes().get("staticEpA").getValues();
-        Assert.assertEquals(values.size(), 1);
-        Assert.assertTrue(values.contains(new StringAttributeValue("member")));
-    }
-    
     @Test public void multiFallback() {
-        final StaticDataConnector connector = getDataConnector("staticMultiFallback.xml", StaticDataConnector.class);
+        final StaticDataConnector connector = getDataConnector("resolver/staticMultiFallback.xml", StaticDataConnector.class);
         Assert.assertEquals(connector.getAttributes().keySet().size(), 2);
         final IdPAttribute epe = connector.getAttributes().get("eduPersonEntitlement");
         List<IdPAttributeValue<?>> values = epe.getValues();
@@ -62,9 +48,7 @@ public class StaticDataConnectorParserTest extends BaseAttributeDefinitionParser
         Assert.assertTrue(values.contains(new StringAttributeValue("member")));
     }
 
-
-
-    @Test public void resolver() {
+    @Test public void simple() {
         final StaticDataConnector connector = getDataConnector("resolver/staticAttributes.xml", StaticDataConnector.class);
         
         Assert.assertEquals(connector.getAttributes().keySet().size(), 2);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java
index d0f2298..ea35fa7 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/StoredIDDataConnectorParserTest.java
@@ -59,10 +59,4 @@ public class StoredIDDataConnectorParserTest extends BaseAttributeDefinitionPars
         Assert.assertEquals(attrib.getDependencyPluginId(), "theSourceRemainsTheSame");
         testIt(connector);
     }
-
-    @Test public void resolver() throws ComponentInitializationException {
-        final StoredIDDataConnector connector = getDataConnector("stored.xml", StoredIDDataConnector.class);
-        Assert.assertEquals(connector.getSourceAttributeId(), "theSourceRemainsTheSame");
-        testIt(connector);
-    }
 }
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
index 2458d20..c415d37 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
@@ -130,25 +130,6 @@ public class LDAPDataConnectorParserTest {
 
     @Test public void v2Config() throws Exception {
         final LDAPDataConnector dataConnector =
-                getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml"});
-        Assert.assertNotNull(dataConnector);
-        doTest(dataConnector);
-        final StringAttributeValueMappingStrategy mappingStrategy =
-                (StringAttributeValueMappingStrategy) dataConnector.getMappingStrategy();
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().get("homephone"), "phonenumber");
-
-        dataConnector.initialize();
-        final AttributeResolutionContext context =
-                TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
-                        TestSources.SP_ENTITY_ID);
-        final Map<String, IdPAttribute> attrs = dataConnector.resolve(context);
-        Assert.assertNotNull(attrs);
-        Assert.assertNotNull(attrs.get("entryDN"));
-    }
-    
-    @Test public void v2Resolver() throws Exception {
-        final LDAPDataConnector dataConnector =
                 getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml"});
         Assert.assertNotNull(dataConnector);
         doTest(dataConnector);
@@ -418,29 +399,6 @@ public class LDAPDataConnectorParserTest {
     @Test public void hybridConfig() throws Exception {
         final LDAPDataConnector dataConnector =
                 getLdapDataConnector(new String[] {
-                        "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-hybrid.xml",
-                        "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml"});
-        Assert.assertNotNull(dataConnector);
-        doTest(dataConnector);
-
-        dataConnector.initialize();
-        final StringAttributeValueMappingStrategy mappingStrategy =
-                (StringAttributeValueMappingStrategy) dataConnector.getMappingStrategy();
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().get("homephone"), "phonenumber");
-        final AttributeResolutionContext context =
-                TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
-                        TestSources.SP_ENTITY_ID);
-        final Map<String, IdPAttribute> attrs = dataConnector.resolve(context);
-        Assert.assertNotNull(attrs);
-        Assert.assertNull(attrs.get("homephone"));
-        Assert.assertNotNull(attrs.get("phonenumber"));
-        Assert.assertNotNull(attrs.get("entryDN"));
-    }
-
-    @Test public void flatHybridConfig() throws Exception {
-        final LDAPDataConnector dataConnector =
-                getLdapDataConnector(new String[] {
                         "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-hybrid.xml",
                         "net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring-context.xml"});
         Assert.assertNotNull(dataConnector);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
index 6a3ca69..444b79f 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
@@ -93,16 +93,6 @@ public class RDBMSDataConnectorParserTest {
         DatabaseTestingSupport.InitializeDataSourceFromFile(DATA_FILE, datasource);
     }
     
-    @Test public void v2Config() throws Exception {
-        final RDBMSDataConnector dataConnector =
-                getRdbmsDataConnector("net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2.xml");
-        Assert.assertNotNull(dataConnector);
-        doTest(dataConnector);
-        final StringResultMappingStrategy mappingStrategy = (StringResultMappingStrategy) dataConnector.getMappingStrategy();
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().get("homephone"), "phonenumber");
-    }
-    
     @Test public void simpleConnector() throws Exception {
         final RDBMSDataConnector dataConnector =
                 getRdbmsDataConnector("net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml");
@@ -114,7 +104,7 @@ public class RDBMSDataConnectorParserTest {
     }
 
     
-    @Test public void resolver() throws Exception {
+    @Test public void v2Config() throws Exception {
         final RDBMSDataConnector dataConnector =
                 getRdbmsDataConnector("net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml");
         Assert.assertNotNull(dataConnector);
@@ -128,19 +118,7 @@ public class RDBMSDataConnectorParserTest {
     @Test public void hybridConfig() throws Exception {
         final RDBMSDataConnector dataConnector =
                 getRdbmsDataConnector(
-                        "net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-hybrid.xml",
-                        "net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-spring-context.xml");
-        Assert.assertNotNull(dataConnector);
-        doTest(dataConnector);
-        final StringResultMappingStrategy mappingStrategy = (StringResultMappingStrategy) dataConnector.getMappingStrategy();
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
-        Assert.assertEquals(mappingStrategy.getResultRenamingMap().get("homephone"), "phonenumber");
-    }
-
-    @Test public void flatHybridConfig() throws Exception {
-        final RDBMSDataConnector dataConnector =
-                getRdbmsDataConnector(
-                        "net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-hybrid.xml",
+                        "net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml",
                         "net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-spring-context.xml");
         Assert.assertNotNull(dataConnector);
         doTest(dataConnector);
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/computed.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/computed.xml
deleted file mode 100644
index cc0da39..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/computed.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:DataConnector id="computed"
-	xsi:type="dc:ComputedId" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-	xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	
-	sourceAttributeID="theSourceRemainsTheSame"
-	generatedAttributeID="jenny"
-	salt="abcdefghijklmnopqrst "
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
-                        urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
-                        urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd" />
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/containerManagedConnection.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/containerManagedConnection.xml
deleted file mode 100644
index 4cbc970..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/containerManagedConnection.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<resolver:DataConnector id="stored"
-	xsi:type="dc:StoredId" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-	xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	
-    failFast="false"
-    queryTimeout="PT5S"
-    
-    transactionRetries="5"
-    retryableErrors="25000 25001"
-	sourceAttributeID="theSourceRemainsTheSame"
-	generatedAttributeID="jenny"
-	salt="abcdefghijklmnopqrst"	xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd">
-    <dc:ContainerManagedConnection resourceName="myConnnector">
-	    <dc:JNDIConnectionProperty name="foo" value="Bar"/>
-    	<dc:JNDIConnectionProperty name="yellow" value="green"/>
-    </dc:ContainerManagedConnection>
-</resolver:DataConnector>
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-hybrid.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-hybrid.xml
deleted file mode 100644
index 45871e2..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2-hybrid.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:AttributeResolver 
-    xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-    xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:security="urn:mace:shibboleth:2.0:security"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
-						urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd">
-
-    <resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory" ldapURL="ldap://localhost:10389"
-        baseDN="ou=people,dc=shibboleth,dc=net" principal="cn=Directory Manager" principalCredential="password"
-        useStartTLS="true" searchTimeLimit="PT7S" mappingStrategyRef="mappings" validatorRef="validator" noRetryDelay="PT5M"
-        connectTimeout="PT2S" responseTimeout="PT4S">
-        <dc:FilterTemplate>
-            <![CDATA[
-                (uid=${resolutionContext.principal})
-            ]]>
-        </dc:FilterTemplate>
-        <dc:LDAPProperty name="name1" value="value1" />
-        <dc:LDAPProperty name="name2" value="value2" />
-        <dc:StartTLSTrustCredential xsi:type="security:X509Inline" 
-            id="LDAPtoIdPCredential">
-            <security:Certificate>
-                MIICATCCAWoCCQCZy4ovDlQTvDANBgkqhkiG9w0BAQUFADBFMRMwEQYKCZImiZPy
-                LGQBGRYDbmV0MRowGAYKCZImiZPyLGQBGRYKc2hpYmJvbGV0aDESMBAGA1UEAxMJ
-                bG9jYWxob3N0MB4XDTEzMDkyMDA0NDE1OFoXDTIzMDkxODA0NDE1OFowRTETMBEG
-                CgmSJomT8ixkARkWA25ldDEaMBgGCgmSJomT8ixkARkWCnNoaWJib2xldGgxEjAQ
-                BgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+Pj+
-                Rk0FosrK8tdNJLASSbfRFEJDf0498bnwtor76PONwkTLjnm7paTMAy7oGIAccuBf
-                n7183mlo/yh22x+7Fdux4ESvdp1FWl7nGlBBWUrLZzXwwGybC0qv3/Cmvfkvm6zh
-                zgY7YyQYlA/RCjTk/pUfrXaIIaKwd+B2miBDrDUCAwEAATANBgkqhkiG9w0BAQUF
-                AAOBgQCKQsndxYjsGIvK3lnlztIuKQmRlj7IHL/T6abBYwmQcyMa5o3hv6/Rx+Ze
-                NSRfyhakPY4v5yUBi1fyIVIGcAbnak+GQIfsO8uDhzZt6DwshzHrnCbHTLQx6NTB
-                4mvLjAdt7riBIl5y5n3tbtrZdpTgFhQxjLWTBpWIO0XKxqtBhw==
-            </security:Certificate>
-        </dc:StartTLSTrustCredential>
-        <dc:ConnectionPool minPoolSize="5" maxPoolSize="10" blockWaitTime="PT5S" expirationTime="PT10M"
-            validatePeriodically="true" validateTimerPeriod="PT15M" validateDN="dc=shibboleth,dc=net" validateFilter="(ou=people)" failFastInitialize="false" />
-        <dc:Column columnName="homephone" attributeID="phonenumber" />
-        <dc:ResultCacheBean>cache</dc:ResultCacheBean>
-    </resolver:DataConnector>
-
-</resolver:AttributeResolver>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml
deleted file mode 100644
index 99c44d7..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:AttributeResolver 
-            xmlns="http://www.springframework.org/schema/beans"
-            xmlns:p="http://www.springframework.org/schema/p"
-            xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-            xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc" xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" 
-            xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                                urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd">
-
-    <resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory"
-        ldapURL="ldap://localhost:10389" 
-        baseDN="ou=people,dc=shibboleth,dc=net" 
-        principal="cn=Directory Manager"
-        principalCredential="password"
-        useStartTLS="true"
-        searchTimeLimit="PT7S"
-        noResultIsError="true"
-        multipleResultsIsError="true"
-        noRetryDelay="PT5M"
-        connectTimeout="PT2S"
-        responseTimeout="PT4S">
-        <dc:FilterTemplate>
-            <![CDATA[
-                (uid=${resolutionContext.principal})
-            ]]>
-        </dc:FilterTemplate>
-        <dc:LDAPProperty name="name1" value="value1"/>
-        <dc:LDAPProperty name="name2" value="value2"/>
-        <dc:StartTLSTrustCredential xsi:type="security:X509Inline" xmlns:security="urn:mace:shibboleth:2.0:security" id="LDAPtoIdPCredential">
-            <security:Certificate>
-              MIICATCCAWoCCQCZy4ovDlQTvDANBgkqhkiG9w0BAQUFADBFMRMwEQYKCZImiZPy
-              LGQBGRYDbmV0MRowGAYKCZImiZPyLGQBGRYKc2hpYmJvbGV0aDESMBAGA1UEAxMJ
-              bG9jYWxob3N0MB4XDTEzMDkyMDA0NDE1OFoXDTIzMDkxODA0NDE1OFowRTETMBEG
-              CgmSJomT8ixkARkWA25ldDEaMBgGCgmSJomT8ixkARkWCnNoaWJib2xldGgxEjAQ
-              BgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+Pj+
-              Rk0FosrK8tdNJLASSbfRFEJDf0498bnwtor76PONwkTLjnm7paTMAy7oGIAccuBf
-              n7183mlo/yh22x+7Fdux4ESvdp1FWl7nGlBBWUrLZzXwwGybC0qv3/Cmvfkvm6zh
-              zgY7YyQYlA/RCjTk/pUfrXaIIaKwd+B2miBDrDUCAwEAATANBgkqhkiG9w0BAQUF
-              AAOBgQCKQsndxYjsGIvK3lnlztIuKQmRlj7IHL/T6abBYwmQcyMa5o3hv6/Rx+Ze
-              NSRfyhakPY4v5yUBi1fyIVIGcAbnak+GQIfsO8uDhzZt6DwshzHrnCbHTLQx6NTB
-              4mvLjAdt7riBIl5y5n3tbtrZdpTgFhQxjLWTBpWIO0XKxqtBhw==
-            </security:Certificate>
-        </dc:StartTLSTrustCredential>
-        <dc:StartTLSAuthenticationCredential xsi:type="security:X509ResourceBacked" xmlns:security="urn:mace:shibboleth:2.0:security" id="IdPtoLDAPCredential">
-            <security:PrivateKey>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.key</security:PrivateKey>
-            <security:Certificate>src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/client.crt</security:Certificate>
-        </dc:StartTLSAuthenticationCredential>
-        <dc:ConnectionPool
-            minPoolSize="5"
-            maxPoolSize="10"
-            blockWaitTime="PT5S"
-            expirationTime="PT10M"
-            validatePeriodically="true"
-            validateTimerPeriod="PT15M"
-            validateDN="dc=shibboleth,dc=net"
-            validateFilter="(ou=people)"
-            failFastInitialize="false" />
-        <dc:Column columnName="homephone" attributeID="phonenumber" />
-        <dc:ResultCache
-            elementTimeToLive="PT10S"
-            maximumCachedElements="25"/>
-    </resolver:DataConnector>
-    
-</resolver:AttributeResolver>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-hybrid.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-hybrid.xml
deleted file mode 100644
index d8bf7f4..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2-hybrid.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:AttributeResolver 
-            xmlns="http://www.springframework.org/schema/beans"
-            xmlns:p="http://www.springframework.org/schema/p"
-            xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-            xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc" xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" 
-            xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                                urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd">
-
-    <resolver:DataConnector id="myDatabase" xsi:type="dc:RelationalDatabase"
-        noRetryDelay="PT5M"
-        mappingStrategyRef="mappings" validatorRef="validator" readOnlyConnection="false">
-        <dc:BeanManagedConnection>dataSource</dc:BeanManagedConnection>
-        <dc:QueryTemplate>
-            <![CDATA[
-                SELECT * FROM people WHERE userid='%s'
-            ]]>
-        </dc:QueryTemplate>
-        
-        <dc:ResultCacheBean>cache</dc:ResultCacheBean>
-    </resolver:DataConnector>
-    
-</resolver:AttributeResolver>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2.xml
deleted file mode 100644
index 046a29b..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-v2.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:AttributeResolver 
-            xmlns="http://www.springframework.org/schema/beans"
-            xmlns:p="http://www.springframework.org/schema/p"
-            xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-            xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc" xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" 
-            xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                                urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd">
-
-    <resolver:DataConnector id="myDatabase" xsi:type="dc:RelationalDatabase"
-        noResultIsError="true"
-        multipleResultsIsError="true"
-        readOnlyConnection="false"
-        noRetryDelay="PT5M">
-      <dc:ApplicationManagedConnection
-        jdbcDriver="org.hsqldb.jdbc.JDBCDriver"
-        jdbcURL="jdbc:hsqldb:mem:RDBMSDataConnectorStore"
-        jdbcUserName="SA"
-        jdbcPassword=""
-        poolAcquireIncrement="3"
-        poolAcquireRetryAttempts="24"
-        poolAcquireRetryDelay="5000"
-        poolBreakAfterAcquireFailure="true"
-        poolMinSize="1"
-        poolMaxSize="5" 
-        poolMaxIdleTime="300"
-        poolIdleTestPeriod="360"/>
-        <dc:QueryTemplate>
-            <![CDATA[
-                SELECT * FROM people WHERE userid='%s'
-            ]]>
-        </dc:QueryTemplate>
-        
-        <dc:Column columnName="homephone" attributeID="phonenumber" />
-        
-        <dc:ResultCache
-            elementTimeToLive="PT10S"/>
-    </resolver:DataConnector>
-    
-</resolver:AttributeResolver>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/staticMultiFallback.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticMultiFallback.xml
similarity index 100%
rename from idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/staticMultiFallback.xml
rename to idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/staticMultiFallback.xml
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes-8.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes-8.xml
deleted file mode 100644
index d1c7fc7..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes-8.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:DataConnector id="staticAttributes"
-	xsi:type="dc:Script" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-	xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
-    customObjectRef="other.CustomScriptObject"
-
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
-                        urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
-                        urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<dc:ScriptFile>classpath:/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedConnector.8.js</dc:ScriptFile>
-</resolver:DataConnector>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes.xml
deleted file mode 100644
index f07b1a7..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/scriptedAttributes.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:DataConnector id="staticAttributes"
-	xsi:type="dc:Script" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-	xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
-    customObjectRef="other.CustomScriptObject"
-
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
-                        urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
-                        urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-	<dc:Script><![CDATA[
-importPackage(Packages.net.shibboleth.idp.attribute);
-importPackage(Packages.java.util);
-importPackage(Packages.java.lang);
-
-attr = new IdPAttribute("ScriptedOne");
-set = new HashSet(2);
-set.add(new StringAttributeValue("Value 1"));
-set.add(new StringAttributeValue("Value 2"));
-attr.setValues(set);
-connectorResults.add(attr);
-
-attr = new IdPAttribute("TwoScripted");
-set = new HashSet(4);
-set.add(new StringAttributeValue("1Value"));
-set.add(new StringAttributeValue("2Value"));
-set.add(new StringAttributeValue("3Value"));
-attr.setValues(set);
-connectorResults.add(attr);
-
-	]]></dc:Script>
-</resolver:DataConnector>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml
deleted file mode 100644
index 91f2097..0000000
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/stored.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resolver:DataConnector id="stored"
-	xsi:type="dc:StoredId" xmlns:resolver="urn:mace:shibboleth:2.0:resolver"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xmlns:ad="urn:mace:shibboleth:2.0:resolver:ad" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc"
-	xmlns:enc="urn:mace:shibboleth:2.0:attribute:encoder" xmlns:sec="urn:mace:shibboleth:2.0:security"
-	
-    failFast="false"
-    queryTimeout="PT5S"
-    transactionRetries="5"
-    retryableErrors="25000 25001"
-	sourceAttributeID="theSourceRemainsTheSame"
-	generatedAttributeID="jenny"
-	salt="abcdefghijklmnopqrst"
-	xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
-                        urn:mace:shibboleth:2.0:resolver:ad http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-ad.xsd
-                        urn:mace:shibboleth:2.0:resolver:dc http://shibboleth.net/schema/idp/shibboleth-attribute-resolver-dc.xsd
-                        urn:mace:shibboleth:2.0:attribute:encoder http://shibboleth.net/schema/idp/shibboleth-attribute-encoder.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
-
-    <dc:ApplicationManagedConnection
-        jdbcDriver="org.hsqldb.jdbc.JDBCDriver"
-        jdbcURL="jdbc:hsqldb:mem:RDBMSDataConnectorStore" />
-        
-</resolver:DataConnector>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd
deleted file mode 100644
index 8cdfa64..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver-dc.xsd
+++ /dev/null
@@ -1,898 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:dc="urn:mace:shibboleth:2.0:resolver:dc" xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:sec="urn:mace:shibboleth:2.0:security" targetNamespace="urn:mace:shibboleth:2.0:resolver:dc" elementFormDefault="qualified">
-
-    <import namespace="urn:mace:shibboleth:2.0:resolver" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd"/>
-        
-    <import namespace="urn:mace:shibboleth:2.0:security" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-security.xsd"/>
-
-    <complexType name="Static">
-        <annotation>
-            <documentation>
-                A data connector that gets its information from a static list of attributes and values specified within
-                this configuration.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <sequence>
-                    <element name="Attribute" minOccurs="0" maxOccurs="unbounded">
-                        <annotation>
-                            <documentation>
-                                Specifies an attribute, and its values, to be exposed by this connector.
-                            </documentation>
-                        </annotation>
-                        <complexType>
-                            <sequence>
-                                <element name="Value" type="string" maxOccurs="unbounded">
-                                    <annotation>
-                                        <documentation>
-                                            A value of the attribute. If the value contains characters that would
-                                            otherwise need to be XML encoded you may wrap the value in a CDATA section.
-                                        </documentation>
-                                    </annotation>
-                                </element>
-                            </sequence>
-                            <attribute name="id" type="string" use="required">
-                                <annotation>
-                                    <documentation>The ID of the attribute.</documentation>
-                                </annotation>
-                            </attribute>
-                        </complexType>
-                    </element>
-                </sequence>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="Script">
-        <annotation>
-            <documentation>
-                A data connector that constructs attributes by means of a script supported by JSR-223.  Populated 
-                Attributes are added to the java.util.Collection "connectorResults". 
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <choice>
-                    <element name="Script" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>The script to evaluate to construct the attribute.</documentation>
-                        </annotation>
-                    </element>
-                    <element name="ScriptFile" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                The filesystem path to the script to evaluate to construct the attribute.
-                            </documentation>
-                        </annotation>
-                    </element>
-                </choice>
-                <attribute name="language" type="string">
-                    <annotation>
-                        <documentation>
-                            The JSR-233 name for the scripting language that will be used. By default "javascript" is
-                            supported.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="customObjectRef" type="string">
-                    <annotation>
-                        <documentation>
-                            The name of a bean defined somewhere else which will be injected into the script as an
-                            object called "custom".  If not supplied, nothing is injected.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <complexType name="ComputedId">
-        <annotation>
-            <documentation>
-                An ID created by taking the SHA-1 hash of the requesting entity's ID, an attribute value (usually a user identifier), and a salt.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <attribute name="generatedAttributeID" type="string">
-                    <annotation>
-                        <documentation>
-                            The name of the attribute produced by this data connector.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="sourceAttributeID" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The name of the attribute which should be used to as input to the computed ID.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="salt" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            A salt, of at least 16 bytes, used in the computed ID.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="StoredId">
-        <annotation>
-            <documentation>
-                A connector that either generates a persistent ID by hashing or by looking it up in a database.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <choice minOccurs="0">
-                    <element ref="dc:ContainerManagedConnection">
-                        <annotation>
-                            <documentation>
-                                A connection, or pool of connections, to the database managed by the application
-                                container.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element ref="dc:ApplicationManagedConnection">
-                        <annotation>
-                            <documentation>
-                                A connection, or pool of connections, to the database managed by the data connector.
-                            </documentation>
-                        </annotation>
-                    </element>
-                        <element name="BeanManagedConnection" type="string">
-                            <annotation>
-                                <documentation>
-                                    A connection, or pool of connections, to the database configured in a Spring bean.
-                                </documentation>
-                            </annotation>
-                        </element>
-                </choice>
-                <attribute name="queryTimeout" type="string">
-                    <annotation>
-                        <documentation>
-                            Timeout for the queries made to the database.
-                            Timeout is given in ISO8601 duration form.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="transactionRetries" type="string">
-                    <annotation>
-                        <documentation>
-                            Number of retries if insert fails (defaults to 3).
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="failFast" type="string">
-                    <annotation>
-                        <documentation>
-                            Whether to fail if the store cannot be verified at startup (defaults to false).
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="retryableErrors">
-                    <annotation>
-                        <documentation>
-                            A space-delimited list of SQLState codes to treat as retryable (indicating
-                            a duplicate insert error occurred).
-                        </documentation>
-                    </annotation>
-                    <simpleType>
-                        <list itemType="string"/>
-                    </simpleType>
-                </attribute>
-                <attribute name="generatedAttributeID" type="string">
-                    <annotation>
-                        <documentation>
-                            The name of the attribute produced by this data connector.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="sourceAttributeID" type="string" use="required">
-                    <annotation>
-                        <documentation>
-                            The name of the attribute which should be used to as input to the computed ID.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="salt" type="string" >
-                    <annotation>
-                        <documentation>
-                            A salt, of at least 16 bytes, used in the computed ID.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <complexType name="RelationalDatabase">
-        <annotation>
-            <documentation>
-                A data connector definition that uses JDBC version 3 to connect to and pull information from a
-                relational database.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <sequence>
-                    <choice minOccurs="0">
-                        <element ref="dc:ContainerManagedConnection">
-                            <annotation>
-                                <documentation>
-                                    A connection, or pool of connections, to the database managed by the application
-                                    container.
-                                </documentation>
-                            </annotation>
-                        </element>
-                        <element ref="dc:ApplicationManagedConnection">
-                            <annotation>
-                                <documentation>
-                                    A connection, or pool of connections, to the database managed by the data connector.
-                                </documentation>
-                            </annotation>
-                        </element>
-                        <element name="BeanManagedConnection" type="string">
-                            <annotation>
-                                <documentation>
-                                    A connection, or pool of connections, to the database configured in a Spring bean.
-                                </documentation>
-                            </annotation>
-                        </element>
-                    </choice>
-                    <element name="QueryTemplate" type="string"  minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                A template that will be used to create the SQL query thats pulls information from the
-                                database.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="Column" type="dc:ColumnType" minOccurs="0" maxOccurs="unbounded"/>
-                    <choice minOccurs="0">
-                        <element name="ResultCache" type="dc:CacheConfigType"/>
-                        <element name="ResultCacheBean" type="string"/>
-                    </choice>
-                </sequence>
-                <attribute name="readOnlyConnection" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag that determines whether the connection to the database is read-only, if the
-                            value is true, or read-write if the value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="queryUsesStoredProcedure" type="string">
-                    <annotation>
-                        <documentation>
-                            No longer supported.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="queryTimeout" type="string">
-                    <annotation>
-                        <documentation>
-                            Timeout for the queries made to the database.
-                            Timeout is given in ISO8601 duration form.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="noResultIsError" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a query returning no results should be considered an error. If
-                            an error is raised and a failover dependency is defined for this connector the failover will
-                            be invoked.
-                            Default value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="multipleResultsIsError" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a query returning more than one result should be considered an error. If
-                            an error is raised and a failover dependency is defined for this connector the failover will
-                            be invoked.
-                            Default value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="cacheResults" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag that determines whether to cache results.
-                            
-                            This option is no longer supported, use the ResultCache element instead.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="templateEngine" type="string">
-                    <annotation>
-                        <documentation>
-                            Name of the template engine defined within the application.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="mappingStrategyRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a Spring bean providing the MappingStrategy implementation to use.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="validatorRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a Spring bean providing the Validator implementation to use.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-
-    <element name="ContainerManagedConnection" type="dc:ContainerManagedConnectionType">
-        <annotation>
-            <documentation>
-                Describes a database connection source that is managed by the application container.
-            </documentation>
-        </annotation>
-    </element>
-    <complexType name="ContainerManagedConnectionType">
-        <sequence>
-            <element name="JNDIConnectionProperty" type="dc:PropertyType" minOccurs="0" maxOccurs="unbounded">
-                <annotation>
-                    <documentation>
-                        A property used when constructing a JNDI initial context which in turn is used to lookup the
-                        database DataSource.
-                    </documentation>
-                </annotation>
-            </element>
-        </sequence>
-        <attribute name="resourceName" type="string" use="required">
-            <annotation>
-                <documentation>The resource name the DataSource is bound to in the JNDI tree.</documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-
-    <element name="ApplicationManagedConnection" type="dc:ApplicationManagedConnectionType">
-        <annotation>
-            <documentation>
-                Describes a database connection source that is managed by the attribute resolver data connector.
-            </documentation>
-        </annotation>
-    </element>
-    <complexType name="ApplicationManagedConnectionType">
-        <attribute name="jdbcDriver" type="string" use="required">
-            <annotation>
-                <documentation>
-                    This is the full qualified class name of the JDBC driver used to connect to the database.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="jdbcURL" type="string" use="required">
-            <annotation>
-                <documentation>
-                    The JDBC URL for the database. These are usually of the form
-                    jdbc:databaseProduceName:databaseSpecificInformation. For example, jdbc:hsql:mem:MyDatabase
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="jdbcUserName" type="string">
-            <annotation>
-                <documentation>The user name to use while connecting to the database.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="jdbcPassword" type="string">
-            <annotation>
-                <documentation>The password to use while connecting to the database.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolAcquireIncrement" type="string">
-            <annotation>
-                <documentation>
-                    The number of new connections that will be created when the pool is exhausted.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolAcquireRetryAttempts" type="string">
-            <annotation>
-                <documentation>
-                    The number of times the pool will try to establish a connection to a database.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolAcquireRetryDelay" type="string">
-            <annotation>
-                <documentation>
-                    The amount of time, in milliseconds, the pool will wait before trying to retrieve a new connection
-                    after it has failed.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolBreakAfterAcquireFailure" type="string">
-            <annotation>
-                <documentation>
-                    A boolean flag that indicates whether the pool should be marked as permanently unavailable if a new
-                    connection can not be established after the acquire retry attempts is reached.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolMinSize" type="string">
-            <annotation>
-                <documentation>
-                    The minimum number of connections the pool will establish with the database. A value of zero means
-                    there is no minimum.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolMaxSize" type="string">
-            <annotation>
-                <documentation>
-                    The maximum number of connections the pool will establish with the database. A value of zero means
-                    there is no maximum.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolMaxIdleTime" type="string">
-            <annotation>
-                <documentation>
-                    The maximum time, in seconds, that an established connection will remain idle before it is closed.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="poolIdleTestPeriod" type="string">
-            <annotation>
-                <documentation>
-                    The interval, in seconds, that the pool will scan idle established connections, using the validation
-                    query, for liveness.
-                </documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-
-    <complexType name="PropertyType">
-        <attribute name="name" type="string" use="required">
-            <annotation>
-                <documentation>The name of the property.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="value" type="string" use="required">
-            <annotation>
-                <documentation>The value of the property,</documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-
-    <complexType name="ColumnType">
-        <attribute name="columnName" type="string" use="required">
-            <annotation>
-                <documentation>The name of the database column.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="attributeID" type="string">
-            <annotation>
-                <documentation>The name of the attribute that data from this column should be added to.</documentation>
-            </annotation>
-        </attribute>
-        <attribute name="type" type="dc:ColumnDataType">
-            <annotation>
-                <documentation>The Java data type data in the column should be extracted as.</documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-
-    <simpleType name="ColumnDataType">
-        <restriction base="string">
-            <enumeration value="BigDecimal"/>
-            <enumeration value="Boolean"/>
-            <enumeration value="Byte"/>
-            <enumeration value="ByteArray"/>
-            <enumeration value="Date"/>
-            <enumeration value="Double"/>
-            <enumeration value="Float"/>
-            <enumeration value="Integer"/>
-            <enumeration value="Long"/>
-            <enumeration value="Object"/>
-            <enumeration value="Short"/>
-            <enumeration value="String"/>
-            <enumeration value="Time"/>
-            <enumeration value="Timestamp"/>
-            <enumeration value="URL"/>
-        </restriction>
-    </simpleType>
-    
-    <complexType name="LDAPDirectory">
-        <annotation>
-            <documentation>
-                A data connector that can pull information from an LDAP, version 3, directory.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:BaseDataConnectorType">
-                <sequence>
-                    <element name="FilterTemplate" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                A template used to construct the LDAP filter used to query the directory.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="ReturnAttributes" type="string" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                A space separated list of attributes that should be returned from the query.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="LDAPProperty" type="dc:PropertyType" minOccurs="0" maxOccurs="unbounded">
-                        <annotation>
-                            <documentation>
-                                LDAP connection properties relevant to the underlying provider being used.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="StartTLSTrustCredential" type="sec:X509Credential" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                The X.509 trust information to use when connecting to the directory over LDAPS or startTLS.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="StartTLSAuthenticationCredential" type="sec:X509Credential" minOccurs="0">
-                        <annotation>
-                            <documentation>
-                                The X.509 client authentication information to use when connecting to the directory over LDAPS or startTLS.
-                            </documentation>
-                        </annotation>
-                    </element>
-                    <element name="ConnectionPool" type="dc:LdapPoolConfigType" minOccurs="0"/>
-                    <element name="Column" type="dc:ColumnType" minOccurs="0" maxOccurs="unbounded"/>
-                    <choice minOccurs="0">
-                        <element name="ResultCache" type="dc:CacheConfigType"/>
-                        <element name="ResultCacheBean" type="string"/>
-                    </choice>
-                </sequence>
-                <attribute name="ldapURL" type="string">
-                    <annotation>
-                        <documentation>
-                        The URL to the LDAP server.
-                        If the search scope is set to ONELEVEL only the entries 
-                        within this node will be searched, if SUBTREE is specified entries within this node and descendant 
-                        nodes will be searched.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="connectionStrategy" type="dc:ConnectionStrategyType">
-                    <annotation>
-                        <documentation>
-                            The LDAP connection strategy. Acceptable values are DEFAULT, ACTIVE_PASSIVE, ROUND_ROBIN, and RANDOM.
-                            Default value is ACTIVE_PASSIVE.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="baseDN" type="string">
-                    <annotation>
-                        <documentation>
-                            The base DN from which attribute search filtering occurs
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="principal" type="string">
-                    <annotation>
-                        <documentation>The DN for the principal connecting to the LDAP directory.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="principalCredential" type="string">
-                    <annotation>
-                        <documentation>
-                            The credential for the principal connecting to the LDAP directory.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="authenticationType" type="dc:AuthenticationType">
-                    <annotation>
-                        <documentation>
-                            The LDAP authentication type. Acceptable values are ANONYMOUS, SIMPLE, STRONG, EXTERNAL, DIGEST_MD5, CRAM_MD5, GSSAPI.
-                            Default value is SIMPLE.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="searchScope" type="dc:SearchScopeType">
-                    <annotation>
-                        <documentation>
-                            The LDAP search scope. Acceptable values are OBJECT, ONELEVEL, SUBTREE.
-                            Default value is SUBTREE.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="useStartTLS" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether startTLS should be used when connecting to the LDAP.
-                            Default value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="poolInitialSize" type="string">
-                    <annotation>
-                        <documentation>
-                            This attribute is deprecated, use LdapPoolConfig#minPoolSize instead.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="poolMaxIdleSize" type="string">
-                    <annotation>
-                        <documentation>
-                            This attribute is deprecated, use LdapPoolConfig#maxPoolSize instead.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="searchTimeLimit" type="string">
-                    <annotation>
-                        <documentation>
-                            The maximum amount of time to wait for search results. If this limit is
-                            reached a timeout error is raised. Default value is 3 seconds.
-                            Time is expressed in ISO8601 duration format.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="connectTimeout" type="string">
-                    <annotation>
-                        <documentation>
-                            The maximum amount of time to wait for connections to open. If this limit is
-                            reached a timeout error is raised. Default value is 3 seconds.
-                            Time is expressed in ISO8601 duration format.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="responseTimeout" type="string">
-                    <annotation>
-                        <documentation>
-                            The maximum amount of time to wait for operation responses. If this limit is
-                            reached a timeout error is raised. Default value is 3 seconds.
-                            Time is expressed in ISO8601 duration format.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="maxResultSize" type="string">
-                    <annotation>
-                        <documentation>
-                            The maximum number of results that may be returned from a query.
-                            Default value is 1.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="cacheResults" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating that search results should be cached for the duration of a user's
-                            session.
-
-                            This option is no longer supported, use the ResultCache element instead.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="mergeResults" type="string">
-                    <annotation>
-                        <documentation>
-                            No longer supported.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="noResultIsError" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a query returning no results should be considered an error. If
-                            an error is raised and a failover dependency is defined for this connector the failover will
-                            be invoked.
-                            Default value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="multipleResultsIsError" type="string">
-                    <annotation>
-                        <documentation>
-                            A boolean flag indicating whether a query returning more than one result should be considered an error. If
-                            an error is raised and a failover dependency is defined for this connector the failover will
-                            be invoked.
-                            Default value is false.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="lowercaseAttributeNames" type="string">
-                    <annotation>
-                        <documentation>
-                            Whether to lowercase LDAP attribute names used as IDs for shibboleth attributes
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="templateEngine" type="string">
-                    <annotation>
-                        <documentation>Name of the template engine defined within the application.</documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="mappingStrategyRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a Spring bean providing the MappingStrategy implementation to use.
-                        </documentation>
-                    </annotation>
-                </attribute>
-                <attribute name="validatorRef" type="string">
-                    <annotation>
-                        <documentation>
-                            Reference to a Spring bean providing the Validator implementation to use.
-                        </documentation>
-                    </annotation>
-                </attribute>
-            </extension>
-        </complexContent>
-    </complexType>
-    
-    <simpleType name="ConnectionStrategyType">
-        <annotation>
-            <documentation>Supported connection strategies.</documentation>
-        </annotation>
-        <restriction base="string">
-            <enumeration value="DEFAULT"/>
-            <enumeration value="ACTIVE_PASSIVE"/>
-            <enumeration value="ROUND_ROBIN"/>
-            <enumeration value="RANDOM"/>
-        </restriction>
-    </simpleType>
-
-    <simpleType name="AuthenticationType">
-        <annotation>
-            <documentation>Supported authentication types.</documentation>
-        </annotation>
-        <restriction base="string">
-            <enumeration value="ANONYMOUS"/>
-            <enumeration value="SIMPLE"/>
-            <enumeration value="STRONG"/>
-            <enumeration value="EXTERNAL"/>
-            <enumeration value="DIGEST_MD5"/>
-            <enumeration value="CRAM_MD5"/>
-            <enumeration value="GSSAPI"/>
-        </restriction>
-    </simpleType>
-
-    <simpleType name="SearchScopeType">
-        <annotation>
-            <documentation>Supported search scopes.</documentation>
-        </annotation>
-        <restriction base="string">
-            <enumeration value="SUBTREE"/>
-            <enumeration value="ONELEVEL"/>
-            <enumeration value="OBJECT"/>
-        </restriction>
-    </simpleType>
-
-    <complexType name="LdapPoolConfigType">
-        <attribute name="minPoolSize" type="string">
-            <annotation>
-                <documentation>
-                    The minimum number of ldap connections that should always be available in the pool.
-                    Note that these connections are provisioned as soon as the pool is initialized.
-                    Default value is 0.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="maxPoolSize" type="string">
-            <annotation>
-                <documentation>
-                    The maximum number of ldap connections that should ever be available in the pool.
-                    Note that when this threshold is reach the pool will begin blocking until a connection
-                    is available.
-                    Default value is 3.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="blockWhenEmpty" type="string">
-            <annotation>
-                <documentation>
-                    Whether the pool should block when maxPoolSize objects are in use.
-                    If false, pool will grow beyond the maxPoolSize value.
-                    Note that a properly configured blocking pool will yield better performance. 
-                    Default value is true.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="blockWaitTime" type="string">
-            <annotation>
-                <documentation>
-                    Amount of time to block while waiting for a connection from the pool.  If no
-                    wait time is given, callers will block indefinitely.
-                    
-                    Values are expressed in ISO8601 duration format.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="validatePeriodically" type="string">
-            <annotation>
-                <documentation>
-                    Whether each ldap connection should be checked on a periodic basis.
-                    Default value is false.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="validateTimerPeriod" type="string">
-            <annotation>
-                <documentation>
-                    Time that the periodic pool validation process should repeat.
-                    Ldap objects are pruned when they have been idle beyond the expiration time.
-                    The pool is not pruned below the minimum pool size.
-                    Default value is 30 minutes.
-                    
-                    Period is expressed in ISO8601 duration format.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="validateDN" type="string">
-            <annotation>
-                <documentation>
-                    Ldap compare DN to use for connection validation.
-                    Used in conjunction with validateFilter to perform a compare.
-                    Default value is empty.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="validateFilter" type="string">
-            <annotation>
-                <documentation>
-                    Ldap compare filter to use for connection validation.
-                    Used in conjuction with validateDN to perform a compare.
-                    Default value is (objectClass=*).
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="expirationTime" type="string">
-            <annotation>
-                <documentation>
-                    Time in that an object in the pool should be considered stale and ready for removal.
-                    Time is expressed in ISO8601 duration format.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="failFastInitialize" type="string">
-            <annotation>
-                <documentation>
-                    A boolean flag indicating whether pool initialization should fail if configuration criteria is not met.
-                    Default value is true.
-                </documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-
-    <complexType name="CacheConfigType">
-        <attribute name="cacheManagerRef" type="string">
-        <annotation>
-                <documentation>
-                    Name of the CacheManager bean that will manage the result cache.  This is not used.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="elementTimeToLive" type="string">
-        <annotation>
-                <documentation>
-                    Length of time a result will be cached.
-
-                    Duration is expressed in ISO8601 duration notation.
-                </documentation>
-            </annotation>
-        </attribute>
-        <attribute name="maximumCachedElements" type="string">
-        <annotation>
-                <documentation>
-                   Maximum number of results that will be held in cache.
-                </documentation>
-            </annotation>
-        </attribute>
-    </complexType>
-    
-</schema>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index bc0d441..5cca087 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -113,7 +113,7 @@
         </attribute>
     </complexType>
 
-    <element name="DataConnector" type="resolver:FlattenedBaseDataConnectorType">
+    <element name="DataConnector" type="resolver:BaseDataConnectorType">
         <annotation>
             <documentation>
                 Defines a data connector which is used to pull information from local
@@ -122,7 +122,7 @@
         </annotation>
     </element>
 
-    <complexType name="FlattenedBaseDataConnectorType">
+    <complexType name="BaseDataConnectorType">
         <annotation>
             <documentation>
                 Data connectors pull information from local infrastructure, such as
@@ -164,24 +164,6 @@
         </complexContent>
     </complexType>
 
-    <complexType name="BaseDataConnectorType">
-        <annotation>
-            <documentation>
-                Data connectors pull information from local infrastructure, such as
-                databases and LDAP directories, and make these raw attributes available
-                to attribute definitions for finishing.
-            </documentation>
-        </annotation>
-        <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
-                <sequence>
-                    <element ref="resolver:Dependency" minOccurs="0" maxOccurs="unbounded"/>
-                    <element ref="resolver:FailoverDataConnector" minOccurs="0"/>
-                </sequence>
-            </extension>
-        </complexContent>
-    </complexType>
-
     <complexType name="FlattenedBaseResolutionPlugInType" abstract="true">
         <annotation>
             <documentation>
@@ -795,7 +777,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -850,7 +832,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -1088,7 +1070,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -1212,7 +1194,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice maxOccurs="unbounded">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -1379,7 +1361,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice  maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -1426,7 +1408,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice  maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>
@@ -1468,7 +1450,7 @@
             </documentation>
         </annotation>
         <complexContent>
-            <extension base="resolver:FlattenedBaseDataConnectorType">
+            <extension base="resolver:BaseDataConnectorType">
                 <choice  maxOccurs="unbounded" minOccurs="0">
                     <element ref="resolver:Dependency"/>
                     <element ref="resolver:InputAttributeDefinition"/>

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


More information about the commits mailing list