[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