[java-opensaml COMMIT] /trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicD...
noreply at shibboleth.net
noreply at shibboleth.net
Fri Oct 31 22:00:44 EDT 2014
Author: putmanb
Date: Fri Oct 31 22:00:40 2014
New Revision: 4126
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4126&view=rev
Log:
Tighten up logic. Normalize the returned set's values.
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicDynamicTrustedNamesStrategy.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicDynamicTrustedNamesStrategy.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicDynamicTrustedNamesStrategy.java?rev=4126&r1=4125&r2=4126&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicDynamicTrustedNamesStrategy.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/BasicDynamicTrustedNamesStrategy.java Fri Oct 31 22:00:40 2014
@@ -18,11 +18,13 @@
package org.opensaml.saml.metadata.resolver.filter.impl;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.saml2.metadata.AffiliationDescriptor;
@@ -51,39 +53,39 @@
public class BasicDynamicTrustedNamesStrategy implements Function<XMLObject, Set<String>> {
/** {@inheritDoc} */
- @Nonnull public Set<String> apply(@Nullable XMLObject input) {
+ @Nonnull @NonnullElements public Set<String> apply(@Nullable XMLObject input) {
if (input == null) {
return Collections.emptySet();
}
+ Set<String> rawResult = null;
+
if (input instanceof EntityDescriptor) {
- return Sets.newHashSet(((EntityDescriptor)input).getEntityID());
- }
-
- if (input instanceof EntitiesDescriptor) {
- return Sets.newHashSet(((EntitiesDescriptor)input).getName());
- }
-
- if (input instanceof RoleDescriptor) {
+ rawResult = Collections.singleton(((EntityDescriptor)input).getEntityID());
+ } else if (input instanceof EntitiesDescriptor) {
+ rawResult = Collections.singleton(((EntitiesDescriptor)input).getName());
+ } else if (input instanceof RoleDescriptor) {
XMLObject parent = input.getParent();
if (parent instanceof EntityDescriptor) {
- return Sets.newHashSet(((EntityDescriptor)parent).getEntityID());
+ rawResult = Collections.singleton(((EntityDescriptor)parent).getEntityID());
+ }
+ } else if (input instanceof AffiliationDescriptor) {
+ rawResult = Sets.newHashSet();
+
+ rawResult.add(((AffiliationDescriptor)input).getOwnerID());
+
+ XMLObject parent = input.getParent();
+ if (parent instanceof EntityDescriptor) {
+ rawResult.add(((EntityDescriptor)parent).getEntityID());
}
}
- if (input instanceof AffiliationDescriptor) {
- HashSet<String> result = Sets.newHashSet();
-
- result.add(((AffiliationDescriptor)input).getOwnerID());
-
- XMLObject parent = input.getParent();
- if (parent instanceof EntityDescriptor) {
- result.add(((EntityDescriptor)parent).getEntityID());
- }
- return result;
+ if (rawResult != null) {
+ return Sets.newHashSet(StringSupport.normalizeStringCollection(rawResult));
+ } else {
+ return Collections.emptySet();
}
- return Collections.emptySet();
}
}
More information about the commits
mailing list