[java-shib-attribute] branch main updated: IDP-2069 Null Handling
Rod Widdowson
rdw at steadingsoftware.com
Sat Mar 11 15:51:21 UTC 2023
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=150726cb8538bc789032bd054770929d5deeb19e
The following commit(s) were added to refs/heads/main by this push:
new 150726cb8 IDP-2069 Null Handling
150726cb8 is described below
commit 150726cb8538bc789032bd054770929d5deeb19e
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Mar 11 15:38:59 2023 +0000
IDP-2069 Null Handling
https://shibboleth.atlassian.net/browse/IDP-2069
Eschew the two parameter getSubContext() method
---
.../idp/attribute/filter/AttributeRule.java | 3 ++-
.../filter/context/AttributeFilterContextTest.java | 4 ++--
.../context/AttributeFilterWorkContextTest.java | 6 ++---
.../attribute/filter/impl/AttributeFilterImpl.java | 12 ++++++----
.../impl/BaseComplexAttributeFilterTestCase.java | 2 +-
.../attribute/filter/matcher/impl/DataSources.java | 4 ++--
.../saml/impl/AttributeInMetadataMatcherTest.java | 4 ++--
.../impl/MappedAttributeInMetadataMatcherTest.java | 4 ++--
.../impl/PredicatePolicyRuleTest.java | 6 ++---
.../impl/ProxiedRequesterPolicyRuleTest.java | 6 ++---
.../impl/ProxiedRequesterRegexpPolicyRuleTest.java | 2 +-
.../policyrule/saml/impl/BaseMetadataTests.java | 4 ++--
.../filter/tests/AttributeFilterPolicyTest.java | 11 ++++-----
.../tests/AttributeValueFilterPolicyTest.java | 6 ++---
.../filter/spring/policy/DataSources.java | 9 ++++----
.../policy/ProxiedRequesterRuleParserTest.java | 7 +++---
.../testing/BaseAttributeFilterParserTest.java | 3 +--
.../attribute/resolver/AbstractResolverPlugin.java | 2 +-
.../resolver/AbstractAttributeDefinitionTest.java | 16 ++++++-------
.../resolver/AbstractDataConnectorTest.java | 8 +++----
.../resolver/AbstractResolverPluginTest.java | 27 +++++++++++-----------
.../resolver/AttributeResolutionLookupTest.java | 4 ++--
.../resolver/impl/AttributeResolverImpl.java | 13 ++++++-----
.../ad/impl/DateTimeAttributeDefinitionTest.java | 12 +++++-----
.../resolver/ad/impl/DecryptedAttributeTest.java | 2 +-
.../idp/attribute/resolver/ad/impl/LogicTest.java | 11 +++++----
.../impl/PrincipalNameAttributeDefinitionTest.java | 2 +-
.../resolver/ad/impl/SimpleAttributeTest.java | 20 ++++++++--------
.../ad/impl/StaticAttributeDefinitionTest.java | 2 +-
.../resolver/ad/impl/TemplateAttributeTest.java | 22 +++++++++++-------
.../dc/impl/SAMLAttributeDataConnectorTest.java | 5 ++--
.../dc/impl/ScriptedDataConnectorTest.java | 10 ++++----
.../resolver/dc/impl/StaticDataConnectorTest.java | 2 +-
.../impl/AttributeResolutionContextTest.java | 4 ++--
.../resolver/spring/AttributeResolverTest.java | 4 ++--
.../ad/impl/ScriptedAttributeParserTest.java | 2 +-
.../spring/ad/impl/SimpleAttributeParserTest.java | 9 +++-----
.../resolver/testing/ResolverTestSupport.java | 2 +-
.../attribute/resolver/testing/TestSources.java | 10 ++++----
39 files changed, 141 insertions(+), 141 deletions(-)
diff --git a/shib-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeRule.java b/shib-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeRule.java
index aa1cac86d..c03174709 100644
--- a/shib-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeRule.java
+++ b/shib-attribute-filter-api/src/main/java/net/shibboleth/idp/attribute/filter/AttributeRule.java
@@ -175,7 +175,7 @@ public final class AttributeRule extends AbstractIdentifiableInitializableCompon
Constraint.isNotNull(filterContext, "Attribute filter context can not be null");
final AttributeFilterWorkContext filterWorkContext = Constraint.isNotNull(
- filterContext.getSubcontext(AttributeFilterWorkContext.class, false),
+ filterContext.getSubcontext(AttributeFilterWorkContext.class),
"Attribute filter work context can not be null");
log.debug("{} Filtering values for attribute '{}' which currently contains {} values", getLogPrefix(),
@@ -229,6 +229,7 @@ public final class AttributeRule extends AbstractIdentifiableInitializableCompon
result = new StringBuffer("Attribute filtering engine '").append(getId()).append("' ").toString();
logPrefix = result;
}
+ assert result!=null;
return result;
}
diff --git a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
index e45f1942f..443d27a1e 100644
--- a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
+++ b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterContextTest.java
@@ -34,7 +34,7 @@ public class AttributeFilterContextTest {
/** Test that post-construction state is what is expected. */
@Test public void testPostConstructionState() {
final AttributeFilterContext context = new AttributeFilterContext();
- final AttributeFilterWorkContext child = context.getSubcontext(AttributeFilterWorkContext.class, true);
+ final AttributeFilterWorkContext child = context.getOrCreateSubcontext(AttributeFilterWorkContext.class);
assert child != null;
Assert.assertNotNull(context.getFilteredIdPAttributes());
@@ -120,7 +120,7 @@ public class AttributeFilterContextTest {
final AttributeFilterContext context = new AttributeFilterContext();
Assert.assertNull(context.getRequesterMetadataContext());
- final SAMLMetadataContext mas = context.getSubcontext(SAMLMetadataContext.class, true);
+ final SAMLMetadataContext mas = context.getOrCreateSubcontext(SAMLMetadataContext.class);
context.setRequesterMetadataContextLookupStrategy(new ChildContextLookup<AttributeFilterContext, SAMLMetadataContext>(
SAMLMetadataContext.class));
diff --git a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterWorkContextTest.java b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterWorkContextTest.java
index c5c2f406b..ab0b9b63a 100644
--- a/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterWorkContextTest.java
+++ b/shib-attribute-filter-api/src/test/java/net/shibboleth/idp/attribute/filter/context/AttributeFilterWorkContextTest.java
@@ -48,8 +48,7 @@ public class AttributeFilterWorkContextTest {
*/
@Test public void testPermittedAttributeValues() throws AttributeFilterException {
final AttributeFilterContext parent = new AttributeFilterContext();
- final AttributeFilterWorkContext context = parent.getSubcontext(AttributeFilterWorkContext.class, true);
- assert context != null;
+ final AttributeFilterWorkContext context = parent.getOrCreateSubcontext(AttributeFilterWorkContext.class);
final IdPAttribute attribute1 = new IdPAttribute("one");
attribute1.setValues(Arrays.asList(aStringAttributeValue, bStringAttributeValue));
@@ -96,8 +95,7 @@ public class AttributeFilterWorkContextTest {
*/
@Test public void testDeniedAttributeValues() throws AttributeFilterException {
final AttributeFilterContext parent = new AttributeFilterContext();
- final AttributeFilterWorkContext context = parent.getSubcontext(AttributeFilterWorkContext.class, true);
- assert context != null;
+ final AttributeFilterWorkContext context = parent.getOrCreateSubcontext(AttributeFilterWorkContext.class);
final IdPAttribute attribute1 = new IdPAttribute("one");
attribute1.setValues(Arrays.asList(aStringAttributeValue, bStringAttributeValue));
diff --git a/shib-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java b/shib-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
index a85dc8774..638139734 100644
--- a/shib-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
+++ b/shib-attribute-filter-impl/src/main/java/net/shibboleth/idp/attribute/filter/impl/AttributeFilterImpl.java
@@ -43,6 +43,7 @@ import net.shibboleth.idp.attribute.filter.context.AttributeFilterWorkContext;
import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.annotation.constraint.Unmodifiable;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
@@ -73,8 +74,8 @@ public class AttributeFilterImpl extends AbstractIdentifiableInitializableCompon
public AttributeFilterImpl(@Nonnull @NotEmpty final String engineId,
@Nullable @NonnullElements final Collection<AttributeFilterPolicy> policies) {
setId(engineId);
-
- filterPolicies = List.copyOf(policies);
+ assert policies!=null;
+ filterPolicies = CollectionSupport.copyToList(policies);
metricContextLookupStrategy = new ChildContextLookup<>(MetricContext.class).compose(new RootContextLookup<>());
}
@@ -107,7 +108,7 @@ public class AttributeFilterImpl extends AbstractIdentifiableInitializableCompon
final Map<String, IdPAttribute> prefilteredAttributes = filterContext.getPrefilteredIdPAttributes();
// Create work context to hold intermediate results.
- filterContext.getSubcontext(AttributeFilterWorkContext.class, true);
+ filterContext.getOrCreateSubcontext(AttributeFilterWorkContext.class);
log.debug("{} Beginning process of filtering the following {} attributes: {}", new Object[] {getLogPrefix(),
prefilteredAttributes.size(), prefilteredAttributes.keySet(),});
@@ -118,8 +119,11 @@ public class AttributeFilterImpl extends AbstractIdentifiableInitializableCompon
}
for (final Entry<String, IdPAttribute> entry : filterContext.getPrefilteredIdPAttributes().entrySet()) {
+ assert entry!=null;
+ final String key = entry.getKey();
+ assert key!=null;
final Collection<IdPAttributeValue> filteredAttributeValues =
- getFilteredValues(entry.getKey(), filterContext);
+ getFilteredValues(key, filterContext);
if (null != filteredAttributeValues && !filteredAttributeValues.isEmpty()) {
final IdPAttribute filteredAttribute;
try {
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/BaseComplexAttributeFilterTestCase.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/BaseComplexAttributeFilterTestCase.java
index 84cc9d0b9..df0324615 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/BaseComplexAttributeFilterTestCase.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/complex/impl/BaseComplexAttributeFilterTestCase.java
@@ -68,7 +68,7 @@ public class BaseComplexAttributeFilterTestCase extends XMLObjectBaseTestCase {
connector.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
return Constraint.isNotNull(connector.resolve(context), "Resolved Attributes were null");
}
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/DataSources.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/DataSources.java
index 17806f8fa..43126237c 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/DataSources.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/impl/DataSources.java
@@ -72,7 +72,7 @@ public abstract class DataSources {
final ProfileRequestContext parent = new ProfileRequestContext();
parent.addSubcontext(TestSources.createResolutionContext(principal, issuerID, recipientId));
- final AttributeFilterContext retVal = parent.getSubcontext(AttributeFilterContext.class, true);
+ final AttributeFilterContext retVal = parent.getOrCreateSubcontext(AttributeFilterContext.class);
assert retVal != null;
retVal.setPrincipal(principal);
retVal.setAttributeIssuerID(issuerID);
@@ -85,7 +85,7 @@ public abstract class DataSources {
@Nonnull public static AttributeFilterContext unPopulatedFilterContext() {
final ProfileRequestContext parent = new ProfileRequestContext();
- final AttributeFilterContext afc = parent.getSubcontext(AttributeFilterContext.class, true);
+ final AttributeFilterContext afc = parent.getOrCreateSubcontext(AttributeFilterContext.class);
assert afc != null;
afc.setProfileRequestContextLookupStrategy(new ParentContextLookup<>(ProfileRequestContext.class));
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcherTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcherTest.java
index 5eb89f105..68a59b1f1 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcherTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/AttributeInMetadataMatcherTest.java
@@ -95,10 +95,10 @@ public class AttributeInMetadataMatcherTest extends OpenSAMLInitBaseTestCase {
private void setRequestedAttributesInContext(final AttributeFilterContext context,
final Collection<RequestedAttribute> attributes) {
- final SAMLMetadataContext samlMetadataContext = context.getSubcontext(SAMLMetadataContext.class, true);
+ final SAMLMetadataContext samlMetadataContext = context.getOrCreateSubcontext(SAMLMetadataContext.class);
assert samlMetadataContext != null;
final AttributeConsumingServiceContext acsCtx =
- samlMetadataContext.getSubcontext(AttributeConsumingServiceContext.class, true);
+ samlMetadataContext.getOrCreateSubcontext(AttributeConsumingServiceContext.class);
assert acsCtx != null;
final AttributeConsumingService acs =
acsCtx.setAttributeConsumingService(acsBuilder.buildObject()).getAttributeConsumingService();
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
index 81bd8e653..e10090f5b 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/matcher/saml/impl/MappedAttributeInMetadataMatcherTest.java
@@ -83,10 +83,10 @@ public class MappedAttributeInMetadataMatcherTest extends OpenSAMLInitBaseTestCa
private void setRequestedAttributesInContext(@Nonnull final AttributeFilterContext context,
@Nonnull final Multimap<String, IdPAttribute> multimap) {
final AttributesMapContainer container = new AttributesMapContainer(multimap);
- final SAMLMetadataContext samlMetadataContext = context.getSubcontext(SAMLMetadataContext.class, true);
+ final SAMLMetadataContext samlMetadataContext = context.getOrCreateSubcontext(SAMLMetadataContext.class);
assert samlMetadataContext != null;
final AttributeConsumingServiceContext acsCtx =
- samlMetadataContext.getSubcontext(AttributeConsumingServiceContext.class, true);
+ samlMetadataContext.getOrCreateSubcontext(AttributeConsumingServiceContext.class);
assert acsCtx != null;
final AttributeConsumingService acs = acsCtx.setAttributeConsumingService(acsBuilder.buildObject()).getAttributeConsumingService();
assert acs != null;
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
index 67e0fcdfe..52b736044 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/PredicatePolicyRuleTest.java
@@ -58,8 +58,7 @@ public class PredicatePolicyRuleTest {
rule.initialize();
final ProfileRequestContext pc = new ProfileRequestContext();
- final AttributeFilterContext afc = pc.getSubcontext(AttributeFilterContext.class, true);
- assert afc != null;
+ final AttributeFilterContext afc = pc.getOrCreateSubcontext(AttributeFilterContext.class);
afc.setProfileRequestContextLookupStrategy(new ParentContextLookup<>(ProfileRequestContext.class));
assertEquals(rule.matches(afc), Tristate.FALSE);
@@ -72,8 +71,7 @@ public class PredicatePolicyRuleTest {
rule.initialize();
final ProfileRequestContext pc = new ProfileRequestContext();
- final AttributeFilterContext afc = pc.getSubcontext(AttributeFilterContext.class, true);
- assert afc != null;
+ final AttributeFilterContext afc = pc.getOrCreateSubcontext(AttributeFilterContext.class);
assertEquals(rule.matches(afc), Tristate.FAIL);
}
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
index 47a87c678..af0e6760d 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterPolicyRuleTest.java
@@ -71,8 +71,7 @@ public class ProxiedRequesterPolicyRuleTest {
ctx.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- final ProxiedRequesterContext proxyCtx = ctx.getSubcontext(ProxiedRequesterContext.class, true);
- assert proxyCtx != null;
+ final ProxiedRequesterContext proxyCtx = ctx.getOrCreateSubcontext(ProxiedRequesterContext.class);
proxyCtx.getRequesters().addAll(Arrays.asList("foo", "bar"));
@@ -90,8 +89,7 @@ public class ProxiedRequesterPolicyRuleTest {
ctx.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- final ProxiedRequesterContext proxyCtx = ctx.getSubcontext(ProxiedRequesterContext.class, true);
- assert proxyCtx != null;
+ final ProxiedRequesterContext proxyCtx = ctx.getOrCreateSubcontext(ProxiedRequesterContext.class);
proxyCtx.getRequesters().addAll(Arrays.asList("foo", "bar"));
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterRegexpPolicyRuleTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterRegexpPolicyRuleTest.java
index 99c212bc3..e341b424e 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterRegexpPolicyRuleTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/filtercontext/impl/ProxiedRequesterRegexpPolicyRuleTest.java
@@ -63,7 +63,7 @@ public class ProxiedRequesterRegexpPolicyRuleTest {
ctx.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- final ProxiedRequesterContext proxyCtx = ctx.getSubcontext(ProxiedRequesterContext.class, true);
+ final ProxiedRequesterContext proxyCtx = ctx.getOrCreateSubcontext(ProxiedRequesterContext.class);
assert proxyCtx != null;
proxyCtx.getRequesters().addAll(Arrays.asList("foo", "bar"));
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/BaseMetadataTests.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/BaseMetadataTests.java
index 3e9ad7f49..ceb37a112 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/BaseMetadataTests.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/policyrule/saml/impl/BaseMetadataTests.java
@@ -98,7 +98,7 @@ public class BaseMetadataTests extends XMLObjectBaseTestCase {
static protected AttributeFilterContext reqMetadataContext(EntityDescriptor sp, String principal) {
final AttributeFilterContext filterContext = new AttributeFilterContext();
- final SAMLMetadataContext metadataContext = filterContext.getSubcontext(SAMLMetadataContext.class, true);
+ final SAMLMetadataContext metadataContext = filterContext.getOrCreateSubcontext(SAMLMetadataContext.class);
assert metadataContext != null;
metadataContext.setEntityDescriptor(sp);
@@ -115,7 +115,7 @@ public class BaseMetadataTests extends XMLObjectBaseTestCase {
@Nonnull static protected AttributeFilterContext issMetadataContext(EntityDescriptor idp, String principal) {
final AttributeFilterContext filterContext = new AttributeFilterContext();
- final SAMLMetadataContext metadataContext = filterContext.getSubcontext(SAMLMetadataContext.class, true);
+ final SAMLMetadataContext metadataContext = filterContext.getOrCreateSubcontext(SAMLMetadataContext.class);
assert metadataContext != null;
metadataContext.setEntityDescriptor(idp);
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeFilterPolicyTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeFilterPolicyTest.java
index d0aea6203..b06e4b07f 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeFilterPolicyTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeFilterPolicyTest.java
@@ -165,7 +165,7 @@ public class AttributeFilterPolicyTest {
policy.initialize();
AttributeFilterContext context = new AttributeFilterContext();
- context.getSubcontext(AttributeFilterWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeFilterWorkContext.class);
IdPAttribute attribute = new IdPAttribute(ATTR_NAME);
@@ -188,7 +188,7 @@ public class AttributeFilterPolicyTest {
@Test public void testApply() throws ComponentInitializationException, AttributeFilterException {
AttributeFilterContext ctx = apply(Tristate.TRUE);
- AttributeFilterWorkContext workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class, false);
+ AttributeFilterWorkContext workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class);
assert workCtx != null;
final Collection<?> values = workCtx.getPermittedIdPAttributeValues().get(ATTR_NAME);
@@ -200,12 +200,12 @@ public class AttributeFilterPolicyTest {
Assert.assertNull(workCtx.getPermittedIdPAttributeValues().get(ATTR_NAME_2));
ctx = apply(Tristate.FALSE);
- workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class, false);
+ workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class);
assert workCtx != null;
Assert.assertNull(workCtx.getPermittedIdPAttributeValues().get(ATTR_NAME));
ctx = apply(Tristate.FAIL);
- workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class, false);
+ workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class);
assert workCtx != null;
Assert.assertNull(workCtx.getPermittedIdPAttributeValues().get(ATTR_NAME));
}
@@ -216,8 +216,7 @@ public class AttributeFilterPolicyTest {
// Empty attribute
//
final AttributeFilterContext ctx = new AttributeFilterContext();
- final AttributeFilterWorkContext workCtx = ctx.getSubcontext(AttributeFilterWorkContext.class, true);
- assert workCtx != null;
+ final AttributeFilterWorkContext workCtx = ctx.getOrCreateSubcontext(AttributeFilterWorkContext.class);
final IdPAttribute attribute = new IdPAttribute(ATTR_NAME);
attribute.setValues(Collections.emptyList());
diff --git a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeValueFilterPolicyTest.java b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeValueFilterPolicyTest.java
index fdcf10438..3f381c0b8 100644
--- a/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeValueFilterPolicyTest.java
+++ b/shib-attribute-filter-impl/src/test/java/net/shibboleth/idp/attribute/filter/tests/AttributeValueFilterPolicyTest.java
@@ -207,8 +207,7 @@ public class AttributeValueFilterPolicyTest {
AttributeFilterContext context = new AttributeFilterContext();
context.setPrefilteredIdPAttributes(Arrays.asList(attribute1));
- AttributeFilterWorkContext workCtx = context.getSubcontext(AttributeFilterWorkContext.class, true);
- assert workCtx != null;
+ AttributeFilterWorkContext workCtx = context.getOrCreateSubcontext(AttributeFilterWorkContext.class);
policy.apply(attribute1, context);
Collection<IdPAttributeValue> result = workCtx.getPermittedIdPAttributeValues().get(ATTR_NAME);
@@ -225,8 +224,7 @@ public class AttributeValueFilterPolicyTest {
policy.initialize();
context = new AttributeFilterContext();
- workCtx = context.getSubcontext(AttributeFilterWorkContext.class, true);
- assert workCtx != null;
+ workCtx = context.getOrCreateSubcontext(AttributeFilterWorkContext.class);
context.setPrefilteredIdPAttributes(Arrays.asList(attribute1));
policy.apply(attribute1, context);
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java
index 310c4523b..0e07b7063 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.attribute.filter.spring.policy;
import javax.annotation.Nonnull;
+import org.opensaml.messaging.context.MessageContext;
+
import net.shibboleth.idp.attribute.ByteAttributeValue;
import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
@@ -28,8 +30,6 @@ import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.testing.TestSources;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import org.opensaml.messaging.context.MessageContext;
-
/**
* Strings and such used for testing.
*/
@@ -72,8 +72,7 @@ public abstract class DataSources {
final MessageContext parent = new MessageContext();
parent.addSubcontext(TestSources.createResolutionContext(principal, issuerID, recipientId));
- final AttributeFilterContext retVal = parent.getSubcontext(AttributeFilterContext.class, true);
- assert retVal != null;
+ final AttributeFilterContext retVal = parent.getOrCreateSubcontext(AttributeFilterContext.class);
retVal.setPrincipal(principal);
retVal.setAttributeIssuerID(issuerID);
retVal.setAttributeRecipientID(recipientId);
@@ -84,7 +83,7 @@ public abstract class DataSources {
final MessageContext parent = new MessageContext();
parent.addSubcontext(new AttributeResolutionContext());
- final AttributeFilterContext afc = parent.getSubcontext(AttributeFilterContext.class, true);
+ final AttributeFilterContext afc = parent.getOrCreateSubcontext(AttributeFilterContext.class);
assert afc != null;
return afc;
}
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
index 4c81130eb..ff08d237e 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
@@ -58,8 +58,8 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
filterContext.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- final ProxiedRequesterContext prc = filterContext.getSubcontext(ProxiedRequesterContext.class, true);
- assert prc != null;
+ final ProxiedRequesterContext prc = filterContext.getOrCreateSubcontext(ProxiedRequesterContext.class);
+
prc.getRequesters().addAll(Arrays.asList("foo", "bar"));
@@ -79,8 +79,7 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
filterContext.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- final ProxiedRequesterContext prc = filterContext.getSubcontext(ProxiedRequesterContext.class, true);
- assert prc != null;
+ final ProxiedRequesterContext prc = filterContext.getOrCreateSubcontext(ProxiedRequesterContext.class);
prc.getRequesters().addAll(Arrays.asList("foo", "bar"));
filterContext.setPrefilteredIdPAttributes(epaUid.values());
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/testing/BaseAttributeFilterParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/testing/BaseAttributeFilterParserTest.java
index d7e2f13c8..0b2d67cf2 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/testing/BaseAttributeFilterParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/testing/BaseAttributeFilterParserTest.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
import org.opensaml.saml.ext.saml2mdattr.EntityAttributes;
@@ -102,7 +101,7 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
connector.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
return Constraint.isNotNull(connector.resolve(context), "Attributes were null");
}
diff --git a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
index 4899e13d1..83bc2e468 100644
--- a/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
+++ b/shib-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPlugin.java
@@ -189,7 +189,7 @@ public abstract class AbstractResolverPlugin<ResolvedType> extends AbstractIdent
}
final AttributeResolverWorkContext workContext =
- resolutionContext.getSubcontext(AttributeResolverWorkContext.class, false);
+ resolutionContext.getSubcontext(AttributeResolverWorkContext.class);
try {
if (workContext == null) {
throw new ResolutionException("AttributeResolverWorkContext cannot be null");
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractAttributeDefinitionTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractAttributeDefinitionTest.java
index bede14389..9cb803a1a 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractAttributeDefinitionTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractAttributeDefinitionTest.java
@@ -17,21 +17,21 @@
package net.shibboleth.idp.attribute.resolver;
-import java.util.Collections;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
/**
* Unit test for {@link AttributeDefinition}. This test does not test any methods inherited from
* {@link ResolverPlugin}, those are covered in {@link AbstractResolverPluginTest}.
@@ -78,7 +78,7 @@ public class AbstractAttributeDefinitionTest {
@Test
public void resolve() throws Exception {
AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
MockAttributeDefinition definition = new MockAttributeDefinition("foo", (IdPAttribute) null);
definition.initialize();
@@ -97,9 +97,9 @@ public class AbstractAttributeDefinitionTest {
MockAttributeDefinition definition = new MockAttributeDefinition("foo", null);
final ResolverDataConnectorDependency dc = new ResolverDataConnectorDependency("dc");
- dc.setAttributeNames(Collections.singletonList("da"));
- definition.setDataConnectorDependencies(Collections.singleton(dc));
- definition.setAttributeDependencies(Collections.singleton(new ResolverAttributeDefinitionDependency("ad")));
+ dc.setAttributeNames(CollectionSupport.singletonList("da"));
+ definition.setDataConnectorDependencies(CollectionSupport.singleton(dc));
+ definition.setAttributeDependencies(CollectionSupport.singleton(new ResolverAttributeDefinitionDependency("ad")));
definition.initialize();
final Set<ResolverDataConnectorDependency> dDepends = definition.getDataConnectorDependencies();
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
index 6d800f173..5648699ff 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnectorTest.java
@@ -24,7 +24,6 @@ import static org.testng.Assert.assertTrue;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -36,6 +35,7 @@ import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.IdPAttribute;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Unit test for {@link DataConnector}. This test does not test any methods inherited from
@@ -72,7 +72,7 @@ public class AbstractDataConnectorTest {
*/
@Test public void resolve() throws Exception {
AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
MockBaseDataConnector connector = new MockBaseDataConnector("foo", (Map<String, IdPAttribute>) null);
connector.initialize();
@@ -98,7 +98,7 @@ public class AbstractDataConnectorTest {
@Test public void testExports() {
final AbstractDataConnector connector = new MockBaseDataConnector("foo", null);
assertTrue(connector.getExportAttributes().isEmpty());
- connector.setExportAttributes(List.of("bar", "foo", "bar", "foo"));
+ connector.setExportAttributes(CollectionSupport.listOf("bar", "foo", "bar", "foo"));
assertEquals(connector.getExportAttributes().size(), 2);
}
@@ -117,7 +117,7 @@ public class AbstractDataConnectorTest {
* @param id id of the data connector
* @param values values returned for {@link #resolve(AttributeResolutionContext)}
*/
- public MockBaseDataConnector(final String id, final Map<String, IdPAttribute> values) {
+ public MockBaseDataConnector(@Nonnull final String id, final Map<String, IdPAttribute> values) {
setId(id);
staticValues = values;
}
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
index 2ccf86aff..55c9a79a2 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AbstractResolverPluginTest.java
@@ -17,24 +17,25 @@
package net.shibboleth.idp.attribute.resolver;
-import java.util.Collections;
import java.util.HashSet;
import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.shibboleth.idp.attribute.IdPAttribute;
-import net.shibboleth.idp.attribute.StringAttributeValue;
-import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
-import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.google.common.base.Predicates;
+import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.StringAttributeValue;
+import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
+import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.shared.collection.CollectionSupport;
+import net.shibboleth.shared.logic.PredicateSupport;
+
/** Unit test for {@link ResolverPlugin}. */
@SuppressWarnings("javadoc")
public class AbstractResolverPluginTest {
@@ -56,7 +57,7 @@ public class AbstractResolverPluginTest {
@Test public void activationCriteria() {
final MockBaseAttributeResolver plugin = new MockBaseAttributeResolver(" foo ", "bar");
- plugin.setActivationCondition(Predicates.alwaysFalse());
+ plugin.setActivationCondition(PredicateSupport.alwaysFalse());
Assert.assertEquals(plugin.getActivationCondition(), Predicates.alwaysFalse());
}
@@ -141,7 +142,7 @@ public class AbstractResolverPluginTest {
*/
@Test public void resolver() throws Exception {
AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
MockBaseAttributeResolver plugin = new MockBaseAttributeResolver("foo", "bar");
plugin.initialize();
@@ -151,7 +152,7 @@ public class AbstractResolverPluginTest {
context = new AttributeResolutionContext();
plugin = new MockBaseAttributeResolver(" foo ", "bar");
- plugin.setActivationCondition(Predicates.<ProfileRequestContext> alwaysFalse());
+ plugin.setActivationCondition(PredicateSupport.<ProfileRequestContext> alwaysFalse());
plugin.initialize();
Assert.assertNull(plugin.resolve(context));
@@ -172,10 +173,10 @@ public class AbstractResolverPluginTest {
* @param id id of this plugin
* @param value value returned by resolution
*/
- public MockBaseAttributeResolver(String id, String value) {
+ public MockBaseAttributeResolver(@Nonnull String id, @Nonnull String value) {
resolverValue = new IdPAttribute(id);
setId(id);
- resolverValue.setValues(Collections.singletonList(new StringAttributeValue(value)));
+ resolverValue.setValues(CollectionSupport.singletonList(new StringAttributeValue(value)));
}
/** {@inheritDoc} */
@@ -185,8 +186,8 @@ public class AbstractResolverPluginTest {
}
/** {@inheritDoc} */
- protected IdPAttribute doAttributeDefinitionResolve(AttributeResolutionContext resolutionContext,
- AttributeResolverWorkContext workContext) throws ResolutionException {
+ protected IdPAttribute doAttributeDefinitionResolve(@Nonnull AttributeResolutionContext resolutionContext,
+ @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException {
return resolverValue;
}
}
diff --git a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
index 967aa5386..576e09b90 100644
--- a/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
+++ b/shib-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolutionLookupTest.java
@@ -36,7 +36,7 @@ public class AttributeResolutionLookupTest {
@Test public void apply() {
final ProfileRequestContext pfc = new ProfileRequestContext();
- final AttributeResolutionContext arc = pfc.getSubcontext(AttributeResolutionContext.class, true);
+ final AttributeResolutionContext arc = pfc.getOrCreateSubcontext(AttributeResolutionContext.class);
assert arc != null;
arc.setAttributeIssuerID("child");
@@ -46,7 +46,7 @@ public class AttributeResolutionLookupTest {
@Test public void applyParent() {
final AttributeResolutionContext parent = new AttributeResolutionContext();
- final ProfileRequestContext pfc = parent.getSubcontext(ProfileRequestContext.class, true);
+ final ProfileRequestContext pfc = parent.getOrCreateSubcontext(ProfileRequestContext.class);
parent.setAttributeIssuerID("parent");
final TestClass what = new TestClass();
diff --git a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
index 80ccb8056..8e969ed8f 100644
--- a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
+++ b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
@@ -191,8 +191,7 @@ public class AttributeResolverImpl extends AbstractIdentifiableInitializableComp
Constraint.isNotNull(resolutionContext, "Attribute resolution context cannot be null");
final AttributeResolverWorkContext workContext =
- resolutionContext.getSubcontext(AttributeResolverWorkContext.class, true);
- assert workContext != null;
+ resolutionContext.getOrCreateSubcontext(AttributeResolverWorkContext.class);
AttributeContext attributeContext = null;
final boolean timerStarted = startTimer(resolutionContext);
@@ -207,14 +206,16 @@ public class AttributeResolverImpl extends AbstractIdentifiableInitializableComp
}
finalizePreResolvedAttributes(resolutionContext);
}
- attributeContext = resolutionContext.getSubcontext(AttributeContext.class, true);
+ attributeContext = resolutionContext.getOrCreateSubcontext(AttributeContext.class);
boolean hasExportingDataConnector = false;
for (final Entry<String, DataConnector> dataConnectorEntry : dataConnectors.entrySet()) {
if (!dataConnectorEntry.getValue().getExportAttributes().isEmpty()) {
hasExportingDataConnector = true;
- resolveDataConnector(dataConnectorEntry.getKey(), resolutionContext);
+ final String key = dataConnectorEntry.getKey();
+ assert key!=null;
+ resolveDataConnector(key, resolutionContext);
}
}
@@ -228,6 +229,7 @@ public class AttributeResolverImpl extends AbstractIdentifiableInitializableComp
log.debug("{} Attempting to resolve the following attribute definitions {}", logPrefix, attributeIds);
for (final String attributeId : attributeIds) {
+ assert attributeId!=null;
resolveAttributeDefinition(attributeId, resolutionContext);
}
@@ -606,8 +608,7 @@ public class AttributeResolverImpl extends AbstractIdentifiableInitializableComp
return;
}
- final AttributeContext context = resolutionContext.getSubcontext(AttributeContext.class, true);
- assert context != null;
+ final AttributeContext context = resolutionContext.getOrCreateSubcontext(AttributeContext.class);
log.debug("Pre-resolved Attributes: {}", resolvedAttributes.keySet());
context.setIdPAttributes(resolvedAttributes.values());
context.setUnfilteredIdPAttributes(resolvedAttributes.values());
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DateTimeAttributeDefinitionTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DateTimeAttributeDefinitionTest.java
index c39122f2a..29e7db4d7 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DateTimeAttributeDefinitionTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DateTimeAttributeDefinitionTest.java
@@ -73,11 +73,11 @@ public class DateTimeAttributeDefinitionTest {
} catch (final ComponentInitializationException e) {
//OK
}
- simple.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ simple.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
simple.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final IdPAttribute result = simple.resolve(context);
assert result != null;
@@ -98,8 +98,8 @@ public class DateTimeAttributeDefinitionTest {
private void errors(boolean ignore) throws ComponentInitializationException, ResolutionException {
final AbstractAttributeDefinition sa = new AbstractAttributeDefinition() {
- protected IdPAttribute doAttributeDefinitionResolve(AttributeResolutionContext resolutionContext,
- AttributeResolverWorkContext workContext) throws ResolutionException {
+ protected IdPAttribute doAttributeDefinitionResolve(@Nonnull AttributeResolutionContext resolutionContext,
+ @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException {
final IdPAttribute result = new IdPAttribute(TEST_ATTRIBUTE_NAME+"in");
result.setValues(List.of(EmptyAttributeValue.NULL, EmptyAttributeValue.ZERO_LENGTH, new StringAttributeValue(STRING_SECS)));
return result;
@@ -110,7 +110,7 @@ public class DateTimeAttributeDefinitionTest {
final DateTimeAttributeDefinition datetime = new DateTimeAttributeDefinition();
datetime.setId(TEST_ATTRIBUTE_NAME);
- datetime.setAttributeDependencies(Set.of(TestSources.makeAttributeDefinitionDependency(TEST_ATTRIBUTE_NAME+"in")));
+ datetime.setAttributeDependencies(CollectionSupport.setOf(TestSources.makeAttributeDefinitionDependency(TEST_ATTRIBUTE_NAME+"in")));
datetime.setIgnoreConversionErrors(ignore);
datetime.initialize();
@@ -118,7 +118,7 @@ public class DateTimeAttributeDefinitionTest {
resolver.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
try {
resolver.resolveAttributes(context);
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
index 6dbab1134..f0cbf79ef 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
@@ -117,7 +117,7 @@ public class DecryptedAttributeTest {
decrypted.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final IdPAttribute result = decrypted.resolve(context);
assert result != null;
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
index 09cdba10a..7f3aa0ce0 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/LogicTest.java
@@ -30,6 +30,7 @@ import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.logic.AttributeIssuerIdPredicate;
import net.shibboleth.idp.attribute.resolver.logic.AttributePrincipalPredicate;
import net.shibboleth.idp.attribute.resolver.logic.AttributeRecipientIdPredicate;
+import net.shibboleth.shared.collection.CollectionSupport;
/**
* Test for {@link AttributeIssuerIdPredicate}, {@link AttributePrincipalPredicate} and {@link AttributeRecipientIdPredicate}.
@@ -37,9 +38,9 @@ import net.shibboleth.idp.attribute.resolver.logic.AttributeRecipientIdPredicate
@SuppressWarnings("javadoc")
public class LogicTest {
- final private AttributeIssuerIdPredicate aiip = new AttributeIssuerIdPredicate(Collections.singleton("AII"));
+ final private AttributeIssuerIdPredicate aiip = new AttributeIssuerIdPredicate(CollectionSupport.singleton("AII"));
final private AttributePrincipalPredicate app = new AttributePrincipalPredicate(Lists.newArrayList("AP", "Principal"));
- final private AttributeRecipientIdPredicate arip = new AttributeRecipientIdPredicate(Collections.singleton("ARI"));
+ final private AttributeRecipientIdPredicate arip = new AttributeRecipientIdPredicate(CollectionSupport.singleton("ARI"));
@Test public void empty() {
@@ -49,7 +50,7 @@ public class LogicTest {
assertFalse(app.test(pfc));
assertFalse(arip.test(pfc));
- pfc.getSubcontext(AttributeResolutionContext.class, true);
+ pfc.getOrCreateSubcontext(AttributeResolutionContext.class);
assertFalse(aiip.test(pfc));
assertFalse(app.test(pfc));
assertFalse(arip.test(pfc));
@@ -57,7 +58,7 @@ public class LogicTest {
@Test public void wrong() {
final ProfileRequestContext pfc = new ProfileRequestContext();
- final AttributeResolutionContext arc = pfc.getSubcontext(AttributeResolutionContext.class, true);
+ final AttributeResolutionContext arc = pfc.getOrCreateSubcontext(AttributeResolutionContext.class);
assert arc != null;
arc.setAttributeIssuerID("badValue");
@@ -71,7 +72,7 @@ public class LogicTest {
@Test public void correct() {
final ProfileRequestContext pfc = new ProfileRequestContext();
- final AttributeResolutionContext arc = pfc.getSubcontext(AttributeResolutionContext.class, true);
+ final AttributeResolutionContext arc = pfc.getOrCreateSubcontext(AttributeResolutionContext.class);
assert arc != null;
arc.setAttributeIssuerID("AII");
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrincipalNameAttributeDefinitionTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrincipalNameAttributeDefinitionTest.java
index c25f95410..45dfae460 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrincipalNameAttributeDefinitionTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrincipalNameAttributeDefinitionTest.java
@@ -41,7 +41,7 @@ public class PrincipalNameAttributeDefinitionTest {
defn.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
try {
defn.resolve(context);
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
index ead114b0f..fbee8d4f7 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
@@ -27,6 +27,8 @@ import java.util.Collections;
import java.util.List;
import java.util.Set;
+import javax.annotation.Nonnull;
+
import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.EmptyAttributeValue;
@@ -72,11 +74,11 @@ public class SimpleAttributeTest {
} catch (final ComponentInitializationException e) {
//OK
}
- simple.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ simple.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
simple.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final IdPAttribute result = simple.resolve(context);
assert result != null;
@@ -91,8 +93,8 @@ public class SimpleAttributeTest {
private void nulls(boolean strip) throws ComponentInitializationException, ResolutionException {
final AbstractAttributeDefinition sa = new AbstractAttributeDefinition() {
- protected IdPAttribute doAttributeDefinitionResolve(AttributeResolutionContext resolutionContext,
- AttributeResolverWorkContext workContext) throws ResolutionException {
+ protected IdPAttribute doAttributeDefinitionResolve(@Nonnull AttributeResolutionContext resolutionContext,
+ @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException {
final IdPAttribute result = new IdPAttribute(TEST_ATTRIBUTE_NAME+"in");
result.setValues(List.of(EmptyAttributeValue.NULL, EmptyAttributeValue.ZERO_LENGTH, new StringAttributeValue("foo")));
return result;
@@ -103,7 +105,7 @@ public class SimpleAttributeTest {
final SimpleAttributeDefinition simple = new SimpleAttributeDefinition();
simple.setId(TEST_ATTRIBUTE_NAME);
- simple.setAttributeDependencies(Set.of(TestSources.makeAttributeDefinitionDependency(TEST_ATTRIBUTE_NAME+"in")));
+ simple.setAttributeDependencies(CollectionSupport.setOf(TestSources.makeAttributeDefinitionDependency(TEST_ATTRIBUTE_NAME+"in")));
simple.setStripNulls(strip);
simple.initialize();
@@ -111,7 +113,7 @@ public class SimpleAttributeTest {
resolver.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
resolver.resolveAttributes(context);
final IdPAttribute result = context.getResolvedIdPAttributes().get(TEST_ATTRIBUTE_NAME);
@@ -223,7 +225,7 @@ public class SimpleAttributeTest {
final SimpleAttributeDefinition simple = new SimpleAttributeDefinition();
simple.setId(TEST_ATTRIBUTE_NAME);
- simple.setDataConnectorDependencies(Collections.singleton(depend));
+ simple.setDataConnectorDependencies(CollectionSupport.singleton(depend));
simple.initialize();
final IdPAttribute result = simple.resolve(resolutionContext);
@@ -248,9 +250,9 @@ public class SimpleAttributeTest {
final SimpleAttributeDefinition simple = new SimpleAttributeDefinition();
simple.setId(TEST_ATTRIBUTE_NAME);
- simple.setAttributeDependencies(Collections.singleton(
+ simple.setAttributeDependencies(CollectionSupport.singleton(
TestSources.makeAttributeDefinitionDependency(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR)));
- simple.setDataConnectorDependencies(Collections.singleton(
+ simple.setDataConnectorDependencies(CollectionSupport.singleton(
TestSources.makeDataConnectorDependency(TestSources.STATIC_CONNECTOR_NAME,
TestSources.DEPENDS_ON_ATTRIBUTE_NAME_CONNECTOR)));
simple.initialize();
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/StaticAttributeDefinitionTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/StaticAttributeDefinitionTest.java
index 4f6269819..806ee60a4 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/StaticAttributeDefinitionTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/StaticAttributeDefinitionTest.java
@@ -75,7 +75,7 @@ public class StaticAttributeDefinitionTest {
assertNotNull(attrDef.getValue());
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
IdPAttribute result = attrDef.resolve(context);
assert result != null;
assertEquals(result.getId(), "attribute");
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
index d1138556c..bf203f95d 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/TemplateAttributeTest.java
@@ -17,7 +17,11 @@
package net.shibboleth.idp.attribute.resolver.ad.impl;
-import static org.testng.Assert.*;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
import java.util.ArrayList;
import java.util.Collection;
@@ -44,6 +48,7 @@ import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContex
import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
import net.shibboleth.idp.attribute.resolver.testing.TestSources;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.collection.LazySet;
import net.shibboleth.shared.component.ComponentInitializationException;
@@ -93,6 +98,7 @@ public class TemplateAttributeTest {
fail("couldn't create engine", e);
}
}
+ assert engineSingleton!=null;
return engineSingleton;
}
@@ -108,7 +114,7 @@ public class TemplateAttributeTest {
TemplateAttributeDefinition attr = new TemplateAttributeDefinition();
attr.setId(name);
assertNull(attr.getTemplate());
- attr.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ attr.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
try {
attr.initialize();
fail("No template");
@@ -120,7 +126,7 @@ public class TemplateAttributeTest {
assertNull(attr.getTemplateText());
attr.setTemplateText(TEST_ATTRIBUTES_TEMPLATE_ATTR);
assertNull(attr.getVelocityEngine());
- attr.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ attr.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
try {
attr.initialize();
fail("engine");
@@ -140,12 +146,12 @@ public class TemplateAttributeTest {
}
assertNotNull(attr.getTemplateText());
- attr.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ attr.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
attr.initialize();
assertNotNull(attr.getTemplate());
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final IdPAttribute val = attr.resolve(context);
assert val != null;
final Collection<?> results = val.getValues();
@@ -156,7 +162,7 @@ public class TemplateAttributeTest {
attr.setId(name);
attr.setVelocityEngine(getEngine());
attr.setTemplateText(TEST_ATTRIBUTES_TEMPLATE_ATTR);
- attr.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
+ attr.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", "bar")));
attr.initialize();
assertNotNull(attr.getTemplate());
@@ -169,7 +175,7 @@ public class TemplateAttributeTest {
attr = new TemplateAttributeDefinition();
attr.setId(name);
attr.setVelocityEngine(getEngine());
- attr.setDataConnectorDependencies(Collections.singleton(TestSources.makeDataConnectorDependency("foo", TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR)));
+ attr.setDataConnectorDependencies(CollectionSupport.singleton(TestSources.makeDataConnectorDependency("foo", TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR)));
try {
attr.initialize();
fail("No Text or attributes");
@@ -241,7 +247,7 @@ public class TemplateAttributeTest {
ds.add(TestSources.makeAttributeDefinitionDependency(TestSources.DEPENDS_ON_ATTRIBUTE_NAME_ATTR));
templateDef.setAttributeDependencies(ds);
- templateDef.setDataConnectorDependencies(Collections.singleton(
+ templateDef.setDataConnectorDependencies(CollectionSupport.singleton(
TestSources.makeDataConnectorDependency(TestSources.STATIC_CONNECTOR_NAME,
TestSources.DEPENDS_ON_SECOND_ATTRIBUTE_NAME)));
templateDef.initialize();
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/SAMLAttributeDataConnectorTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/SAMLAttributeDataConnectorTest.java
index ee4e26352..f4d11209a 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/SAMLAttributeDataConnectorTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/SAMLAttributeDataConnectorTest.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.function.Function;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.core.testing.XMLObjectBaseTestCase;
@@ -59,7 +60,7 @@ public class SAMLAttributeDataConnectorTest extends XMLObjectBaseTestCase {
connector.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final Map<String, IdPAttribute> attributes = connector.resolve(context);
assert attributes != null;
assertEquals(attributes.size(), 2);
@@ -79,7 +80,7 @@ public class SAMLAttributeDataConnectorTest extends XMLObjectBaseTestCase {
final EntityAttributes obj;
- public Locator(String path) {
+ public Locator(@Nonnull String path) {
obj = (EntityAttributes) unmarshallElement(path);
}
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
index b294bb013..9b56dcea9 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnectorTest.java
@@ -62,9 +62,8 @@ public class ScriptedDataConnectorTest {
connector.initialize();
- final AttributeResolutionContext context = new ProfileRequestContext().getSubcontext(AttributeResolutionContext.class, true);
- assert context != null;
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ final AttributeResolutionContext context = new ProfileRequestContext().getOrCreateSubcontext(AttributeResolutionContext.class);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
connector.resolve(context);
}
@@ -82,9 +81,8 @@ public class ScriptedDataConnectorTest {
connector.initialize();
- final AttributeResolutionContext context = new ProfileRequestContext().getSubcontext(AttributeResolutionContext.class, true);
- assert context != null;
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ final AttributeResolutionContext context = new ProfileRequestContext().getOrCreateSubcontext(AttributeResolutionContext.class);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final Map<String, IdPAttribute> result = connector.resolve(context);
assert result != null;
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
index 7159ab3e9..acbd123da 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/StaticDataConnectorTest.java
@@ -76,7 +76,7 @@ public class StaticDataConnectorTest {
assertEquals(connector.getAttributes().size(), 2);
final AttributeResolutionContext context = new AttributeResolutionContext();
- context.getSubcontext(AttributeResolverWorkContext.class, true);
+ context.getOrCreateSubcontext(AttributeResolverWorkContext.class);
final Map<String, IdPAttribute> result = connector.resolve(context);
assert result != null;
diff --git a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
index 51e5c7505..81ac9d201 100644
--- a/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
+++ b/shib-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolutionContextTest.java
@@ -103,7 +103,7 @@ public class AttributeResolutionContextTest {
@Test public void lookupsParent() {
final ProfileRequestContext profileCtx = new ProfileRequestContext();
- final AttributeResolutionContext context = profileCtx.getSubcontext(AttributeResolutionContext.class, true);
+ final AttributeResolutionContext context = profileCtx.getOrCreateSubcontext(AttributeResolutionContext.class);
assert context != null;
context.setPrincipal(THE_PRINCIPAL);
@@ -125,7 +125,7 @@ public class AttributeResolutionContextTest {
@Test public void lookupsChild() {
final AttributeResolutionContext context = new AttributeResolutionContext();
- final ProfileRequestContext profileCtx = context.getSubcontext(ProfileRequestContext.class, true);
+ final ProfileRequestContext profileCtx = context.getOrCreateSubcontext(ProfileRequestContext.class);
context.setPrincipal(THE_PRINCIPAL);
context.setAttributeIssuerID(THE_ISSUER);
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/AttributeResolverTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/AttributeResolverTest.java
index 0b33d50ba..7f71eb982 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/AttributeResolverTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/AttributeResolverTest.java
@@ -433,14 +433,14 @@ public class AttributeResolverTest extends OpenSAMLInitBaseTestCase {
resolutionContext = TestSources.createResolutionContext("PETER", "issuer", "recipient");
resolutionContext.setProfileRequestContextLookupStrategy(new ChildContextLookup<>(ProfileRequestContext.class));
// add a child so we can navigate via that
- resolutionContext.getSubcontext(ProfileRequestContext.class, true);
+ resolutionContext.getOrCreateSubcontext(ProfileRequestContext.class);
resolver.resolveAttributes(resolutionContext);
assertEquals(resolutionContext.getResolvedIdPAttributes().size(), 1);
assertNotNull(resolutionContext.getResolvedIdPAttributes().get("EPA1"));
resolutionContext = TestSources.createResolutionContext("PRINCIPAL", "ISSUER", "recipient");
resolutionContext.setProfileRequestContextLookupStrategy(new ChildContextLookup<>(ProfileRequestContext.class));
- resolutionContext.getSubcontext(ProfileRequestContext.class, true);
+ resolutionContext.getOrCreateSubcontext(ProfileRequestContext.class);
resolver.resolveAttributes(resolutionContext);
assertEquals(resolutionContext.getResolvedIdPAttributes().size(), 1);
assertNotNull(resolutionContext.getResolvedIdPAttributes().get("EPE"));
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeParserTest.java
index 6b4008276..b8c0ae364 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/ScriptedAttributeParserTest.java
@@ -78,7 +78,7 @@ public class ScriptedAttributeParserTest extends BaseAttributeDefinitionParserTe
try {
final ScriptedAttributeDefinition attrdef = getAttributeDefn("resolver/scriptedAttributeBad.xml", ScriptedAttributeDefinition.class);
AttributeResolutionContext arc = new AttributeResolutionContext();
- arc.getSubcontext(AttributeResolverWorkContext.class, true);
+ arc.getOrCreateSubcontext(AttributeResolverWorkContext.class);
attrdef.resolve(arc);
fail("Bad script worked?");
} catch (BeanDefinitionStoreException | BeanCreationException | ResolutionException e) {
diff --git a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/SimpleAttributeParserTest.java b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/SimpleAttributeParserTest.java
index 6e7634613..c1d00f1fc 100644
--- a/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/SimpleAttributeParserTest.java
+++ b/shib-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/ad/impl/SimpleAttributeParserTest.java
@@ -128,8 +128,7 @@ public class SimpleAttributeParserTest extends BaseAttributeDefinitionParserTest
final ResolutionLabelPredicate pre = (ResolutionLabelPredicate) attr.getActivationCondition();
assert pre != null;
final ProfileRequestContext prc = new ProfileRequestContext();
- final AttributeResolutionContext resContext = prc.getSubcontext(AttributeResolutionContext.class, true);
- assert resContext != null;
+ final AttributeResolutionContext resContext = prc.getOrCreateSubcontext(AttributeResolutionContext.class);
resContext.setResolutionLabel("p1");
assertTrue(pre.test(prc));
resContext.setResolutionLabel("p2 p3");
@@ -157,8 +156,7 @@ public class SimpleAttributeParserTest extends BaseAttributeDefinitionParserTest
final Predicate<ProfileRequestContext> pre = attr.getActivationCondition();
assert pre != null;
final ProfileRequestContext prc = new ProfileRequestContext();
- final AttributeResolutionContext resContext = prc.getSubcontext(AttributeResolutionContext.class, true);
- assert resContext != null;
+ final AttributeResolutionContext resContext = prc.getOrCreateSubcontext(AttributeResolutionContext.class);
resContext.setResolutionLabel("p1");
assertFalse(pre.test(prc));
resContext.setResolutionLabel("p2 p3");
@@ -186,8 +184,7 @@ public class SimpleAttributeParserTest extends BaseAttributeDefinitionParserTest
final Predicate<ProfileRequestContext> pre = attr.getActivationCondition();
assert pre != null;
final ProfileRequestContext prc = new ProfileRequestContext();
- final AttributeResolutionContext resContext = prc.getSubcontext(AttributeResolutionContext.class, true);
- assert resContext != null;
+ final AttributeResolutionContext resContext = prc.getOrCreateSubcontext(AttributeResolutionContext.class);
resContext.setResolutionLabel("p1");
assertTrue(pre.test(prc));
diff --git a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
index 0432cd13e..f573d547e 100644
--- a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
+++ b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
@@ -71,7 +71,7 @@ public class ResolverTestSupport {
@Nonnull public static AttributeResolutionContext buildResolutionContext(final ResolverPlugin<?>... plugins) {
final AttributeResolutionContext resolutionContext = new AttributeResolutionContext();
final AttributeResolverWorkContext workContext =
- resolutionContext.getSubcontext(AttributeResolverWorkContext.class, true);
+ resolutionContext.getOrCreateSubcontext(AttributeResolverWorkContext.class);
assert workContext != null;
diff --git a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/TestSources.java b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/TestSources.java
index 4b55a742e..c46e0792f 100644
--- a/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/TestSources.java
+++ b/shib-attribute-testing/src/main/java/net/shibboleth/idp/attribute/resolver/testing/TestSources.java
@@ -157,7 +157,7 @@ public final class TestSources {
attributeSet.add(attr);
attr = new IdPAttribute(DEPENDS_ON_SECOND_ATTRIBUTE_NAME);
- attr.setValues(List.of(new StringAttributeValue(SECOND_ATTRIBUTE_VALUE_STRINGS[0]),
+ attr.setValues(CollectionSupport.listOf(new StringAttributeValue(SECOND_ATTRIBUTE_VALUE_STRINGS[0]),
new StringAttributeValue(SECOND_ATTRIBUTE_VALUE_STRINGS[1])));
attributeSet.add(attr);
@@ -180,7 +180,7 @@ public final class TestSources {
* @return the definition
* @throws ComponentInitializationException if intialization fails
*/
- @Nonnull public static AttributeDefinition populatedStaticAttribute(String attributeName,
+ @Nonnull public static AttributeDefinition populatedStaticAttribute(@Nonnull String attributeName,
int attributeValuesCount) throws ComponentInitializationException {
final List<IdPAttributeValue> valuesList = new ArrayList<>();
@@ -226,14 +226,14 @@ public final class TestSources {
@Nonnull public static AttributeResolutionContext createResolutionContext(String principal, String issuerID,
String recipientId) {
final ProfileRequestContext parent = new ProfileRequestContext();
- final AttributeResolutionContext retVal = parent.getSubcontext(AttributeResolutionContext.class, true);
+ final AttributeResolutionContext retVal = parent.getOrCreateSubcontext(AttributeResolutionContext.class);
assert retVal != null;
retVal.setAttributeIssuerID(issuerID);
retVal.setAttributeRecipientID(recipientId);
retVal.setPrincipal(principal);
- retVal.getSubcontext(AttributeResolverWorkContext.class, true);
+ retVal.getOrCreateSubcontext(AttributeResolverWorkContext.class);
return retVal;
}
@@ -241,7 +241,7 @@ public final class TestSources {
* @param attributeId what to depend on
* @return the dependency
*/
- @Nonnull public static ResolverAttributeDefinitionDependency makeAttributeDefinitionDependency(String attributeId) {
+ @Nonnull public static ResolverAttributeDefinitionDependency makeAttributeDefinitionDependency(@Nonnull String attributeId) {
return new ResolverAttributeDefinitionDependency(attributeId);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list