[java-identity-provider COMMIT] in /trunk/idp-profile-spring/src: main/java/net/shibboleth/idp/profile/spring/relying...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Feb 23 07:48:04 EST 2015
Author: rdw
Date: Mon Feb 23 07:48:03 2015
New Revision: 7365
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7365&view=rev
Log:
IDP-540 indirect the PredicateFilter.Direction setting through a factory bean. This allows for the (unlikely) case of someone putting this into a property
Added:
trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterDirectoryFactoryBean.java (with props)
Modified:
trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParser.java
trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParserTest.java
Modified: trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParser.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParser.java?rev=7365&r1=7364&r2=7365&view=diff
==============================================================================
--- trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParser.java (original)
+++ trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/PredicateFilterParser.java Mon Feb 23 07:48:03 2015
@@ -54,7 +54,7 @@
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(PredicateFilterParser.class);
-
+
/** {@inheritDoc} */
@Override protected Class<?> getBeanClass(Element element) {
return PredicateFilter.class;
@@ -68,17 +68,11 @@
element.getAttributeNS(null, "removeEmptyEntitiesDescriptors"));
}
- final String direction = element.getAttributeNS(null, "direction");
- if (direction == null) {
- throw new BeanCreationException("Predicate filter requires 'direction' attribute");
- } else if ("exclude".equals(direction)) {
- builder.addConstructorArgValue(PredicateFilter.Direction.EXCLUDE);
- } else if ("include".equals(direction)) {
- builder.addConstructorArgValue(PredicateFilter.Direction.INCLUDE);
- } else {
- throw new BeanCreationException("Predicate filter direction must be 'include' or 'exclude'");
- }
-
+ final BeanDefinitionBuilder directionBuilder =
+ BeanDefinitionBuilder.genericBeanDefinition(PredicateFilterDirectoryFactoryBean.class);
+ directionBuilder.addConstructorArgValue(element.getAttributeNS(null, "direction"));
+ builder.addConstructorArgValue(directionBuilder.getBeanDefinition());
+
if (element.hasAttributeNS(null, "conditionRef")) {
log.info("Found conditionRef attribute, ignoring embedded Entity/Group/Tag elements");
builder.addConstructorArgReference(element.getAttributeNS(null, "conditionRef"));
@@ -86,8 +80,8 @@
builder.addConstructorArgValue(parseCustomElements(element));
}
}
-
-// Checkstyle: CyclomaticComplexity OFF
+
+ // Checkstyle: CyclomaticComplexity OFF
/**
* Parser custom element content into a {@link com.google.common.base.Predicate} to pass to the filter constructor.
*
@@ -96,12 +90,12 @@
* @return the bean definition of the Predicate to install
*/
@Nonnull public BeanDefinition parseCustomElements(@Nonnull final Element element) {
-
+
// Track which predicates have to be built.
final BeanDefinitionBuilder entityIdPredicateBuilder = parseEntityPredicate(element);
final BeanDefinitionBuilder groupPredicateBuilder = parseGroupPredicate(element);
final BeanDefinitionBuilder tagPredicateBuilder = parseTagPredicate(element);
-
+
int count = 0;
if (entityIdPredicateBuilder != null) {
count++;
@@ -112,7 +106,7 @@
if (tagPredicateBuilder != null) {
count++;
}
-
+
if (count == 0) {
throw new BeanCreationException("No Entity, Group, or Tag element found");
} else if (count == 1) {
@@ -139,8 +133,9 @@
return orBuilder.getBeanDefinition();
}
}
-// Checkstyle: CyclomaticComplexity ON
-
+
+ // Checkstyle: CyclomaticComplexity ON
+
/**
* Parse Entity elements into a builder for an {@link EntityIdPredicate}.
*
@@ -157,7 +152,7 @@
builder.addConstructorArgValue(managedEntityList);
return builder;
}
-
+
return null;
}
@@ -169,7 +164,7 @@
* @return builder for the predicate, or null if none needed
*/
@Nullable public BeanDefinitionBuilder parseGroupPredicate(@Nonnull final Element element) {
-
+
final List<Element> groupList =
[... 42 lines stripped ...]
More information about the commits
mailing list