[java-identity-provider] 04/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:37 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=fe1a1a509005ae3d12d64ae2c19c9231d9849243
commit fe1a1a509005ae3d12d64ae2c19c9231d9849243
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Nov 12 15:59:43 2022 +0000
IDP-2037 Computed, Pairwise and StoredId DataConnectors to not implement all the common attributes
https://shibboleth.atlassian.net/browse/IDP-2037
Add test, then make the pairwise parser inherit from the abstract data connector parser
(with suitable adjustments to the other parsers).
---
.../resolver/spring/dc/impl/ComputedIdDataConnectorParser.java | 2 +-
.../resolver/spring/dc/impl/PairwiseIdDataConnectorParser.java | 8 +++-----
.../resolver/spring/dc/impl/StoredIdDataConnectorParser.java | 2 +-
.../resolver/spring/dc/ComputedIdDataConnectorParserTest.java | 7 ++++++-
.../resolver/spring/dc/resolver/computedDataConnector.xml | 2 +-
5 files changed, 12 insertions(+), 9 deletions(-)
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 bfbdeacf5..1b3c78106 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
@@ -43,7 +43,7 @@ public class ComputedIdDataConnectorParser extends PairwiseIdDataConnectorParser
@Nonnull private final Logger log = LoggerFactory.getLogger(ComputedIdDataConnectorParser.class);
/** {@inheritDoc} */
- @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(config, parserContext, builder, "computedId");
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/PairwiseIdDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/PairwiseIdDataConnectorParser.java
index c0185552c..fe3de2b17 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/PairwiseIdDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/impl/PairwiseIdDataConnectorParser.java
@@ -30,7 +30,6 @@ import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
import net.shibboleth.idp.attribute.resolver.dc.impl.PairwiseIdDataConnector;
-import net.shibboleth.idp.attribute.resolver.spring.BaseResolverPluginParser;
import net.shibboleth.idp.attribute.resolver.spring.dc.AbstractDataConnectorParser;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -41,7 +40,7 @@ import net.shibboleth.utilities.java.support.xml.ElementSupport;
* Spring bean definition parser for configuring
* {@link net.shibboleth.idp.attribute.resolver.dc.impl.PairwiseIdDataConnector} variants.
*/
-public class PairwiseIdDataConnectorParser extends BaseResolverPluginParser {
+public class PairwiseIdDataConnectorParser extends AbstractDataConnectorParser {
/** Schema type - resolver. */
@Nonnull public static final QName TYPE_NAME_RESOLVER = new QName(AttributeResolverNamespaceHandler.NAMESPACE,
@@ -51,12 +50,12 @@ public class PairwiseIdDataConnectorParser extends BaseResolverPluginParser {
@Nonnull private final Logger log = LoggerFactory.getLogger(PairwiseIdDataConnectorParser.class);
/** {@inheritDoc} */
- @Override protected Class<PairwiseIdDataConnector> getBeanClass(final Element element) {
+ @Override protected Class<PairwiseIdDataConnector> getNativeBeanClass() {
return PairwiseIdDataConnector.class;
}
/** {@inheritDoc} */
- @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
doParse(config, parserContext, builder, "pairwiseId");
}
@@ -71,7 +70,6 @@ public class PairwiseIdDataConnectorParser extends BaseResolverPluginParser {
*/
protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder, @Nullable final String generatedIdDefaultName) {
- super.doParse(config, parserContext, builder);
final String generatedAttribute;
if (config.hasAttributeNS(null, "generatedAttributeID")) {
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 8814c76ab..a30e8979f 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
@@ -47,7 +47,7 @@ public class StoredIdDataConnectorParser extends ComputedIdDataConnectorParser {
@Nonnull private final Logger log = LoggerFactory.getLogger(StoredIdDataConnectorParser.class);
/** {@inheritDoc} */
- @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Override protected void doV2Parse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(config, parserContext, builder, "storedId");
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 dbbbac018..0523504ef 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
@@ -21,6 +21,8 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
+import java.util.Collection;
+
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.env.MutablePropertySources;
@@ -61,7 +63,10 @@ public class ComputedIdDataConnectorParserTest extends BaseAttributeDefinitionPa
final PairwiseIdDataConnector connector = getDataConnector("resolver/computedDataConnector.xml", PairwiseIdDataConnector.class);
final ComputedPairwiseIdStore store = (ComputedPairwiseIdStore) connector.getPairwiseIdStore();
assertFalse(connector.isExportAllAttributes());
-
+ final Collection<String> exports = connector.getExportAttributes();
+ assertEquals(exports.size(), 2);
+ assertTrue(exports.contains("Joe"));
+ assertTrue(exports.contains("Doe"));
assertEquals(connector.getId(), "computed");
assertEquals(connector.getGeneratedAttributeId(), "jenny");
assertEquals(store.getSalt(), "abcdefghijklmnopqrst ".getBytes());
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/computedDataConnector.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/computedDataConnector.xml
index 8a8e4841b..5825391c1 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/computedDataConnector.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/resolver/computedDataConnector.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<DataConnector id="computed"
xsi:type="ComputedId" xmlns="urn:mace:shibboleth:2.0:resolver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
+ exportAttributes="Joe Doe"
generatedAttributeID="jenny"
encodedSalt="YWJjZGVmZ2hpamtsbW5vcHFyc3Qg"
xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd">
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list