[java-shib-attribute] 02/02: JSATTR-4 Remove springResources from data connector
Rod Widdowson
rdw at steadingsoftware.com
Wed Oct 26 15:58:57 UTC 2022
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-shib-attribute.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-attribute.git;a=commit;h=baf7c4fea03e90a8f12297acf0f45076e67b6f9a
commit baf7c4fea03e90a8f12297acf0f45076e67b6f9a
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Oct 26 16:54:58 2022 +0100
JSATTR-4 Remove springResources from data connector
https://shibboleth.atlassian.net/browse/JSATTR-4
Refactor some code doV2Parse(..) becomes doParse(..) with a call
to super.doParse()
Remove the DataConnectorFactoryBean
---
.../spring/dc/AbstractDataConnectorParser.java | 30 +-
.../dc/http/impl/HTTPDataConnectorParser.java | 3 +-
.../dc/impl/ContextDerivedDataConnectorParser.java | 3 +-
.../spring/dc/impl/DataConnectorFactoryBean.java | 305 ---------------------
.../dc/impl/ScriptedDataConnectorParser.java | 11 +-
.../spring/dc/impl/StaticDataConnectorParser.java | 3 +-
.../spring/dc/impl/SubjectDataConnectorParser.java | 4 +-
.../dc/ldap/impl/LDAPDataConnectorParser.java | 8 +-
.../dc/rdbms/impl/RDBMSDataConnectorParser.java | 4 +-
.../impl/StorageServiceDataConnectorParser.java | 3 +-
10 files changed, 24 insertions(+), 350 deletions(-)
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index c448bdb4e..a5c997409 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -22,23 +22,22 @@ 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.idp.attribute.resolver.AbstractDataConnector;
import net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser;
-import net.shibboleth.idp.attribute.resolver.spring.dc.impl.DataConnectorFactoryBean;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.primitive.DeprecationSupport;
-import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.util.SpringSupport;
import net.shibboleth.shared.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
@@ -89,7 +88,6 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
*/
protected abstract Class<? extends AbstractDataConnector> getNativeBeanClass();
- //CheckStyle: MethodLength|CyclomaticComplexity OFF
/** {@inheritDoc} */
@Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
@@ -131,21 +129,7 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
builder.addPropertyValue("failFastInitialize",
StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
}
-
- doV2Parse(config, parserContext, builder);
}
- //CheckStyle: MethodLength|CyclomaticComplexity ON
-
- /**
- * Parse the supplied {@link Element} as a legacy format and populate the supplied {@link BeanDefinitionBuilder} as
- * required.
- *
- * @param element the XML element being parsed
- * @param parserContext the object encapsulating the current state of the parsing process
- * @param builder used to define the {@code BeanDefinition}
- * @see #doParse(Element, BeanDefinitionBuilder)
- */
- protected abstract void doV2Parse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder);
/**
* Return a string which is to be prepended to all log messages.
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
index fb47f7287..eed9984ce 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/http/impl/HTTPDataConnectorParser.java
@@ -66,9 +66,10 @@ public class HTTPDataConnectorParser extends AbstractDataConnectorParser {
// Checkstyle: CyclomaticComplexity OFF
/** {@inheritDoc} */
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(config, parserContext, builder);
log.debug("{} Parsing custom configuration {}", getLogPrefix(), config);
final V2Parser v2Parser = new V2Parser(config, getLogPrefix());
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ContextDerivedDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ContextDerivedDataConnectorParser.java
index 67b7aea68..7cac3e505 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ContextDerivedDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ContextDerivedDataConnectorParser.java
@@ -48,8 +48,9 @@ public class ContextDerivedDataConnectorParser extends AbstractDataConnectorPars
/** {@inheritDoc} */
@Override
- protected void doV2Parse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
+ protected void doParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(element, parserContext, builder);
final String functionRef = StringSupport.trimOrNull(element.getAttributeNS(null, "attributesFunctionRef"));
if (null == functionRef) {
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
deleted file mode 100644
index 645eb54d1..000000000
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/DataConnectorFactoryBean.java
+++ /dev/null
@@ -1,305 +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 java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.lang.reflect.Constructor;
-import java.time.Duration;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
-import net.shibboleth.idp.attribute.resolver.spring.impl.AbstractResolverPluginFactoryBean;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
-import net.shibboleth.shared.logic.Constraint;
-import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.shared.spring.util.ApplicationContextBuilder;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
-import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.Resource;
-
-/**
- * A factory bean to collect the parameterization that goes onto a {@link AbstractDataConnector}.
- *
- * It is specifically aimed at the implementations where contents are plugged in via external resources.
- *
- */
-public class DataConnectorFactoryBean extends AbstractResolverPluginFactoryBean<AbstractDataConnector> implements
- ApplicationContextAware {
-
- /** Log4j logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(DataConnectorFactoryBean.class);
-
- /** The class that we are implementing. */
- @Nonnull private Class<? extends AbstractDataConnector> connectorClass;
-
- /** The resources we are importing. */
- @Nullable private List<Resource> resources;
-
- /** Our parent context. */
- @Nullable private ApplicationContext parentContext;
-
- /** The context we fired up. */
- private GenericApplicationContext appContext;
-
- /** List of bean factory post processors for this connector's content. */
- @Nonnull @NonnullElements private List<BeanFactoryPostProcessor> factoryPostProcessors = Collections.emptyList();
-
- /** List of bean post processors for this connector's content. */
- @Nonnull @NonnullElements private List<BeanPostProcessor> postProcessors = Collections.emptyList();
-
- /** Data Connector property "failoverDataConnectorId". */
- @Nullable private String failoverDataConnectorId;
-
- /** Data Connector property "noRetryDelay". */
- @Nullable private Duration noRetryDelay;
-
- /** Do we release all attributes?. */
- private Boolean exportAllAttributes;
-
- /** Which named attributes do we release?. */
- @Nonnull @NonnullElements private Collection<String> exportAttributes = Collections.emptySet();
-
- /**
- * Data Connector property "failoverDataConnectorId".
- *
- * @return the value of property to set or null if never set
- */
- @Nullable public String getFailoverDataConnectorId() {
- return failoverDataConnectorId;
- }
-
- /**
- * Data Connector property "failoverDataConnectorId".
- *
- * @param id the value to set
- */
- public void setFailoverDataConnectorId(@Nullable final String id) {
- failoverDataConnectorId = id;
- }
-
- /**
- * Data Connector property "noRetryDelay".
- *
- * @return the value of property to set or null if never set
- */
- @Nullable public Duration getNoRetryDelay() {
- return noRetryDelay;
- }
-
- /**
- * Data Connector property "noRetryDelay".
- *
- * @param delay the value to set
- */
- public void setNoRetryDelay(@Nullable final Duration delay) {
- noRetryDelay = delay;
- }
-
- /**
- * The resources to use.
- *
- * @param theResources the resources to look at
- */
- public void setResources(@Nonnull @NonnullElements final List<Resource> theResources) {
- resources = List.copyOf(Constraint.isNotNull(theResources, "Resources cannot be null"));
- }
-
- /**
- * The resources to use.
- *
- * @return the resources to look at
- */
- @Nonnull @NonnullElements public List<Resource> getResources() {
- return resources;
- }
-
- /**
- * Sets the list of attribute names to export during resolution.
- *
- * @param what the list
- */
- public void setExportAttributes(@Nonnull final Collection<String> what) {
- // Future-proofing trimming
- exportAttributes = what.stream().map(StringSupport::trimOrNull).collect(Collectors.toSet());
- }
-
- /**
- * Set whether we export all attributes.
- *
- * @param what whether we export all attributes
- */
- public void setExportAllAttributes(final boolean what) {
- exportAllAttributes = what;
- }
-
- /**
- * Set the list of bean factory post processors for this connector.
- *
- * @param processors bean factory post processors to apply
- */
- public void setBeanFactoryPostProcessors(@Nonnull @NonnullElements
- final List<BeanFactoryPostProcessor> processors) {
- factoryPostProcessors = List.copyOf(
- Constraint.isNotNull(processors, "BeanFactoryPostProcessors cannot be null"));
- }
-
- /**
- * Get the post processors.
- *
- * @return the bean factory post processors
- */
- @Nonnull @NonnullElements public List<BeanFactoryPostProcessor> getBeanFactoryPostProcessors() {
- return factoryPostProcessors;
- }
-
- /**
- * Set the list of bean post processors for this connector.
- *
- * @param processors bean post processors to apply
- */
- public void setBeanPostProcessors(@Nonnull @NonnullElements final List<BeanPostProcessor> processors) {
- postProcessors = List.copyOf(Constraint.isNotNull(processors, "BeanPostProcessors cannot be null"));
- }
-
- /**
- * Get the list of bean post processors for this connector.
- *
- * @return processors bean post processors to apply
- */
- @Nonnull @NonnullElements public List<BeanPostProcessor> getBeanPostProcessors() {
- return postProcessors;
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings("removal")
- @Override protected void setValues(final AbstractDataConnector what) {
- super.setValues(what);
- if (null != getFailoverDataConnectorId()) {
- what.setFailoverDataConnectorId(getFailoverDataConnectorId());
- }
- if (null != exportAllAttributes) {
- what.setExportAllAttributes(exportAllAttributes);
- } else if (!exportAttributes.isEmpty()) {
- what.setExportAttributes(exportAttributes);
- }
- }
-
- /** {@inheritDoc} We do not allow non-singleton beans, if we did then we loose constructability. */
- @Override public void setSingleton(final boolean singleton) {
- Constraint.isTrue(singleton, "Can only be singleton");
- super.setSingleton(singleton);
- }
-
- /** Set the class we are going to build.
- * @param claz the class.
- */
- public void setObjectType(@Nonnull final Class<? extends AbstractDataConnector> claz) {
- connectorClass = Constraint.isNotNull(claz, "Injected class must be non-null");
- }
-
- /** {@inheritDoc} */
- @Override public Class<? extends AbstractDataConnector> getObjectType() {
- return connectorClass;
- }
-
- /**
- * Returns the parentContext.
- *
- * @return Returns the parentContext.
- */
- public ApplicationContext getParentContext() {
- return parentContext;
- }
-
- /** {@inheritDoc} */
- @Override public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
- parentContext = applicationContext;
- }
-
- /** {@inheritDoc} */
- @Override protected void destroyInstance(final AbstractDataConnector instance) throws Exception {
- super.destroyInstance(instance);
- appContext.close();
- }
-
- /**
- * {@inheritDoc}
- *
- * <p>
- * In order to create the bean we introspect with respect to contents of the Spring resources and inject as
- * required.
- * </p>
- */
- @Override protected AbstractDataConnector doCreateInstance() throws Exception {
-
- Constraint.isNotNull(getObjectType(), "Injected class must be non-null");
- log.debug("Creating a DataConnector of type {} from resources {}", getObjectType(), resources);
-
- final Constructor<? extends AbstractDataConnector> constructor = getObjectType().getConstructor();
- final AbstractDataConnector result = constructor.newInstance();
- if (null != getFailoverDataConnectorId()) {
- result.setFailoverDataConnectorId(getFailoverDataConnectorId());
- }
- if (null != getNoRetryDelay()) {
- result.setNoRetryDelay(getNoRetryDelay());
- }
- setValues(result);
-
- appContext = new ApplicationContextBuilder()
- .setName("HybridSpringDataConnector")
- .setServiceConfigurations(getResources())
- .setBeanFactoryPostProcessors(getBeanFactoryPostProcessors())
- .setBeanPostProcessors(getBeanPostProcessors())
- .setParentContext(getParentContext()).build();
-
- final PropertyDescriptor[] descriptors =
- Introspector.getBeanInfo(getObjectType(), AbstractDataConnector.class).getPropertyDescriptors();
-
- for (final PropertyDescriptor descriptor : descriptors) {
- log.debug("Parsing property descriptor: {}", descriptor);
- final Map<String, ?> beans = appContext.getBeansOfType(descriptor.getPropertyType());
-
- if (null == beans || beans.isEmpty() || null == descriptor.getWriteMethod() ) {
- continue;
- }
- if (beans.size() > 1) {
- log.warn("Too many beans of type {} found, only the first will be used", descriptor.getPropertyType());
- }
- final Object bean = beans.values().iterator().next();
- log.debug("Added property value: {}", bean);
- descriptor.getWriteMethod().invoke(result, bean);
- }
- return result;
- }
-
-}
\ No newline at end of file
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
index 4aba73939..2daf43568 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/ScriptedDataConnectorParser.java
@@ -32,9 +32,7 @@ import org.w3c.dom.Element;
import net.shibboleth.idp.attribute.resolver.dc.impl.ScriptedDataConnector;
import net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
-import net.shibboleth.shared.primitive.DeprecationSupport;
import net.shibboleth.shared.primitive.StringSupport;
-import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
import net.shibboleth.shared.spring.factory.EvaluableScriptFactoryBean;
import net.shibboleth.shared.xml.ElementSupport;
@@ -62,17 +60,12 @@ public class ScriptedDataConnectorParser extends AbstractDataConnectorParser {
}
/** {@inheritDoc} */
+ // Checkstyle: CyclomaticComplexity OFF
@Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+
super.doParse(config, parserContext, builder);
builder.addAutowiredProperty("scriptContextExtenders");
- }
-
- /** {@inheritDoc} */
- // Checkstyle: CyclomaticComplexity OFF
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
-
final BeanDefinitionBuilder scriptBuilder =
BeanDefinitionBuilder.genericBeanDefinition(EvaluableScriptFactoryBean.class);
scriptBuilder.addPropertyValue("sourceId", getLogPrefix());
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
index 672b3c8ae..92d5b4873 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/StaticDataConnectorParser.java
@@ -58,8 +58,9 @@ public class StaticDataConnectorParser extends AbstractDataConnectorParser {
}
/** {@inheritDoc} */
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(config, parserContext, builder);
final List<Element> children = ElementSupport.getChildElements(config, ATTRIBUTE_ELEMENT_NAME_RESOLVER);
final List<BeanDefinition> attributes = new ManagedList<>(children.size());
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/SubjectDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/SubjectDataConnectorParser.java
index 2cc0d5e2a..601db09b2 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/SubjectDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/SubjectDataConnectorParser.java
@@ -64,9 +64,9 @@ public class SubjectDataConnectorParser extends ContextDerivedDataConnectorParse
/** {@inheritDoc} */
@Override
- protected void doV2Parse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
+ protected void doParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
-
+ super.doParse(element, parserContext, builder);
if (subjectDerivedClass == null) {
throw new BeanCreationException("Unable to load class for subject-derived attribute function.");
}
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
index 3e29202e5..c4e68d7dc 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java
@@ -78,7 +78,7 @@ import net.shibboleth.shared.xml.XMLConstants;
/**
* Bean definition Parser for a {@link LDAPDataConnector}. <em>Note</em> That parsing the V2 configuration will set some
- * beans with hard wired defaults. See {@link #doV2Parse(Element, ParserContext, BeanDefinitionBuilder)}.
+ * beans with hard wired defaults. See {@link #doParse(Element, ParserContext, BeanDefinitionBuilder)}.
*/
public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
@@ -121,8 +121,9 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
* @param parserContext bean definition parsing context
* @param builder to initialize
*/
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(config, parserContext, builder);
log.debug("{} Parsing XML configuration {}", getLogPrefix(), config);
// V4 Deprecation
@@ -218,9 +219,6 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
/**
* Utility class for parsing v2 schema configuration.
- *
- * <em>Note</em> That parsing the V2 configuration will set some beans with hard wired defaults. See
- * {@link #doV2Parse(Element, ParserContext, BeanDefinitionBuilder)}.
*/
protected static class V2Parser {
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
index dcb7ff6ac..e2d7e68e1 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
@@ -64,9 +64,9 @@ public class RDBMSDataConnectorParser extends AbstractDataConnectorParser {
}
/** {@inheritDoc} */
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
-
+ super.doParse(config, parserContext, builder);
log.debug("{} Parsing v2 configuration {}", getLogPrefix(), config);
final V2Parser v2Parser = new V2Parser(config, getLogPrefix());
diff --git a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
index e24394377..cd2057a2c 100644
--- a/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
+++ b/shib-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/storage/impl/StorageServiceDataConnectorParser.java
@@ -60,9 +60,10 @@ public class StorageServiceDataConnectorParser extends AbstractDataConnectorPars
}
/** {@inheritDoc} */
- @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(config, parserContext, builder);
log.debug("{} Parsing custom configuration {}", getLogPrefix(), config);
final V2Parser v2Parser = new V2Parser(config, getLogPrefix());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list