[java-identity-provider] branch feature/IDP-1434 updated: Adjust configuration of transcoding rules using a go-between class.
Scott Cantor
cantor.2 at osu.edu
Tue May 7 10:57:03 EDT 2019
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch feature/IDP-1434
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=1ccd73b4e751e309ff2b77740c76d7c2c75ed722
The following commit(s) were added to refs/heads/feature/IDP-1434 by this push:
new 1ccd73b Adjust configuration of transcoding rules using a go-between class.
1ccd73b is described below
commit 1ccd73b4e751e309ff2b77740c76d7c2c75ed722
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue May 7 10:57:00 2019 -0400
Adjust configuration of transcoding rules using a go-between class.
---
.../impl/AttributeTranscoderRegistryImpl.java | 16 ++--
.../transcoding/impl/TranscodingRule.java | 68 +++++++++++++++++
.../impl/AttributeTranscoderRegistryImplTest.java | 6 +-
.../spring/enc/BaseAttributeEncoderParser.java | 7 +-
.../impl/AttributeRegistryServiceStrategy.java | 19 +----
.../spring/BaseEncoderDefinitionParserTest.java | 13 ++--
.../attribute/resolver/spring/enc/Regressions.java | 6 +-
.../enc/SAML1Base64AttributeEncoderParserTest.java | 14 +---
...AML1ScopedStringAttributeEncoderParserTest.java | 14 +---
.../enc/SAML1StringAttributeEncoderParserTest.java | 14 +---
.../SAML1XMLObjectAttributeEncoderParserTest.java | 14 +---
.../enc/SAML2Base64AttributeEncoderParserTest.java | 14 +---
...AML2ScopedStringAttributeEncoderParserTest.java | 14 +---
.../enc/SAML2StringAttributeEncoderParserTest.java | 14 +---
.../SAML2XMLObjectAttributeEncoderParserTest.java | 14 +---
.../system/conf/attribute-registry-system.xml | 3 +
.../impl/SAML1ByteAttributeTranscoderTest.java | 3 +-
.../SAML1ScopedStringAttributeTranscoderTest.java | 3 +-
.../impl/SAML1StringAttributeTranscoderTest.java | 3 +-
.../impl/SAML2ByteAttributeTranscoderTest.java | 3 +-
.../SAML2ScopedStringAttributeTranscoderTest.java | 3 +-
.../impl/SAML2StringAttributeTranscoderTest.java | 3 +-
.../SAML2XMLObjectAttributeTranscoderTest.java | 3 +-
.../impl/AddAttributeStatementToAssertionTest.java | 10 ++-
.../impl/AddAttributeStatementToAssertionTest.java | 10 ++-
.../idp/saml/impl/profile/saml1Mapper.xml | 85 ++++++++++++++--------
.../idp/saml/impl/profile/saml2Mapper.xml | 77 +++++++++++++-------
27 files changed, 256 insertions(+), 197 deletions(-)
diff --git a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
index b55d36c..c72eac8 100644
--- a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
+++ b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImpl.java
@@ -106,7 +106,7 @@ public class AttributeTranscoderRegistryImpl extends AbstractServiceableComponen
*
* <p>The rules MUST contain at least:</p>
* <ul>
- * <li>{@link #PROP_ID} - an {@link AttributeTranscoder} instance supporting the type</li>
+ * <li>{@link #PROP_ID} - internal attribute ID to map to/from</li>
* <li>{@link #PROP_TRANSCODER} - an {@link AttributeTranscoder} instance supporting the type</li>
* </ul>
*
@@ -114,7 +114,7 @@ public class AttributeTranscoderRegistryImpl extends AbstractServiceableComponen
*
* @param mappings transcoding rulesets
*/
- public void setTranscoderRegistry(@Nonnull @NonnullElements final Collection<Map<String,Object>> mappings) {
+ public void setTranscoderRegistry(@Nonnull @NonnullElements final Collection<TranscodingRule> mappings) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
transcodingRegistry.clear();
@@ -123,20 +123,20 @@ public class AttributeTranscoderRegistryImpl extends AbstractServiceableComponen
return;
}
- for (final Map<String,Object> mapping : Collections2.filter(mappings, Predicates.notNull())) {
+ for (final TranscodingRule mapping : Collections2.filter(mappings, Predicates.notNull())) {
- final Object prop = mapping.get(PROP_ID);
+ final Object prop = mapping.getMap().get(PROP_ID);
final String internalId = StringSupport.trimOrNull(prop instanceof String ? (String) prop : null);
if (internalId != null) {
- final Predicate activationCondition = buildActivationCondition(mapping);
+ final Predicate activationCondition = buildActivationCondition(mapping.getMap());
if (activationCondition != null) {
- mapping.put(PROP_CONDITION, activationCondition);
+ mapping.getMap().put(PROP_CONDITION, activationCondition);
} else {
- mapping.remove(PROP_CONDITION);
+ mapping.getMap().remove(PROP_CONDITION);
}
- addMapping(internalId, mapping);
+ addMapping(internalId, mapping.getMap());
}
}
}
diff --git a/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRule.java b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRule.java
new file mode 100644
index 0000000..52c163f
--- /dev/null
+++ b/idp-attribute-impl/src/main/java/net/shibboleth/idp/attribute/transcoding/impl/TranscodingRule.java
@@ -0,0 +1,68 @@
+/*
+ * 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.transcoding.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Nonnull;
+
+import net.shibboleth.idp.attribute.transcoding.AttributeTranscoder;
+import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
+import net.shibboleth.utilities.java.support.annotation.ParameterName;
+import net.shibboleth.utilities.java.support.annotation.constraint.Live;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+
+/**
+ * Wrapper around a {@link Map} representing a rule for transcoding, used to
+ * detect and load the rules at runtime from a Spring context.
+ */
+public class TranscodingRule {
+
+ /** Underlying map containing the rule. */
+ @Nonnull @NonnullElements private final Map<String,Object> rule;
+
+ /**
+ * Constructor.
+ *
+ * @param map a map containing the rule
+ *
+ * <p>The rule MUST contain at least:</p>
+ * <ul>
+ * <li>
+ * {@link AttributeTranscoderRegistry#PROP_ID} - internal attribute ID to map to/from
+ * </li>
+ * <li>
+ * {@link AttributeTranscoderRegistry#PROP_TRANSCODER} - {@link AttributeTranscoder} instance supporting the type
+ * </li>
+ * </ul>
+ */
+ public TranscodingRule(@Nonnull @NonnullElements @ParameterName(name="map") final Map<String,Object> map) {
+ rule = new HashMap<>(map);
+ }
+
+ /**
+ * Access the underlying mapping rule.
+ *
+ * @return the map representing the rule
+ */
+ @Nonnull @NonnullElements @Live public Map<String,Object> getMap() {
+ return rule;
+ }
+
+}
\ No newline at end of file
diff --git a/idp-attribute-impl/src/test/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImplTest.java b/idp-attribute-impl/src/test/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImplTest.java
index fcf1dec..6b0a089 100644
--- a/idp-attribute-impl/src/test/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImplTest.java
+++ b/idp-attribute-impl/src/test/java/net/shibboleth/idp/attribute/transcoding/impl/AttributeTranscoderRegistryImplTest.java
@@ -82,7 +82,11 @@ public class AttributeTranscoderRegistryImplTest {
ruleset4.put(AttributeTranscoderRegistry.PROP_TRANSCODER, "net.shibboleth.idp.attribute.transcoding.impl.PairTranscoder");
ruleset4.put("name", "baz");
- registry.setTranscoderRegistry(Arrays.asList(ruleset1, ruleset2, ruleset3, ruleset4));
+ registry.setTranscoderRegistry(Arrays.asList(
+ new TranscodingRule(ruleset1),
+ new TranscodingRule(ruleset2),
+ new TranscodingRule(ruleset3),
+ new TranscodingRule(ruleset4)));
registry.initialize();
}
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
index 08030e5..1bdda33 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/enc/BaseAttributeEncoderParser.java
@@ -17,13 +17,13 @@
package net.shibboleth.idp.attribute.resolver.spring.enc;
-import java.util.Collections;
import java.util.Map;
import javax.annotation.Nonnull;
import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.profile.logic.ScriptedPredicate;
import net.shibboleth.idp.profile.spring.relyingparty.metadata.ScriptTypeBeanParser;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
@@ -53,8 +53,8 @@ public abstract class BaseAttributeEncoderParser extends AbstractSingleBeanDefin
/** {@inheritDoc} */
@Override
- protected Class<?> getBeanClass(final Element element) {
- return Collections.class;
+ protected Class<TranscodingRule> getBeanClass(final Element element) {
+ return TranscodingRule.class;
}
/** {@inheritDoc} */
@@ -75,7 +75,6 @@ public abstract class BaseAttributeEncoderParser extends AbstractSingleBeanDefin
final ManagedMap rule = new ManagedMap();
- builder.setFactoryMethod("singletonList");
builder.addConstructorArgValue(rule);
if (config.getParentNode() instanceof Element && ((Element)config.getParentNode()).hasAttributeNS(null, "id")) {
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/transcoding/spring/impl/AttributeRegistryServiceStrategy.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/transcoding/spring/impl/AttributeRegistryServiceStrategy.java
index 18103d9..8601fe9 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/transcoding/spring/impl/AttributeRegistryServiceStrategy.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/transcoding/spring/impl/AttributeRegistryServiceStrategy.java
@@ -17,7 +17,6 @@
package net.shibboleth.idp.attribute.transcoding.spring.impl;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Map;
import java.util.function.Function;
@@ -29,11 +28,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Collections2;
-
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -71,21 +68,11 @@ public class AttributeRegistryServiceStrategy extends AbstractIdentifiableInitia
final Map<Class<?>,Function<?,String>> namingRegistryBean = appContext.getBean(namingRegistry, Map.class);
- final Collection<Collection> mappingBeans = appContext.getBeansOfType(Collection.class).values();
-
- final Collection<Map<String,Object>> mappings = new ArrayList<>();
-
- for (final Collection c : Collections2.filter(mappingBeans, Predicates.notNull())) {
- for (final Object o : c) {
- if (o instanceof Map) {
- mappings.add((Map<String,Object>) o);
- }
- }
- }
+ final Collection<TranscodingRule> mappingBeans = appContext.getBeansOfType(TranscodingRule.class).values();
final AttributeTranscoderRegistryImpl registry = new AttributeTranscoderRegistryImpl();
registry.setNamingRegistry(namingRegistryBean);
- registry.setTranscoderRegistry(mappings);
+ registry.setTranscoderRegistry(mappingBeans);
registry.setId(getId());
registry.setApplicationContext(appContext);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
index a38f64d..807ea81 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/BaseEncoderDefinitionParserTest.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.attribute.resolver.spring;
import static net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder.PROP_ENCODE_TYPE;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import org.springframework.context.support.GenericApplicationContext;
@@ -29,16 +28,18 @@ import org.springframework.core.env.StandardEnvironment;
import org.springframework.mock.env.MockPropertySource;
import org.testng.annotations.Test;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
+
/**
* Base class for testing Attribute Encoding Parsers
*/
public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefinitionParserTest {
- protected Collection<Map<String,Object>> getAttributeTranscoderRule(final String fileName) {
+ protected TranscodingRule getAttributeTranscoderRule(final String fileName) {
return getAttributeTranscoderRule(fileName, null, null);
}
- protected Collection<Map<String,Object>> getAttributeTranscoderRule(final String fileName,final boolean activation, final Boolean encodeType) {
+ protected TranscodingRule getAttributeTranscoderRule(final String fileName,final boolean activation, final Boolean encodeType) {
final String encodeTypeString;
if (null == encodeType) {
encodeTypeString = null;
@@ -50,7 +51,7 @@ public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefin
return getAttributeTranscoderRule(fileName, activation?"true":"false", encodeTypeString);
}
- private Collection<Map<String,Object>> getAttributeTranscoderRule(final String fileName,
+ private TranscodingRule getAttributeTranscoderRule(final String fileName,
final String activationValue,
final String encodeType) {
@@ -70,12 +71,12 @@ public abstract class BaseEncoderDefinitionParserTest extends BaseAttributeDefin
return getAttributeTranscoderRule(fileName, context);
}
- protected Collection<Map<String,Object>> getAttributeTranscoderRule(final String fileName, final GenericApplicationContext context) {
+ protected TranscodingRule getAttributeTranscoderRule(final String fileName, final GenericApplicationContext context) {
setTestContext(context);
context.setDisplayName("ApplicationContext for enccoder");
- return getBean(ENCODER_FILE_PATH + fileName, Collection.class, context);
+ return getBean(ENCODER_FILE_PATH + fileName, TranscodingRule.class, context);
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/Regressions.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/Regressions.java
index b5e6083..7530f29 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/Regressions.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/Regressions.java
@@ -28,6 +28,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
import net.shibboleth.idp.attribute.resolver.spring.BaseAttributeDefinitionParserTest;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.impl.SAML2StringAttributeTranscoder;
/**
@@ -42,13 +43,12 @@ public class Regressions extends BaseAttributeDefinitionParserTest {
context.refresh();
Collection<AttributeDefinition> definitions = context.getBeansOfType(AttributeDefinition.class).values();
- Collection<Collection> transcoderRules = context.getBeansOfType(Collection.class).values();
+ Collection<TranscodingRule> transcoderRules = context.getBeansOfType(TranscodingRule.class).values();
assertEquals(definitions.size(), 1);
assertEquals(transcoderRules.size(), 1);
- assertEquals(transcoderRules.iterator().next().size(), 1);
- final Map<String,Object> rule = (Map<String, Object>) transcoderRules.iterator().next().iterator().next();
+ final Map<String,Object> rule = transcoderRules.iterator().next().getMap();
assertEquals(rule.get(AttributeTranscoderRegistry.PROP_ID), "skillsoftdept");
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2StringAttributeTranscoder);
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1Base64AttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1Base64AttributeEncoderParserTest.java
index 5df39f6..cacbd1e 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1Base64AttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1Base64AttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML1Base64AttributeEncoderParserTest extends BaseEncoderDefinition
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1Base64.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml1Base64.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1ByteAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "SAML1_BASE64_ATTRIBUTE_NAME");
@@ -58,11 +54,7 @@ public class SAML1Base64AttributeEncoderParserTest extends BaseEncoderDefinition
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1Base64Default.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml1Base64Default.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1ByteAttributeTranscoder);
assertEquals(rule.get(SAML1AttributeTranscoder.PROP_NAME), "Base64_ATTRIBUTE");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1ScopedStringAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1ScopedStringAttributeEncoderParserTest.java
index 06de6e4..cbbcb5a 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1ScopedStringAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1ScopedStringAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML1ScopedStringAttributeEncoderParserTest extends BaseEncoderDefi
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1Scoped.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml1Scoped.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1ScopedStringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "SAML1_SCOPED_ATTRIBUTE_NAME");
@@ -61,11 +57,7 @@ public class SAML1ScopedStringAttributeEncoderParserTest extends BaseEncoderDefi
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1ScopedDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml1ScopedDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1ScopedStringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "saml1_scoped_name");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
index f6de6f8..ee124ba 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1StringAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML1StringAttributeEncoderParserTest extends BaseEncoderDefinition
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1String.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml1String.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1StringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "SAML1_STRING_ATTRIBUTE_NAME");
@@ -58,11 +54,7 @@ public class SAML1StringAttributeEncoderParserTest extends BaseEncoderDefinition
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1StringDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml1StringDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1StringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "ATTRIBUTE");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1XMLObjectAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1XMLObjectAttributeEncoderParserTest.java
index 89b54ec..7f9f62a 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1XMLObjectAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML1XMLObjectAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML1XMLObjectAttributeEncoderParserTest extends BaseEncoderDefinit
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1XmlObject.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml1XmlObject.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1XMLObjectAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "SAML1_XMLObject_ATTRIBUTE_NAME");
@@ -57,11 +53,7 @@ public class SAML1XMLObjectAttributeEncoderParserTest extends BaseEncoderDefinit
}
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml1XmlObjectDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml1XmlObjectDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML1XMLObjectAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "XMLObject_ATTRIBUTE");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
index 90d3a80..17c6e54 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2Base64AttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML2Base64AttributeEncoderParserTest extends BaseEncoderDefinition
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2Base64.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml2Base64.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2ByteAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "Saml2Base64_ATTRIBUTE_NAME");
@@ -58,11 +54,7 @@ public class SAML2Base64AttributeEncoderParserTest extends BaseEncoderDefinition
}
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2Base64Default.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml2Base64Default.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2ByteAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "Base64Name");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2ScopedStringAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2ScopedStringAttributeEncoderParserTest.java
index 9a89f00..1741af2 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2ScopedStringAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2ScopedStringAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML2ScopedStringAttributeEncoderParserTest extends BaseEncoderDefi
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2Scoped.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml2Scoped.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2ScopedStringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "ATTRIBUTE_NAME");
@@ -61,11 +57,7 @@ public class SAML2ScopedStringAttributeEncoderParserTest extends BaseEncoderDefi
}
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2ScopedDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml2ScopedDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2ScopedStringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "name");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2StringAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2StringAttributeEncoderParserTest.java
index f2aa97e..67cb02c 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2StringAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2StringAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML2StringAttributeEncoderParserTest extends BaseEncoderDefinition
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2String.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml2String.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2StringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "Saml2String_ATTRIBUTE_NAME");
@@ -58,11 +54,7 @@ public class SAML2StringAttributeEncoderParserTest extends BaseEncoderDefinition
}
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2StringDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml2StringDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2StringAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "Saml2StringName");
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2XMLObjectAttributeEncoderParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2XMLObjectAttributeEncoderParserTest.java
index 545c861..513cc6a 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2XMLObjectAttributeEncoderParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/enc/SAML2XMLObjectAttributeEncoderParserTest.java
@@ -22,7 +22,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
-import java.util.Collection;
import java.util.Map;
import java.util.function.Predicate;
@@ -43,11 +42,8 @@ public class SAML2XMLObjectAttributeEncoderParserTest extends BaseEncoderDefinit
protected void testWithProperties(final boolean activation, final Boolean encodeType) {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2XmlObject.xml", activation, encodeType);
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule =
+ getAttributeTranscoderRule("resolver/saml2XmlObject.xml", activation, encodeType).getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2XMLObjectAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "Saml2XmlObject_ATTRIBUTE_NAME");
@@ -58,11 +54,7 @@ public class SAML2XMLObjectAttributeEncoderParserTest extends BaseEncoderDefinit
}
@Test public void defaultCase() {
- final Collection<Map<String,Object>> rules =
- getAttributeTranscoderRule("resolver/saml2XmlObjectDefault.xml");
- assertEquals(rules.size(), 1);
-
- final Map<String,Object> rule = rules.iterator().next();
+ final Map<String,Object> rule = getAttributeTranscoderRule("resolver/saml2XmlObjectDefault.xml").getMap();
assertTrue(rule.get(AttributeTranscoderRegistry.PROP_TRANSCODER) instanceof SAML2XMLObjectAttributeTranscoder);
assertEquals(rule.get(SAMLAttributeTranscoder.PROP_NAME), "XmlObjectName");
diff --git a/idp-conf/src/main/resources/system/conf/attribute-registry-system.xml b/idp-conf/src/main/resources/system/conf/attribute-registry-system.xml
index c8c2a48..f63ec12 100644
--- a/idp-conf/src/main/resources/system/conf/attribute-registry-system.xml
+++ b/idp-conf/src/main/resources/system/conf/attribute-registry-system.xml
@@ -39,4 +39,7 @@
</entry>
</util:map>
+ <bean id="shibboleth.TranscodingRule"
+ class="net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule" abstract="true" />
+
</beans>
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
index 7764a6c..8047cc4 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ByteAttributeTranscoderTest.java
@@ -36,6 +36,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -100,7 +101,7 @@ public class SAML1ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
ruleset1.put(SAMLAttributeTranscoder.PROP_NAME, ATTR_NAME);
ruleset1.put(SAML1AttributeTranscoder.PROP_NAMESPACE, ATTR_NAMESPACE);
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
index 2f1536e..3d689e7 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1ScopedStringAttributeTranscoderTest.java
@@ -35,6 +35,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -109,7 +110,7 @@ public class SAML1ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
ruleset1.put(SAML1ScopedStringAttributeTranscoder.PROP_SCOPE_DELIMITER, DELIMITER);
ruleset1.put(SAML1ScopedStringAttributeTranscoder.PROP_SCOPE_TYPE, "attribute");
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
index 88d2fbe..0534a08 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML1StringAttributeTranscoderTest.java
@@ -35,6 +35,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML1AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -97,7 +98,7 @@ public class SAML1StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
ruleset1.put(SAMLAttributeTranscoder.PROP_NAME, ATTR_NAME);
ruleset1.put(SAML1AttributeTranscoder.PROP_NAMESPACE, ATTR_NAMESPACE);
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
index 962d91c..e87c469 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ByteAttributeTranscoderTest.java
@@ -36,6 +36,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -102,7 +103,7 @@ public class SAML2ByteAttributeTranscoderTest extends OpenSAMLInitBaseTestCase {
ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
index 8e7f786..4e059bf 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2ScopedStringAttributeTranscoderTest.java
@@ -35,6 +35,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -104,7 +105,7 @@ public class SAML2ScopedStringAttributeTranscoderTest extends OpenSAMLInitBaseTe
ruleset1.put(SAML2ScopedStringAttributeTranscoder.PROP_SCOPE_DELIMITER, DELIMITER);
ruleset1.put(SAML2ScopedStringAttributeTranscoder.PROP_SCOPE_TYPE, "inline");
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
index 34244fe..e5e2ab3 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2StringAttributeTranscoderTest.java
@@ -35,6 +35,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -99,7 +100,7 @@ public class SAML2StringAttributeTranscoderTest extends OpenSAMLInitBaseTestCase
ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
index 67742bb..5b2e6f8 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/attribute/transcoding/impl/SAML2XMLObjectAttributeTranscoderTest.java
@@ -37,6 +37,7 @@ import net.shibboleth.idp.attribute.XMLObjectAttributeValue;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.TranscoderSupport;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.saml.attribute.transcoding.AbstractSAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAML2AttributeTranscoder;
import net.shibboleth.idp.saml.attribute.transcoding.SAMLAttributeTranscoder;
@@ -106,7 +107,7 @@ public class SAML2XMLObjectAttributeTranscoderTest extends OpenSAMLInitBaseTestC
ruleset1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, ATTR_NAMEFORMAT);
ruleset1.put(SAML2AttributeTranscoder.PROP_FRIENDLY_NAME, ATTR_FRIENDLYNAME);
- registry.setTranscoderRegistry(Collections.singletonList(ruleset1));
+ registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
registry.initialize();
}
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
index 5ea95d2..274928a 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml1/profile/impl/AddAttributeStatementToAssertionTest.java
@@ -32,6 +32,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.profile.ActionTestingSupport;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.RequestContextBuilder;
@@ -123,7 +124,10 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule2_1.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_2);
rule2_1.put(SAML1AttributeTranscoder.PROP_NAMESPACE, MY_NAMESPACE);
- registry.setTranscoderRegistry(Arrays.asList(rule1_1, rule1_2, rule2_1));
+ registry.setTranscoderRegistry(Arrays.asList(
+ new TranscodingRule(rule1_1),
+ new TranscodingRule(rule1_2),
+ new TranscodingRule(rule2_1)));
registry.initialize();
@@ -187,7 +191,7 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_1);
rule.put(SAML1AttributeTranscoder.PROP_NAMESPACE, MY_NAMESPACE);
- localregistry.setTranscoderRegistry(Collections.singletonList(rule));
+ localregistry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(rule)));
localregistry.initialize();
action.setTranscoderRegistry(new RegistryService(localregistry));
@@ -223,7 +227,7 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_1);
rule.put(SAML1AttributeTranscoder.PROP_NAMESPACE, MY_NAMESPACE);
- localregistry.setTranscoderRegistry(Collections.singletonList(rule));
+ localregistry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(rule)));
localregistry.initialize();
action.setTranscoderRegistry(new RegistryService(localregistry));
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertionTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertionTest.java
index 7a2ca86..252e802 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertionTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/AddAttributeStatementToAssertionTest.java
@@ -32,6 +32,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.context.AttributeContext;
import net.shibboleth.idp.attribute.transcoding.AttributeTranscoderRegistry;
import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistryImpl;
+import net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule;
import net.shibboleth.idp.profile.ActionTestingSupport;
import net.shibboleth.idp.profile.IdPEventIds;
import net.shibboleth.idp.profile.RequestContextBuilder;
@@ -122,7 +123,10 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule2_1.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_2);
rule2_1.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, MY_NAMESPACE);
- registry.setTranscoderRegistry(Arrays.asList(rule1_1, rule1_2, rule2_1));
+ registry.setTranscoderRegistry(Arrays.asList(
+ new TranscodingRule(rule1_1),
+ new TranscodingRule(rule1_2),
+ new TranscodingRule(rule2_1)));
registry.initialize();
action = new AddAttributeStatementToAssertion();
@@ -185,7 +189,7 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_1);
rule.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, MY_NAMESPACE);
- localregistry.setTranscoderRegistry(Collections.singletonList(rule));
+ localregistry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(rule)));
localregistry.initialize();
action.setTranscoderRegistry(new RegistryService(localregistry));
@@ -221,7 +225,7 @@ public class AddAttributeStatementToAssertionTest extends OpenSAMLInitBaseTestCa
rule.put(SAMLAttributeTranscoder.PROP_NAME, MY_NAME_1);
rule.put(SAML2AttributeTranscoder.PROP_NAME_FORMAT, MY_NAMESPACE);
- localregistry.setTranscoderRegistry(Collections.singletonList(rule));
+ localregistry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(rule)));
localregistry.initialize();
action.setTranscoderRegistry(new RegistryService(localregistry));
diff --git a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml1Mapper.xml b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml1Mapper.xml
index efb5c11..8a88e7c 100644
--- a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml1Mapper.xml
+++ b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml1Mapper.xml
@@ -16,42 +16,65 @@
<bean id="SAML1ScopedStringTranscoder"
class="net.shibboleth.idp.saml.attribute.transcoding.impl.SAML1ScopedStringAttributeTranscoder" />
+ <bean id="shibboleth.TranscodingRule"
+ class="net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule" abstract="true" />
+
<util:list id="DefaultAttributeRegistry">
-
- <map>
- <entry key="id" value="eduPersonAssurance" />
- <entry key="transcoder" value-ref="SAML1StringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
- <entry key="namespace" value="basic" />
- </map>
+
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML1StringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
+ <entry key="namespace" value="basic" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonAssurance" />
- <entry key="transcoder" value-ref="SAML1StringTranscoder" />
- <entry key="name" value="http://example.org/name/for/Attribute" />
- <entry key="namespace" value="basic" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML1StringTranscoder" />
+ <entry key="name" value="http://example.org/name/for/Attribute" />
+ <entry key="namespace" value="basic" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="otherPersonAssurance" />
- <entry key="transcoder" value-ref="SAML1StringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
- <entry key="namespace" value="basic" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="otherPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML1StringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
+ <entry key="namespace" value="basic" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonScopedAffiliation" />
- <entry key="transcoder" value-ref="SAML1ScopedStringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" />
- <entry key="namespace" value="basic" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonScopedAffiliation" />
+ <entry key="transcoder" value-ref="SAML1ScopedStringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" />
+ <entry key="namespace" value="basic" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonTargetedID" />
- <entry key="transcoder" value-ref="SAML1ScopedStringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
- <entry key="namespace" value="basic" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonTargetedID" />
+ <entry key="transcoder" value-ref="SAML1ScopedStringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
+ <entry key="namespace" value="basic" />
+ </map>
+ </constructor-arg>
+ </bean>
</util:list>
diff --git a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml2Mapper.xml b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml2Mapper.xml
index fc33dd2..88f878f 100644
--- a/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml2Mapper.xml
+++ b/idp-saml-impl/src/test/resources/net/shibboleth/idp/saml/impl/profile/saml2Mapper.xml
@@ -18,39 +18,62 @@
<bean id="SAML2XMLObjectTranscoder"
class="net.shibboleth.idp.saml.attribute.transcoding.impl.SAML2XMLObjectAttributeTranscoder" />
+ <bean id="shibboleth.TranscodingRule"
+ class="net.shibboleth.idp.attribute.transcoding.impl.TranscodingRule" abstract="true" />
+
<util:list id="DefaultAttributeRegistry">
- <map>
- <entry key="id" value="eduPersonAssurance" />
- <entry key="transcoder" value-ref="SAML2StringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML2StringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonAssurance" />
- <entry key="transcoder" value-ref="SAML2StringTranscoder" />
- <entry key="name" value="http://example.org/name/for/Attribute" />
- <entry key="nameFormat" value="http://example.org/Format" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML2StringTranscoder" />
+ <entry key="name" value="http://example.org/name/for/Attribute" />
+ <entry key="nameFormat" value="http://example.org/Format" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="otherPersonAssurance" />
- <entry key="transcoder" value-ref="SAML2StringTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="otherPersonAssurance" />
+ <entry key="transcoder" value-ref="SAML2StringTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonScopedAffiliation" />
- <entry key="transcoder" value-ref="SAML2ScopedStringTranscoder" />
- <entry key="scopeDelimiter" value="#" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonScopedAffiliation" />
+ <entry key="transcoder" value-ref="SAML2ScopedStringTranscoder" />
+ <entry key="scopeDelimiter" value="#" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" />
+ </map>
+ </constructor-arg>
+ </bean>
- <map>
- <entry key="id" value="eduPersonTargetedID" />
- <entry key="transcoder" value-ref="SAML2XMLObjectTranscoder" />
- <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
- </map>
+ <bean parent="shibboleth.TranscodingRule">
+ <constructor-arg>
+ <map>
+ <entry key="id" value="eduPersonTargetedID" />
+ <entry key="transcoder" value-ref="SAML2XMLObjectTranscoder" />
+ <entry key="name" value="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
+ </map>
+ </constructor-arg>
+ </bean>
</util:list>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list