[java-shib-attribute] branch main updated: Fix null and annotation issues.
Scott Cantor
cantor.2 at osu.edu
Thu Nov 17 21:34:05 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor 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=ae3e325e203b3ddedf08197d22a91d465913f358
The following commit(s) were added to refs/heads/main by this push:
new ae3e325e2 Fix null and annotation issues.
ae3e325e2 is described below
commit ae3e325e203b3ddedf08197d22a91d465913f358
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Nov 17 16:34:02 2022 -0500
Fix null and annotation issues.
---
.../attribute/filter/spring/BaseFilterParser.java | 30 ++++++------
.../filter/spring/basic/impl/AndMatcherParser.java | 4 +-
.../filter/spring/basic/impl/AnyParser.java | 2 +-
.../filter/spring/basic/impl/NotMatcherParser.java | 4 +-
.../filter/spring/basic/impl/OrMatcherParser.java | 4 +-
.../spring/basic/impl/ScriptedMatcherParser.java | 13 +++---
.../impl/AttributeFilterPolicyGroupParser.java | 14 ++++--
.../spring/impl/AttributeFilterPolicyParser.java | 18 +++++---
.../impl/AttributeFilterServiceStrategy.java | 7 ++-
.../filter/spring/impl/AttributeRuleParser.java | 14 +++---
.../matcher/BaseAttributeValueMatcherParser.java | 2 +-
.../matcher/impl/AttributeScopeMatcherParser.java | 3 +-
.../impl/AttributeScopeRegexMatcherParser.java | 2 +-
.../impl/AttributeValueRegexMatcherParser.java | 2 +-
.../impl/AttributeValueStringMatcherParser.java | 2 +-
.../spring/policyrule/BasePolicyRuleParser.java | 5 +-
.../impl/AttributeRequesterRegexRuleParser.java | 2 +-
.../impl/AttributeRequesterRuleParser.java | 2 +-
.../spring/policyrule/impl/InboundRuleParser.java | 2 +-
.../impl/NumOfAttributeValuesRuleParser.java | 2 +-
.../spring/policyrule/impl/OutboundRuleParser.java | 2 +-
.../policyrule/impl/PredicateRuleParser.java | 9 ++--
.../impl/PrincipalNameRegexRuleParser.java | 2 +-
.../policyrule/impl/PrincipalNameRuleParser.java | 2 +-
.../spring/policyrule/impl/ProfileRuleParser.java | 2 +-
.../saml/impl/AttributeInMetadataRuleParser.java | 2 +-
.../saml/impl/IssuerInEntityGroupRuleParser.java | 2 +-
.../saml/impl/IssuerNameIDFormatRuleParser.java | 2 +-
.../IssuerRegistrationAuthorityRuleParser.java | 2 +-
.../impl/MappedAttributeInMetadataRuleParser.java | 2 +-
.../ProxiedRequesterInEntityGroupRuleParser.java | 3 +-
...edRequesterRegistrationAuthorityRuleParser.java | 2 +-
.../impl/RequesterInEntityGroupRuleParser.java | 2 +-
.../saml/impl/RequesterNameIDFormatRuleParser.java | 2 +-
.../RequesterRegistrationAuthorityRuleParser.java | 2 +-
.../saml/impl/ScopeMatchesShibMDScopeParser.java | 8 ++--
.../saml/impl/ValueMatchesShibMDScopeParser.java | 6 +--
.../filter/spring/AttributeFilterFailFastTest.java | 10 ++--
.../filter/spring/basic/ScriptedTest.java | 15 ++++--
.../matcher/AttributeValueMatcherParserTest.java | 11 ++++-
.../policy/AttributeRequesterRuleParserTest.java | 2 +
.../filter/spring/policy/DataSources.java | 53 +++++++++++----------
.../policy/ProxiedRequesterRuleParserTest.java | 24 ++++++----
.../saml/AttributeInMetadataRuleParserTest.java | 3 +-
.../MappedAttributeInMetadataRuleParserTest.java | 3 +-
.../testing/BaseAttributeFilterParserTest.java | 54 ++++++++++++++--------
46 files changed, 215 insertions(+), 146 deletions(-)
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java
index a2aa57d09..73d3f1869 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/BaseFilterParser.java
@@ -56,31 +56,31 @@ import net.shibboleth.shared.xml.ElementSupport;
public abstract class BaseFilterParser extends AbstractCustomBeanDefinitionParser {
/** Namespace The Top level filters. */
- public static final String NAMESPACE = "urn:mace:shibboleth:2.0:afp";
+ @Nonnull @NotEmpty public static final String NAMESPACE = "urn:mace:shibboleth:2.0:afp";
/** Element name. */
- public static final QName AFP_ELEMENT_NAME = new QName(NAMESPACE,
+ @Nonnull public static final QName AFP_ELEMENT_NAME = new QName(NAMESPACE,
"AttributeFilterPolicyGroup");
/** The PolicyRequirementRule QName. */
- public static final QName POLICY_REQUIREMENT_RULE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName POLICY_REQUIREMENT_RULE = new QName(BaseFilterParser.NAMESPACE,
"PolicyRequirementRule");
/** PermitValueRule. */
- public static final QName PERMIT_VALUE_RULE = new QName(NAMESPACE,
+ @Nonnull public static final QName PERMIT_VALUE_RULE = new QName(NAMESPACE,
"PermitValueRule");
/** DenyValueRule. */
- public static final QName DENY_VALUE_RULE = new QName(NAMESPACE, "DenyValueRule");
+ @Nonnull public static final QName DENY_VALUE_RULE = new QName(NAMESPACE, "DenyValueRule");
/** The attribute name for the qualified id.*/
- public static final String QUALIFIED_ID = "qualifiedId";
+ @Nonnull @NotEmpty public static final String QUALIFIED_ID = "qualifiedId";
/** Generator of unique IDs. */
- private static IdentifierGenerationStrategy idGen = IdentifierGenerationStrategy.getInstance(ProviderType.RANDOM);
+ @Nonnull private static IdentifierGenerationStrategy idGen = IdentifierGenerationStrategy.getInstance(ProviderType.RANDOM);
/** Class logger. */
- private static final Logger LOG = LoggerFactory.getLogger(BaseFilterParser.class);
+ @Nonnull private static final Logger LOG = LoggerFactory.getLogger(BaseFilterParser.class);
/**
* Generates an ID for a filter engine component. If the given localId is null a random one will be generated.
@@ -177,7 +177,9 @@ public abstract class BaseFilterParser extends AbstractCustomBeanDefinitionParse
/** {@inheritDoc} */
@Override @Nonnull @NotEmpty protected String resolveId(@Nonnull final Element configElement,
@Nonnull final AbstractBeanDefinition beanDefinition, @Nonnull final ParserContext parserContext) {
- return beanDefinition.getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ return Constraint.isNotNull(
+ beanDefinition.getAttribute(BaseFilterParser.QUALIFIED_ID),
+ BaseFilterParser.QUALIFIED_ID + " was absent").toString();
}
/**
@@ -233,10 +235,12 @@ public abstract class BaseFilterParser extends AbstractCustomBeanDefinitionParse
for (final Element e : elements) {
if (e != null) {
final BeanDefinition def = SpringSupport.parseCustomElement(e, parserContext, parentBuilder, false);
- definitions.add(def);
- final Object name = def.getAttribute(QUALIFIED_ID);
- if (name != null && !beanNames.add(name.toString())) {
- LOG.warn("Duplicate filter element name {} found", name);
+ if (def != null) {
+ definitions.add(def);
+ final Object name = def.getAttribute(QUALIFIED_ID);
+ if (name != null && !beanNames.add(name.toString())) {
+ LOG.warn("Duplicate filter element name {} found", name);
+ }
}
}
}
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
index 5522d596a..2de14bd1e 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AndMatcherParser.java
@@ -42,7 +42,7 @@ import net.shibboleth.shared.xml.ElementSupport;
public class AndMatcherParser extends BaseFilterParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AND");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "AND");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
@@ -57,7 +57,7 @@ public class AndMatcherParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(configElement, parserContext, builder);
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(configElement, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", myId);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
index 52a0a6c7f..1e3dbfabe 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/AnyParser.java
@@ -34,7 +34,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AnyParser extends BaseFilterParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ANY");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ANY");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
index c65da0ebe..4aac4156e 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/NotMatcherParser.java
@@ -38,7 +38,7 @@ import net.shibboleth.shared.xml.ElementSupport;
public class NotMatcherParser extends BaseFilterParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NOT");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NOT");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
@@ -53,7 +53,7 @@ public class NotMatcherParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(configElement, parserContext, builder);
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(configElement, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", myId);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
index 28945ea34..774911245 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/OrMatcherParser.java
@@ -42,7 +42,7 @@ import net.shibboleth.shared.xml.ElementSupport;
public class OrMatcherParser extends BaseFilterParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "OR");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "OR");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
@@ -57,7 +57,7 @@ public class OrMatcherParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(configElement, parserContext, builder);
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(configElement, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", myId);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
index af235b840..4c2e88a10 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/basic/impl/ScriptedMatcherParser.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.attribute.filter.spring.basic.impl;
import java.util.List;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import org.slf4j.Logger;
@@ -42,19 +43,19 @@ import net.shibboleth.shared.xml.ElementSupport;
public class ScriptedMatcherParser extends BaseFilterParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Script");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Script");
/** Script file element name. */
- public static final QName SCRIPT_FILE_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "ScriptFile");
+ @Nonnull public static final QName SCRIPT_FILE_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "ScriptFile");
/** Inline Script element name. */
- public static final QName SCRIPT_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "Script");
+ @Nonnull public static final QName SCRIPT_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "Script");
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(ScriptedMatcherParser.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(ScriptedMatcherParser.class);
/** {@inheritDoc} */
- @Override @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
+ @Override @Nullable protected Class<?> getBeanClass(@Nonnull final Element element) {
if (isPolicyRule(element)) {
return ScriptedPolicyRule.class;
}
@@ -71,7 +72,7 @@ public class ScriptedMatcherParser extends BaseFilterParser {
builder.addAutowiredProperty("scriptContextExtenders");
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(config, builder.getBeanDefinition(), parserContext);
final String logPrefix = new StringBuilder("Scipted Filter '").append(myId).append("' :").toString();
final BeanDefinitionBuilder scriptBuilder =
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyGroupParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyGroupParser.java
index 6bbad7bc4..dd04b97b6 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyGroupParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyGroupParser.java
@@ -20,6 +20,8 @@ package net.shibboleth.idp.attribute.filter.spring.impl;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import org.slf4j.Logger;
@@ -46,22 +48,23 @@ import net.shibboleth.shared.xml.ElementSupport;
*/
public class AttributeFilterPolicyGroupParser implements BeanDefinitionParser {
/** Schema type name. */
- public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE,
"AttributeFilterPolicyGroupType");
/** Local name of the policy requirement element. */
- public static final QName POLICY_REQUIREMENT_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName POLICY_REQUIREMENT_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
"PolicyRequirement");
/** Local name of the value filter element. */
- public static final QName PERMIT_VALUE_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName PERMIT_VALUE_ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
"PermitValue");
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(AttributeFilterPolicyGroupParser.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(AttributeFilterPolicyGroupParser.class);
/** {@inheritDoc} */
- @Override public BeanDefinition parse(final Element config, final ParserContext context) {
+ @Override
+ @Nullable public BeanDefinition parse(@Nonnull final Element config, @Nonnull final ParserContext context) {
final String policyId = StringSupport.trimOrNull(config.getAttributeNS(null, "id"));
@@ -94,4 +97,5 @@ public class AttributeFilterPolicyGroupParser implements BeanDefinitionParser {
SpringSupport.parseCustomElements(children, context);
return null;
}
+
}
\ No newline at end of file
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyParser.java
index 6216321b2..d92bb7eb3 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterPolicyParser.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.attribute.filter.spring.impl;
import java.util.List;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import org.slf4j.Logger;
@@ -40,22 +41,22 @@ import net.shibboleth.shared.xml.ElementSupport;
public class AttributeFilterPolicyParser extends BaseFilterParser {
/** Element name. */
- public static final QName ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE,
"AttributeFilterPolicy");
/** Schema type name. */
- public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE,
"AttributeFilterPolicyType");
/** The AttributeRule QName. */
- private static final QName ATTRIBUTE_RULE = new QName(BaseFilterParser.NAMESPACE, "AttributeRule");
+ @Nonnull private static final QName ATTRIBUTE_RULE = new QName(BaseFilterParser.NAMESPACE, "AttributeRule");
/** Class logger. */
- private Logger log = LoggerFactory.getLogger(AttributeFilterPolicyParser.class);
+ @Nonnull private Logger log = LoggerFactory.getLogger(AttributeFilterPolicyParser.class);
/** {@inheritDoc} */
@Override
- protected Class<?> getBeanClass(final Element arg0) {
+ @Nullable protected Class<?> getBeanClass(@Nonnull final Element arg0) {
return AttributeFilterPolicy.class;
}
@@ -66,7 +67,7 @@ public class AttributeFilterPolicyParser extends BaseFilterParser {
String policyId = StringSupport.trimOrNull(config.getAttributeNS(null, "id"));
if (null == policyId) {
- policyId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ policyId = resolveId(config, builder.getBeanDefinition(), parserContext);
}
log.debug("Parsing configuration for attribute filter policy: {}", policyId);
builder.addConstructorArgValue(policyId);
@@ -77,7 +78,9 @@ public class AttributeFilterPolicyParser extends BaseFilterParser {
if (policyRequirements != null && policyRequirements.size() > 0) {
final ManagedList<BeanDefinition> requirements =
BaseFilterParser.parseCustomElements(policyRequirements, parserContext, builder);
- builder.addConstructorArgValue(requirements.get(0));
+ if (requirements != null) {
+ builder.addConstructorArgValue(requirements.get(0));
+ }
}
final List<Element> rules = ElementSupport.getChildElements(config, ATTRIBUTE_RULE);
@@ -86,4 +89,5 @@ public class AttributeFilterPolicyParser extends BaseFilterParser {
builder.addConstructorArgValue(attributeRules);
}
+
}
\ No newline at end of file
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterServiceStrategy.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterServiceStrategy.java
index 073571f3d..39c1b4f87 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterServiceStrategy.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeFilterServiceStrategy.java
@@ -46,8 +46,13 @@ public class AttributeFilterServiceStrategy extends AbstractIdentifiableInitiali
private final Logger log = LoggerFactory.getLogger(AttributeFilterServiceStrategy.class);
/** {@inheritDoc} */
- @Nullable public AbstractServiceableComponent<AttributeFilter> apply(@Nullable final ApplicationContext appContext) {
+ @Nullable
+ public AbstractServiceableComponent<AttributeFilter> apply(@Nullable final ApplicationContext appContext) {
+ if (appContext == null) {
+ throw new ServiceException("ApplicationContext was null");
+ }
+
final Collection<AttributeFilterPolicy> afps = appContext.getBeansOfType(AttributeFilterPolicy.class).values();
log.debug("Creating Attribute Filter {} with {} Policies", getId(), afps.size());
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeRuleParser.java
index d4d7b5377..2feab30ad 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/impl/AttributeRuleParser.java
@@ -32,6 +32,7 @@ import org.w3c.dom.Element;
import net.shibboleth.idp.attribute.filter.AttributeRule;
import net.shibboleth.idp.attribute.filter.Matcher;
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.spring.util.SpringSupport;
import net.shibboleth.shared.xml.AttributeSupport;
@@ -43,19 +44,20 @@ import net.shibboleth.shared.xml.ElementSupport;
public class AttributeRuleParser extends BaseFilterParser {
/** Element name. */
- public static final QName ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "AttributeRule");
+ @Nonnull public static final QName ELEMENT_NAME = new QName(BaseFilterParser.NAMESPACE, "AttributeRule");
/** Schema type name. */
- public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE, "AttributeRuleType");
+ @Nonnull public static final QName TYPE_NAME = new QName(BaseFilterParser.NAMESPACE, "AttributeRuleType");
/** permitAny Attribute. */
- public static final String PERMIT_ANY_ATTRIBUTE = "permitAny";
+ @Nonnull @NotEmpty public static final String PERMIT_ANY_ATTRIBUTE = "permitAny";
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(AttributeRuleParser.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(AttributeRuleParser.class);
/** {@inheritDoc} */
- @Override @Nonnull protected Class<?> getBeanClass(@Nullable final Element arg) {
+ @Override
+ @Nullable protected Class<?> getBeanClass(@Nonnull final Element arg) {
return AttributeRule.class;
}
@@ -64,7 +66,7 @@ public class AttributeRuleParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(config, parserContext, builder);
- final String id = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String id = resolveId(config, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", id);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
index e9abce429..522c2d527 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/BaseAttributeValueMatcherParser.java
@@ -93,7 +93,7 @@ public abstract class BaseAttributeValueMatcherParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(element, parserContext, builder);
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(element, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", myId);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
index 0cf70e1b9..b38d21a58 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeMatcherParser.java
@@ -29,8 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeScopeMatcherParser extends AbstractStringMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
- "Scope");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Scope");
/** {@inheritDoc} */
@Override
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
index 02dd74cf8..077d20580 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeScopeRegexMatcherParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeScopeRegexMatcherParser extends AbstractRegexMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ScopeRegex");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ScopeRegex");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
index 2761469bf..801ea277a 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueRegexMatcherParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeValueRegexMatcherParser extends AbstractRegexMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ValueRegex");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ValueRegex");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
index 919ed7534..b3e567f5d 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/matcher/impl/AttributeValueStringMatcherParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeValueStringMatcherParser extends AbstractStringMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Value");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Value");
/** {@inheritDoc} */
@Override @Nonnull protected Class<?> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
index 8a96fc9f1..c368d2d7f 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/BasePolicyRuleParser.java
@@ -18,6 +18,7 @@
package net.shibboleth.idp.attribute.filter.spring.policyrule;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
@@ -61,7 +62,7 @@ public abstract class BasePolicyRuleParser extends BaseFilterParser {
/** {@inheritDoc} */
@Override
- @Nonnull protected Class<?> getBeanClass(@Nonnull final Element element) {
+ @Nullable protected Class<?> getBeanClass(@Nonnull final Element element) {
if (isPolicyRule(element)) {
return getNativeBeanClass();
}
@@ -76,7 +77,7 @@ public abstract class BasePolicyRuleParser extends BaseFilterParser {
@Nonnull final BeanDefinitionBuilder builder) {
super.doParse(element, parserContext, builder);
- final String myId = builder.getBeanDefinition().getAttribute(BaseFilterParser.QUALIFIED_ID).toString();
+ final String myId = resolveId(element, builder.getBeanDefinition(), parserContext);
builder.addPropertyValue("id", myId);
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
index 15ccffdea..7d326346c 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRegexRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeRequesterRegexRuleParser extends AbstractRegexPolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "RequesterRegex");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "RequesterRegex");
/** {@inheritDoc} */
@Override @Nonnull protected Class<AttributeRequesterRegexpPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
index 076370152..1a18e97df 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/AttributeRequesterRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class AttributeRequesterRuleParser extends AbstractStringPolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Requester");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Requester");
/** {@inheritDoc} */
@Override @Nonnull protected Class<AttributeRequesterPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/InboundRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/InboundRuleParser.java
index 08b6cd9da..0869bfbae 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/InboundRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/InboundRuleParser.java
@@ -35,7 +35,7 @@ import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParse
public class InboundRuleParser extends BasePolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Inbound");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Inbound");
/** {@inheritDoc} */
@Override @Nonnull protected Class<DirectionPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
index c92dc0b1b..0ff04108c 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/NumOfAttributeValuesRuleParser.java
@@ -35,7 +35,7 @@ import net.shibboleth.shared.primitive.StringSupport;
public class NumOfAttributeValuesRuleParser extends BasePolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NumberOfAttributeValues");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "NumberOfAttributeValues");
/** {@inheritDoc} */
@Override @Nonnull protected Class<NumOfAttributeValuesPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/OutboundRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/OutboundRuleParser.java
index 6d742e175..f104d52a3 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/OutboundRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/OutboundRuleParser.java
@@ -35,7 +35,7 @@ import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParse
public class OutboundRuleParser extends BasePolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Outbound");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Outbound");
/** {@inheritDoc} */
@Override @Nonnull protected Class<DirectionPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
index e5977298f..d68014fcd 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PredicateRuleParser.java
@@ -28,7 +28,7 @@ import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.Predica
import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
import net.shibboleth.idp.attribute.filter.spring.policyrule.BasePolicyRuleParser;
import net.shibboleth.shared.primitive.DeprecationSupport;
-import net.shibboleth.shared.primitive.StringSupport;
+import net.shibboleth.shared.xml.AttributeSupport;
import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
/**
@@ -37,7 +37,7 @@ import net.shibboleth.shared.primitive.DeprecationSupport.ObjectType;
public class PredicateRuleParser extends BasePolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Predicate");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Predicate");
/** {@inheritDoc} */
@Override @Nonnull protected Class<PredicatePolicyRule> getNativeBeanClass() {
@@ -49,10 +49,11 @@ public class PredicateRuleParser extends BasePolicyRuleParser {
@Nonnull final BeanDefinitionBuilder builder) {
builder.addPropertyReference("rulePredicate",
- StringSupport.trimOrNull(element.getAttributeNS(null, "rulePredicateRef")));
+ AttributeSupport.getRequiredAttributeValue(element, null, "rulePredicateRef"));
if (element.hasAttributeNS(null, "contextStrategyRef")) {
DeprecationSupport.warn(ObjectType.ATTRIBUTE, "contextStrategyRef",
parserContext.getReaderContext().getResource().getDescription(), "(removed)");
}
}
-}
+
+}
\ No newline at end of file
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
index f4e786a56..c0fc19568 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRegexRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class PrincipalNameRegexRuleParser extends AbstractRegexPolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalNameRegex");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalNameRegex");
/** {@inheritDoc} */
@Override @Nonnull protected Class<PrincipalNameRegexpPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
index 14d834ec8..0926302fc 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/PrincipalNameRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class PrincipalNameRuleParser extends AbstractStringPolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalName");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "PrincipalName");
/** {@inheritDoc} */
@Override @Nonnull protected Class<PrincipalNamePolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProfileRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProfileRuleParser.java
index 5bedeb057..0e897eda7 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProfileRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/policyrule/impl/ProfileRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class ProfileRuleParser extends AbstractStringPolicyRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Profile");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "Profile");
/** {@inheritDoc} */
@Override @Nonnull protected Class<ProfilePolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
index f636343a9..7aff71950 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/AttributeInMetadataRuleParser.java
@@ -36,7 +36,7 @@ import org.w3c.dom.Element;
public class AttributeInMetadataRuleParser extends BaseAttributeValueMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"AttributeInMetadata");
/** {@inheritDoc} */
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerInEntityGroupRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerInEntityGroupRuleParser.java
index fc8eab866..9302bd9d7 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerInEntityGroupRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerInEntityGroupRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class IssuerInEntityGroupRuleParser extends AbstractEntityGroupRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "IssuerInEntityGroup");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "IssuerInEntityGroup");
/** {@inheritDoc} */
@Override @Nonnull protected Class<IssuerInEntityGroupPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerNameIDFormatRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerNameIDFormatRuleParser.java
index f3c687222..83a5ec03d 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerNameIDFormatRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerNameIDFormatRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class IssuerNameIDFormatRuleParser extends AbstractNameIDFormatRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"IssuerNameIDFormatExactMatch");
/** {@inheritDoc} */
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerRegistrationAuthorityRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerRegistrationAuthorityRuleParser.java
index 9042b072a..eb61c0f86 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerRegistrationAuthorityRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/IssuerRegistrationAuthorityRuleParser.java
@@ -31,7 +31,7 @@ public class IssuerRegistrationAuthorityRuleParser extends AbstractRegistrationA
"IssuerRegistrationAuthority");
/** {@inheritDoc} */
- @Override protected Class<IssuerRegistrationAuthorityPolicyRule> getNativeBeanClass() {
+ @Override @Nonnull protected Class<IssuerRegistrationAuthorityPolicyRule> getNativeBeanClass() {
return IssuerRegistrationAuthorityPolicyRule.class;
}
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
index 0b0b6701f..afd01978f 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/MappedAttributeInMetadataRuleParser.java
@@ -35,7 +35,7 @@ import org.w3c.dom.Element;
public class MappedAttributeInMetadataRuleParser extends AttributeInMetadataRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"MappedAttributeInMetadata");
/** {@inheritDoc} */
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterInEntityGroupRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterInEntityGroupRuleParser.java
index 987609f31..072bee1c0 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterInEntityGroupRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterInEntityGroupRuleParser.java
@@ -29,7 +29,8 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class ProxiedRequesterInEntityGroupRuleParser extends AbstractEntityGroupRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "ProxiedRequesterInEntityGroup");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ "ProxiedRequesterInEntityGroup");
/** {@inheritDoc} */
@Override @Nonnull protected Class<ProxiedRequesterInEntityGroupPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterRegistrationAuthorityRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterRegistrationAuthorityRuleParser.java
index a6d94b069..17f1288cc 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterRegistrationAuthorityRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ProxiedRequesterRegistrationAuthorityRuleParser.java
@@ -31,7 +31,7 @@ public class ProxiedRequesterRegistrationAuthorityRuleParser extends AbstractReg
"ProxiedRequesterRegistrationAuthority");
/** {@inheritDoc} */
- @Override protected Class<ProxiedRequesterRegistrationAuthorityPolicyRule> getNativeBeanClass() {
+ @Override @Nonnull protected Class<ProxiedRequesterRegistrationAuthorityPolicyRule> getNativeBeanClass() {
return ProxiedRequesterRegistrationAuthorityPolicyRule.class;
}
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterInEntityGroupRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterInEntityGroupRuleParser.java
index ab97461f7..0b15d220d 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterInEntityGroupRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterInEntityGroupRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class RequesterInEntityGroupRuleParser extends AbstractEntityGroupRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "InEntityGroup");
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE, "InEntityGroup");
/** {@inheritDoc} */
@Override @Nonnull protected Class<RequesterInEntityGroupPolicyRule> getNativeBeanClass() {
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterNameIDFormatRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterNameIDFormatRuleParser.java
index dbe99d537..51570789a 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterNameIDFormatRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterNameIDFormatRuleParser.java
@@ -29,7 +29,7 @@ import net.shibboleth.idp.attribute.filter.spring.BaseFilterParser;
public class RequesterNameIDFormatRuleParser extends AbstractNameIDFormatRuleParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"NameIDFormatExactMatch");
/** {@inheritDoc} */
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterRegistrationAuthorityRuleParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterRegistrationAuthorityRuleParser.java
index 7b5f23ca7..6b9870b74 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterRegistrationAuthorityRuleParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/RequesterRegistrationAuthorityRuleParser.java
@@ -31,7 +31,7 @@ public class RequesterRegistrationAuthorityRuleParser extends AbstractRegistrati
"RegistrationAuthority");
/** {@inheritDoc} */
- @Override protected Class<RequesterRegistrationAuthorityPolicyRule> getNativeBeanClass() {
+ @Override @Nonnull protected Class<RequesterRegistrationAuthorityPolicyRule> getNativeBeanClass() {
return RequesterRegistrationAuthorityPolicyRule.class;
}
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ScopeMatchesShibMDScopeParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ScopeMatchesShibMDScopeParser.java
index 868b6be1c..11a4d901a 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ScopeMatchesShibMDScopeParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ScopeMatchesShibMDScopeParser.java
@@ -34,7 +34,7 @@ import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatc
public class ScopeMatchesShibMDScopeParser extends BaseAttributeValueMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"ScopeMatchesShibMDScope");
/** {@inheritDoc} */
@@ -43,9 +43,9 @@ public class ScopeMatchesShibMDScopeParser extends BaseAttributeValueMatcherPars
}
/** {@inheritDoc} */
- protected void doNativeParse(final Element element,
- final ParserContext parserContext, final BeanDefinitionBuilder builder) {
+ protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
+ @Nonnull final BeanDefinitionBuilder builder) {
// Nothing to do
}
-}
+}
\ No newline at end of file
diff --git a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ValueMatchesShibMDScopeParser.java b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ValueMatchesShibMDScopeParser.java
index 1b484f73d..e18d8d74d 100644
--- a/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ValueMatchesShibMDScopeParser.java
+++ b/shib-attribute-filter-spring/src/main/java/net/shibboleth/idp/attribute/filter/spring/saml/impl/ValueMatchesShibMDScopeParser.java
@@ -34,7 +34,7 @@ import net.shibboleth.idp.attribute.filter.spring.matcher.BaseAttributeValueMatc
public class ValueMatchesShibMDScopeParser extends BaseAttributeValueMatcherParser {
/** Schema type. */
- public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
+ @Nonnull public static final QName SCHEMA_TYPE = new QName(BaseFilterParser.NAMESPACE,
"ValueMatchesShibMDScope");
/** {@inheritDoc} */
@@ -43,8 +43,8 @@ public class ValueMatchesShibMDScopeParser extends BaseAttributeValueMatcherPars
}
/** {@inheritDoc} */
- protected void doNativeParse(final Element element,
- final ParserContext parserContext, final BeanDefinitionBuilder builder) {
+ protected void doNativeParse(@Nonnull final Element element, @Nonnull final ParserContext parserContext,
+ @Nonnull final BeanDefinitionBuilder builder) {
// Nothing to do
}
}
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterFailFastTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterFailFastTest.java
index 479925e26..004f27dff 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterFailFastTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/AttributeFilterFailFastTest.java
@@ -22,10 +22,13 @@ import static org.testng.Assert.assertNull;
import java.io.IOException;
+import javax.annotation.Nonnull;
+
import org.testng.annotations.Ignore;
import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.filter.AttributeFilter;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.service.ReloadableService;
import net.shibboleth.shared.service.ServiceableComponent;
import net.shibboleth.spring.testing.AbstractFailFastTest;
@@ -37,7 +40,7 @@ import net.shibboleth.spring.testing.AbstractFailFastTest;
@SuppressWarnings({"unchecked", "javadoc"})
public class AttributeFilterFailFastTest extends AbstractFailFastTest {
- protected String getPath() {
+ @Nonnull protected String getPath() {
return "/net/shibboleth/idp/attribute/filter/failfast/";
}
@@ -46,8 +49,9 @@ public class AttributeFilterFailFastTest extends AbstractFailFastTest {
final Object bean = getBean(propertySource("ServiceConfiguration", makePath("attributeFilterGood.xml")), "filterBeansDefaultFF.xml");
final ReloadableService<AttributeFilter > service = (ReloadableService<AttributeFilter>) bean;
assertNotNull(service);
- final AttributeFilter resolver = service.getServiceableComponent().getComponent();
- assertNotNull(resolver);
+ final AttributeFilter filter =
+ Constraint.isNotNull(service.getServiceableComponent(), "Component was null").getComponent();
+ assertNotNull(filter);
}
private void badFilter(final Boolean failFast, String filterFile) throws IOException {
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
index 054fc907f..a2d0f2339 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/basic/ScriptedTest.java
@@ -24,6 +24,8 @@ import static org.testng.Assert.assertTrue;
import java.util.Map;
import java.util.Set;
+import javax.annotation.Nonnull;
+
import org.springframework.beans.factory.BeanCreationException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -37,6 +39,7 @@ import net.shibboleth.idp.attribute.filter.matcher.impl.ScriptedMatcher;
import net.shibboleth.idp.attribute.filter.policyrule.impl.ScriptedPolicyRule;
import net.shibboleth.idp.attribute.filter.spring.testing.BaseAttributeFilterParserTest;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
/**
@@ -47,9 +50,9 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
private Map<String, IdPAttribute> epaUid;
- private final String NASHORN_SCRIPT = "scripted.xml";
+ @Nonnull @NotEmpty private final String NASHORN_SCRIPT = "scripted.xml";
- private final String RHINO_SCRIPT = "scripted-rhino.xml";
+ @Nonnull @NotEmpty private final String RHINO_SCRIPT = "scripted-rhino.xml";
@BeforeClass public void setupAttributes() throws ComponentInitializationException, ResolutionException {
@@ -84,7 +87,8 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
final AttributeFilterContext filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUid.values());
- Set<IdPAttributeValue> x = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ final Set<IdPAttributeValue> x = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert x != null;
assertEquals(x.size(), 1);
String val = ((StringAttributeValue) x.iterator().next()).getValue();
assertTrue(val.equals("jsmith") || val.equals("daffyDuck"));
@@ -95,7 +99,8 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
final AttributeFilterContext filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUid.values());
- Set<IdPAttributeValue> x = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ final Set<IdPAttributeValue> x = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert x != null;
assertEquals(x.size(), 1);
String val = ((StringAttributeValue) x.iterator().next()).getValue();
assertTrue(val.equals("jsmith") || val.equals("daffyDuck"));
@@ -115,7 +120,7 @@ public class ScriptedTest extends BaseAttributeFilterParserTest {
final ScriptedPolicyRule what = (ScriptedPolicyRule) getPolicyRule(NASHORN_SCRIPT);
final Map<?,?> custom = (Map<?,?>) what.getCustomObject();
-
+ assert custom != null;
assertEquals(custom.size(), 1);
assertEquals(custom.get("bar"), "foo");
}
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
index 7d533a13e..6a61e300b 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/matcher/AttributeValueMatcherParserTest.java
@@ -117,16 +117,19 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
AttributeFilterContext filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUid.values());
Set<IdPAttributeValue> result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUidJS.values());
result = matcher.getMatchingValues(epaUidJS.get("uid"), filterContext);
+ assert result != null;
assertEquals(result.size(), 1);
filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(uidEpaJS.values());
result = matcher.getMatchingValues(uidEpaJS.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
AttributeValueStringMatcher avm = (AttributeValueStringMatcher) matcher;
@@ -141,16 +144,19 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
AttributeFilterContext filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUid.values());
Set<IdPAttributeValue> result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(epaUidJS.values());
result = matcher.getMatchingValues(epaUidJS.get("uid"), filterContext);
+ assert result != null;
assertEquals(result.size(), 2);
filterContext = new AttributeFilterContext();
filterContext.setPrefilteredIdPAttributes(uidEpaJS.values());
result = matcher.getMatchingValues(uidEpaJS.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
}
@@ -180,8 +186,9 @@ public class AttributeValueMatcherParserTest extends BaseAttributeFilterParserTe
propertyCaseSensitive("false", false);
}
- @Test(expectedExceptions = {BeanCreationException.class}) public void propertyEmptyCaseSensitive() throws ComponentInitializationException {
+ @Test(expectedExceptions = {BeanCreationException.class})
+ public void propertyEmptyCaseSensitive() throws ComponentInitializationException {
propertyCaseSensitive("", false);
}
-}
+}
\ No newline at end of file
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
index bb0394e4e..f8fd68a75 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
@@ -122,11 +122,13 @@ public class AttributeRequesterRuleParserTest extends BaseAttributeFilterParserT
AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
filterContext.setPrefilteredIdPAttributes(epaUid.values());
Set<IdPAttributeValue> result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
filterContext = DataSources.populatedFilterContext("principal", "issuer", "https://service.example.edu/shibboleth-sp");
filterContext.setPrefilteredIdPAttributes(epaUid.values());
result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertEquals(result.size(), 1);
assertEquals(((StringAttributeValue) result.iterator().next()).getValue(), "daffyDuck");
}
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 2cb81dd26..310c4523b 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
@@ -26,6 +26,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
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;
@@ -35,53 +36,57 @@ import org.opensaml.messaging.context.MessageContext;
@SuppressWarnings("javadoc")
public abstract class DataSources {
- public final static String TEST_STRING = "nibbleahappywarthog";
+ @Nonnull @NotEmpty public final static String TEST_STRING = "nibbleahappywarthog";
- public final static String TEST_STRING_UPPER = TEST_STRING.toUpperCase();
+ @Nonnull @NotEmpty public final static String TEST_STRING_UPPER = TEST_STRING.toUpperCase();
- public final static String NON_MATCH_STRING = "ThisIsADifferentString";
+ @Nonnull @NotEmpty public final static String NON_MATCH_STRING = "ThisIsADifferentString";
- public final static String TEST_REGEX = "^n.*g";
+ @Nonnull @NotEmpty public final static String TEST_REGEX = "^n.*g";
- public final static StringAttributeValue STRING_VALUE = new StringAttributeValue(TEST_STRING);
+ @Nonnull public final static StringAttributeValue STRING_VALUE = new StringAttributeValue(TEST_STRING);
- public final static StringAttributeValue STRING_VALUE_UPPER = new StringAttributeValue(TEST_STRING.toUpperCase());
+ @Nonnull public final static StringAttributeValue STRING_VALUE_UPPER = new StringAttributeValue(TEST_STRING.toUpperCase());
- public final static StringAttributeValue NON_MATCH_STRING_VALUE = new StringAttributeValue(NON_MATCH_STRING);
+ @Nonnull public final static StringAttributeValue NON_MATCH_STRING_VALUE = new StringAttributeValue(NON_MATCH_STRING);
- public final static ScopedStringAttributeValue SCOPED_VALUE_VALUE_MATCH = new ScopedStringAttributeValue(
+ @Nonnull public final static ScopedStringAttributeValue SCOPED_VALUE_VALUE_MATCH = new ScopedStringAttributeValue(
TEST_STRING, NON_MATCH_STRING);
- public final static ScopedStringAttributeValue SCOPED_VALUE_SCOPE_MATCH = new ScopedStringAttributeValue(
+ @Nonnull public final static ScopedStringAttributeValue SCOPED_VALUE_SCOPE_MATCH = new ScopedStringAttributeValue(
NON_MATCH_STRING, TEST_STRING);
- public final static ByteAttributeValue BYTE_ATTRIBUTE_VALUE = new ByteAttributeValue(TEST_STRING.getBytes());
+ @Nonnull public final static ByteAttributeValue BYTE_ATTRIBUTE_VALUE = new ByteAttributeValue(TEST_STRING.getBytes());
- public final static IdPAttributeValue OTHER_VALUE = new IdPAttributeValue() {
-
- @Override @Nonnull public Object getNativeValue() {
- return TEST_STRING;
- }
- public String getDisplayValue() {
- return TEST_STRING;
- }
- };
+ @Nonnull public final static IdPAttributeValue OTHER_VALUE = new IdPAttributeValue() {
+
+ @Override @Nonnull public Object getNativeValue() {
+ return TEST_STRING;
+ }
+ @Nonnull public String getDisplayValue() {
+ return TEST_STRING;
+ }
+ };
- public static AttributeFilterContext populatedFilterContext(String principal, String issuerID, String recipientId) {
+ @Nonnull public static AttributeFilterContext populatedFilterContext(String principal, String issuerID, String recipientId) {
final MessageContext parent = new MessageContext();
parent.addSubcontext(TestSources.createResolutionContext(principal, issuerID, recipientId));
- AttributeFilterContext retVal = parent.getSubcontext(AttributeFilterContext.class, true);
+ final AttributeFilterContext retVal = parent.getSubcontext(AttributeFilterContext.class, true);
+ assert retVal != null;
retVal.setPrincipal(principal);
retVal.setAttributeIssuerID(issuerID);
retVal.setAttributeRecipientID(recipientId);
return retVal;
}
- public static AttributeFilterContext unPopulatedFilterContext() {
+ @Nonnull public static AttributeFilterContext unPopulatedFilterContext() {
final MessageContext parent = new MessageContext();
parent.addSubcontext(new AttributeResolutionContext());
- return parent.getSubcontext(AttributeFilterContext.class, true);
+ final AttributeFilterContext afc = parent.getSubcontext(AttributeFilterContext.class, true);
+ assert afc != null;
+ return afc;
}
-}
+
+}
\ No newline at end of file
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 15acefb79..4c81130eb 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
@@ -46,22 +46,25 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
private Map<String, IdPAttribute> epaUid;
- @BeforeClass public void setupAttributes() throws ComponentInitializationException, ResolutionException {
-
+ @BeforeClass
+ public void setupAttributes() throws ComponentInitializationException, ResolutionException {
epaUid = getAttributes("epa-uid.xml");
}
@Test public void policy() throws ComponentInitializationException {
final PolicyRequirementRule rule = getPolicyRule("proxiedRequester.xml");
- AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
+ final AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
filterContext.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- filterContext.getSubcontext(ProxiedRequesterContext.class, true).getRequesters().addAll(Arrays.asList("foo", "bar"));
+
+ final ProxiedRequesterContext prc = filterContext.getSubcontext(ProxiedRequesterContext.class, true);
+ assert prc != null;
+ prc.getRequesters().addAll(Arrays.asList("foo", "bar"));
assertEquals(rule.matches(filterContext), Tristate.FALSE);
- filterContext.getSubcontext(ProxiedRequesterContext.class).getRequesters().add("https://service.example.edu/shibboleth-sp");
+ prc.getRequesters().add("https://service.example.edu/shibboleth-sp");
assertEquals(rule.matches(filterContext), Tristate.TRUE);
final ProxiedRequesterPolicyRule arRule = (ProxiedRequesterPolicyRule) rule;
@@ -72,17 +75,22 @@ public class ProxiedRequesterRuleParserTest extends BaseAttributeFilterParserTes
@Test public void matcher() throws ComponentInitializationException {
final Matcher matcher = getMatcher("proxiedRequester.xml");
- AttributeFilterContext filterContext = DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
+ final AttributeFilterContext filterContext =
+ DataSources.populatedFilterContext("principal", "issuer", "http://example.org");
filterContext.setProxiedRequesterContextLookupStrategy(
new ChildContextLookup<AttributeFilterContext,ProxiedRequesterContext>(ProxiedRequesterContext.class));
- filterContext.getSubcontext(ProxiedRequesterContext.class, true).getRequesters().addAll(Arrays.asList("foo", "bar"));
+ final ProxiedRequesterContext prc = filterContext.getSubcontext(ProxiedRequesterContext.class, true);
+ assert prc != null;
+ prc.getRequesters().addAll(Arrays.asList("foo", "bar"));
filterContext.setPrefilteredIdPAttributes(epaUid.values());
Set<IdPAttributeValue> result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertTrue(result.isEmpty());
- filterContext.getSubcontext(ProxiedRequesterContext.class).getRequesters().add("https://service.example.edu/shibboleth-sp");
+ prc.getRequesters().add("https://service.example.edu/shibboleth-sp");
result = matcher.getMatchingValues(epaUid.get("uid"), filterContext);
+ assert result != null;
assertEquals(result.size(), 1);
assertEquals(((StringAttributeValue)result.iterator().next()).getValue(), "daffyDuck");
}
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
index c999281e7..a9d428973 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/AttributeInMetadataRuleParserTest.java
@@ -44,7 +44,8 @@ public class AttributeInMetadataRuleParserTest extends BaseAttributeFilterParse
rule.initialize();
AttributeInMetadataMatcher matcher = (AttributeInMetadataMatcher) rule.getMatcher();
-
+ assert matcher != null;
+
assertTrue(matcher.getMatchIfMetadataSilent());
assertTrue(matcher.getOnlyIfRequired());
assertTrue(matcher.getId().endsWith(":PermitRule"));
diff --git a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
index 4389b01ff..89a64299a 100644
--- a/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
+++ b/shib-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/saml/MappedAttributeInMetadataRuleParserTest.java
@@ -45,7 +45,8 @@ public class MappedAttributeInMetadataRuleParserTest extends BaseAttributeFilte
final AttributeRule rule = getAttributeRulesAttributeFilterPolicy(MATCHER_PATH + "mappedInMetadata.xml", context).get(0);
rule.initialize();
AttributeInMetadataMatcher matcher = (AttributeInMetadataMatcher) rule.getMatcher();
-
+ assert matcher != null;
+
assertTrue(matcher.getId().endsWith(":PermitRule"));
assertEquals(matcher.getMatchIfMetadataSilent(), metadataSilentResult);
assertTrue(matcher.getOnlyIfRequired());
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 4cdfed5d8..d7e2f13c8 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
@@ -23,6 +23,9 @@ import java.util.Collection;
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;
import org.springframework.context.support.GenericApplicationContext;
@@ -41,7 +44,10 @@ import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
import net.shibboleth.idp.attribute.resolver.dc.impl.testing.SAMLAttributeDataConnector;
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
+import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.FunctionSupport;
import net.shibboleth.shared.spring.context.FilesystemGenericApplicationContext;
import net.shibboleth.shared.spring.custom.SchemaTypeAwareXMLBeanDefinitionReader;
@@ -84,43 +90,46 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
* @throws ComponentInitializationException ...
* @throws ResolutionException ...
*/
- protected Map<String, IdPAttribute> getAttributes(String xmlFileName) throws ComponentInitializationException,
- ResolutionException {
+ @Nonnull protected Map<String, IdPAttribute> getAttributes(@Nonnull @NotEmpty String xmlFileName)
+ throws ComponentInitializationException, ResolutionException {
final EntityAttributes obj = (EntityAttributes) unmarshallElement(ATTRIBUTE_PATH + xmlFileName);
-
- SAMLAttributeDataConnector connector = new SAMLAttributeDataConnector();
+ assert obj != null;
+
+ final SAMLAttributeDataConnector connector = new SAMLAttributeDataConnector();
connector.setId(xmlFileName);
connector.setAttributesStrategy(FunctionSupport.constant(obj.getAttributes()));
connector.initialize();
final AttributeResolutionContext context = new AttributeResolutionContext();
context.getSubcontext(AttributeResolverWorkContext.class, true);
- return connector.resolve(context);
+ return Constraint.isNotNull(connector.resolve(context), "Attributes were null");
}
- protected <Type> Type getBean(Class<Type> claz, GenericApplicationContext context) {
- Collection<Type> beans = context.getBeansOfType(claz).values();
+ @Nonnull protected <Type> Type getBean(@Nonnull final Class<Type> claz, @Nonnull final GenericApplicationContext context) {
+ final Collection<Type> beans = context.getBeansOfType(claz).values();
assertEquals(beans.size(), 1);
return beans.iterator().next();
}
- protected PolicyRequirementRule getPolicyRuleFromAttributeFilterPolicy(GenericApplicationContext ctx) {
+ @Nonnull protected PolicyRequirementRule getPolicyRuleFromAttributeFilterPolicy(@Nonnull final GenericApplicationContext ctx) {
final AttributeFilterPolicy afp = ctx.getBean(AttributeFilterPolicy.class);
return afp.getPolicyRequirementRule();
}
- protected List<AttributeRule> getAttributeRulesAttributeFilterPolicy(String fileName, GenericApplicationContext ctx) {
+ @Nonnull @NonnullElements protected List<AttributeRule> getAttributeRulesAttributeFilterPolicy(
+ @Nonnull @NotEmpty final String fileName, @Nonnull final GenericApplicationContext ctx) {
final AttributeFilterPolicy afp = getBean(fileName, AttributeFilterPolicy.class, ctx);
return afp.getAttributeRules();
}
- protected <Type> Type getBean(String fileName, Class<Type> claz, GenericApplicationContext context) {
+ @Nonnull protected <Type> Type getBean(@Nonnull @NotEmpty final String fileName, @Nonnull final Class<Type> claz,
+ @Nonnull final GenericApplicationContext context) {
- SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
+ final SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
new SchemaTypeAwareXMLBeanDefinitionReader(context);
beanDefinitionReader.loadBeanDefinitions(fileName, MATCHER_PATH + "customBean.xml");
@@ -129,7 +138,8 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
return getBean(claz, context);
}
- protected PolicyRequirementRule getPolicyRule(final String fileName, final GenericApplicationContext context) throws ComponentInitializationException {
+ @Nonnull protected PolicyRequirementRule getPolicyRule(@Nonnull @NotEmpty final String fileName,
+ @Nonnull final GenericApplicationContext context) throws ComponentInitializationException {
context.setDisplayName("ApplicationContext: Policy Rule");
@@ -142,11 +152,13 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
return policy.getPolicyRequirementRule();
}
- protected PolicyRequirementRule getPolicyRule(String fileName) throws ComponentInitializationException {
+ @Nonnull protected PolicyRequirementRule getPolicyRule(@Nonnull @NotEmpty String fileName)
+ throws ComponentInitializationException {
return getPolicyRule(fileName, new FilesystemGenericApplicationContext());
}
- protected Matcher getMatcher(final String fileName, final GenericApplicationContext context) throws ComponentInitializationException {
+ @Nonnull protected Matcher getMatcher(@Nonnull @NotEmpty final String fileName,
+ @Nonnull final GenericApplicationContext context) throws ComponentInitializationException {
context.setDisplayName("ApplicationContext: Matcher");
setTestContext(context);
@@ -154,19 +166,20 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
final String path = MATCHER_PATH + fileName;
final AttributeRule rule = getBean(path, AttributeRule.class, context);
-
rule.initialize();
- return rule.getMatcher();
+
+ return Constraint.isNotNull(rule.getMatcher(), "Matcher cannot be null");
}
- protected Matcher getMatcher(final String fileName) throws ComponentInitializationException {
+ @Nonnull protected Matcher getMatcher(@Nonnull @NotEmpty final String fileName)
+ throws ComponentInitializationException {
GenericApplicationContext context = new FilesystemGenericApplicationContext();
context.setDisplayName("ApplicationContext: Matcher");
return getMatcher(fileName, context);
}
- protected Class<?> rootCause(Throwable what) {
+ @Nonnull protected Class<?> rootCause(@Nonnull final Throwable what) {
Throwable preLast = what;
do {
final Throwable next = preLast.getCause();
@@ -177,7 +190,7 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
} while (true);
}
- protected GenericApplicationContext contextWithPropertyValue(final String propValue) {
+ @Nonnull protected GenericApplicationContext contextWithPropertyValue(@Nonnull @NotEmpty final String propValue) {
final GenericApplicationContext context = new FilesystemGenericApplicationContext();
final MutablePropertySources propertySources = context.getEnvironment().getPropertySources();
final MockPropertySource mockEnvVars = new MockPropertySource();
@@ -192,4 +205,5 @@ public class BaseAttributeFilterParserTest extends XMLObjectBaseTestCase {
return context;
}
-}
+
+}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list