[java-identity-provider] 01/03: IDP-1470 Fix mix-scope custom parsing: Attribute Definition
Rod Widdowson
rdw at steadingsoftware.com
Tue Jun 25 04:46:12 EDT 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=27b5c2a5ab26dc6effad6ea7537ad72a9b7fe325
commit 27b5c2a5ab26dc6effad6ea7537ad72a9b7fe325
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jun 23 15:45:23 2019 +0100
IDP-1470 Fix mix-scope custom parsing: Attribute Definition
https://issues.shibboleth.net/jira/browse/IDP-1470
---
.../idp/attribute/resolver/spring/BaseResolverPluginParser.java | 4 ++--
.../spring/ad/mapped/impl/MappedAttributeDefinitionParser.java | 4 +++-
.../attribute/resolver/spring/ad/mapped/impl/ValueMapParser.java | 2 +-
.../resolver/spring/dc/ldap/impl/LDAPDataConnectorParser.java | 4 ++--
.../resolver/spring/ad/mapped/SourceValueParserTest.java | 8 +++++++-
.../attribute/resolver/spring/ad/mapped/ValueMapParserTest.java | 6 ++++--
.../metadata/impl/HTTPMetadataProvidersParserSupport.java | 3 ++-
7 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
index a651861..e153dd7 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/BaseResolverPluginParser.java
@@ -109,9 +109,9 @@ public abstract class BaseResolverPluginParser extends AbstractSingleBeanDefinit
}
}
builder.addPropertyValue("attributeDependencies",
- SpringSupport.parseCustomElements(attributeDependencyElements, parserContext));
+ SpringSupport.parseCustomElements(attributeDependencyElements, parserContext, builder));
builder.addPropertyValue("dataConnectorDependencies",
- SpringSupport.parseCustomElements(dataConnectorDependencyElements, parserContext));
+ SpringSupport.parseCustomElements(dataConnectorDependencyElements, parserContext, builder));
}
// Checkstyle: CyclomaticComplexity ON
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
index 8a5accc..f7215cd 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/MappedAttributeDefinitionParser.java
@@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.ManagedList;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
@@ -90,7 +91,8 @@ public class MappedAttributeDefinitionParser extends BaseResolverPluginParser {
"Attribute Definition '" + getDefinitionId() + "' At least one ValueMap must be specified");
}
- final List<BeanDefinition> valueMaps = SpringSupport.parseCustomElements(valueMapElements, parserContext);
+ final ManagedList<BeanDefinition> valueMaps =
+ SpringSupport.parseCustomElements(valueMapElements, parserContext, builder);
log.debug("{} passThru = {}, defaultValue = {}, {} value maps",
new Object[] {getLogPrefix(), passThru, defaultValue, valueMaps.size(),});
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/ValueMapParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/ValueMapParser.java
index 27d0fb1..6845122 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/ValueMapParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/impl/ValueMapParser.java
@@ -82,7 +82,7 @@ public class ValueMapParser extends AbstractSingleBeanDefinitionParser {
}
final ManagedList<BeanDefinition> sourceValues =
- SpringSupport.parseCustomElements(sourceValueElements, parserContext);
+ SpringSupport.parseCustomElements(sourceValueElements, parserContext, builder);
log.debug("AttributeDefinition(ValueMap): return value: {}, {} source values ", returnValue,
sourceValues.size());
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 455fa28..6f75dc8 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
@@ -352,7 +352,7 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
getLogPrefix(), parserContext.getReaderContext().getResource().getDescription());
}
result.addPropertyValue("trustCredential",
- SpringSupport.parseCustomElements(trustElements, parserContext).get(0));
+ SpringSupport.parseCustomElement(trustElements.get(0), parserContext, result, false));
}
final List<Element> authElements =
@@ -387,7 +387,7 @@ public class LDAPDataConnectorParser extends AbstractDataConnectorParser {
parserContext.getReaderContext().getResource().getDescription());
}
result.addPropertyValue("authCredential", SpringSupport
- .parseCustomElements(authElements, parserContext).get(0));
+ .parseCustomElement(authElements.get(0), parserContext, result, false));
}
return result.getBeanDefinition();
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/SourceValueParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/SourceValueParserTest.java
index 04f9393..e4016b6 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/SourceValueParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/SourceValueParserTest.java
@@ -26,7 +26,9 @@ import static org.testng.Assert.fail;
import org.springframework.context.support.GenericApplicationContext;
import org.testng.annotations.Test;
+import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.MappedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.SourceValue;
+import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.ValueMap;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.SourceValueParser;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
@@ -41,8 +43,12 @@ public class SourceValueParserTest extends BaseAttributeDefinitionParserTest {
GenericApplicationContext context = new GenericApplicationContext();
setTestContext(context);
context.setDisplayName("ApplicationContext: " + SourceValueParserTest.class);
+ final MappedAttributeDefinition defn = getBean(ATTRIBUTE_FILE_PATH + "mapped/" + fileName,
+ MappedAttributeDefinition.class, context);
- return getBean(ATTRIBUTE_FILE_PATH + "mapped/" + fileName, SourceValue.class, context);
+ final ValueMap vm = defn.getValueMaps().iterator().next();
+
+ return vm.getSourceValues().iterator().next();
}
@Test public void simple() {
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/ValueMapParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/ValueMapParserTest.java
index e7225aa..c7fb36b 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/ValueMapParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/mapped/ValueMapParserTest.java
@@ -24,6 +24,7 @@ import org.springframework.beans.factory.BeanDefinitionStoreException;
import org.springframework.context.support.GenericApplicationContext;
import org.testng.annotations.Test;
+import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.MappedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.ad.mapped.impl.ValueMap;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.resolver.spring.ad.mapped.impl.ValueMapParser;
@@ -37,9 +38,10 @@ public class ValueMapParserTest extends BaseAttributeDefinitionParserTest {
final GenericApplicationContext context = new GenericApplicationContext();
setTestContext(context);
context.setDisplayName("ApplicationContext: " + ValueMapParserTest.class);
+ final MappedAttributeDefinition defn = getBean(ATTRIBUTE_FILE_PATH + "mapped/resolver/" + fileName,
+ MappedAttributeDefinition.class, context);
- return getBean(ATTRIBUTE_FILE_PATH + "mapped/resolver/" + fileName, ValueMap.class,
- context);
+ return defn.getValueMaps().iterator().next();
}
@Test public void valueMap() {
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
index 32eb8fc..255910c 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/impl/HTTPMetadataProvidersParserSupport.java
@@ -122,7 +122,8 @@ public final class HTTPMetadataProvidersParserSupport {
AbstractMetadataProviderParser.TRUST_ENGINE_ELEMENT_NAME);
return null;
}
- builder.addPropertyValue("tLSTrustEngine", SpringSupport.parseCustomElement(trustEngine, parserContext));
+ builder.addPropertyValue("tLSTrustEngine",
+ SpringSupport.parseCustomElement(trustEngine, parserContext, builder));
}
return builder.getBeanDefinition();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list