[java-identity-provider] 03/04: IDP-2037 Computed, Pairwise and StoredId DataConnectors to not implement all the common attributes
Rod Widdowson
rdw at steadingsoftware.com
Sat Nov 12 16:24:36 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch maint-4
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=75432afd5a84ea6fc17ea407479b34877f789e01
commit 75432afd5a84ea6fc17ea407479b34877f789e01
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Nov 12 15:28:32 2022 +0000
IDP-2037 Computed, Pairwise and StoredId DataConnectors to not implement all the common attributes
https://shibboleth.atlassian.net/browse/IDP-2037
Special case the handling of failFastInitialize to the LDAP, RDBMS and HTTP
data connectors (the Stored Id handler mananges this itself)
---
.../spring/dc/AbstractDataConnectorParser.java | 27 ++++++++++++++--------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index eb573b824..33a708270 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -22,23 +22,27 @@ import java.util.List;
import javax.annotation.Nonnull;
import javax.xml.namespace.QName;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
import net.shibboleth.ext.spring.util.SpringSupport;
import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
import net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser;
+import net.shibboleth.idp.attribute.resolver.spring.dc.http.impl.HTTPDataConnectorParser;
import net.shibboleth.idp.attribute.resolver.spring.dc.impl.DataConnectorFactoryBean;
+import net.shibboleth.idp.attribute.resolver.spring.dc.ldap.impl.LDAPDataConnectorParser;
+import net.shibboleth.idp.attribute.resolver.spring.dc.rdbms.impl.RDBMSDataConnectorParser;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
import net.shibboleth.utilities.java.support.xml.ElementSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
/**
* Base spring bean definition parser for data connectors. DataConnector implementations should provide a custom
* BeanDefinitionParser by extending this class and overriding the
@@ -162,8 +166,13 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
SpringSupport.getAttributeValueAsList(config.getAttributeNodeNS(null, ATTR_EXPORT_NAMES)));
}
- if (config.hasAttributeNS(null, ATTR_FAIL_FAST)) {
- // LDAP, Relational & HTTP only, limited in the schema
+ final QName typeName = DOMTypeSupport.getXSIType(config);
+
+ if (config.hasAttributeNS(null, ATTR_FAIL_FAST) &&
+ (typeName.equals(LDAPDataConnectorParser.TYPE_NAME_RESOLVER) ||
+ typeName.equals(RDBMSDataConnectorParser.TYPE_NAME_RESOLVER) ||
+ typeName.equals(HTTPDataConnectorParser.TYPE_NAME))) {
+ // Common attribute so parse before the native/spring split
builder.addPropertyValue("failFastInitialize",
StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list