[java-opensaml COMMIT] in /trunk/opensaml-saml-api/src/main/java/org/opensaml/saml: common/binding/EndpointResolver.j...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Feb 11 21:52:39 EST 2014
Author: scantor
Date: Tue Feb 11 21:52:39 2014
New Revision: 3614
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3614&view=rev
Log:
Revising criterion objects for endpoint resolver.
Added:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointCriterion.java
- copied, changed from r3613, trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointTypeCriterion.java
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/EndpointResolver.java
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingCriterion.java
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/EndpointTypeCriterion.java
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/EndpointResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/EndpointResolver.java?rev=3614&r1=3613&r2=3614&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/EndpointResolver.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/EndpointResolver.java Tue Feb 11 21:52:39 2014
@@ -32,10 +32,8 @@
* At a minimum, an {@link EndpointResolver} implementation MUST support the following criteria:
* <ul>
* <li>{@link org.opensaml.saml.criterion.BindingCriterion}</li>
- * <li>{@link org.opensaml.saml.criterion.BindingLocationCriterion}</li>
- * <li>{@link org.opensaml.saml.criterion.BindingResponseLocationCriterion}</li>
+ * <li>{@link org.opensaml.saml.criterion.EndpointCriterion}</li>
* <li>{@link org.opensaml.saml.criterion.RoleDescriptorCriterion}</li>
- * <li>{@link org.opensaml.saml.criterion.EndpointTypeCriterion}</li>
* </ul>
*
* Implementations SHOULD also support the following criteria when possible:
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingCriterion.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingCriterion.java?rev=3614&r1=3613&r2=3614&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingCriterion.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/criterion/BindingCriterion.java Tue Feb 11 21:52:39 2014
@@ -17,26 +17,41 @@
package org.opensaml.saml.criterion;
+import java.util.ArrayList;
+import java.util.List;
+
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import com.google.common.collect.ImmutableList;
+
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
+import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.resolver.Criterion;
-/** {@link Criterion} representing a SAML binding. */
+/** {@link Criterion} representing an ordered list of SAML bindings. */
public final class BindingCriterion implements Criterion {
/** The SAML binding URI. */
- @Nonnull @NotEmpty private final String binding;
+ @Nonnull @NonnullElements private final List<String> bindings;
/**
* Constructor.
*
- * @param bindingUri the SAML binding URI
+ * @param bindingURIs list of SAML binding URIs
*/
- public BindingCriterion(@Nonnull @NotEmpty final String bindingUri) {
- binding = Constraint.isNotNull(StringSupport.trimOrNull(bindingUri), "Binding URI cannot be null or empty");
+ public BindingCriterion(@Nonnull @NonnullElements final List<String> bindingURIs) {
+ Constraint.isNotNull(bindingURIs, "Binding list cannot be null");
+
+ bindings = new ArrayList(bindingURIs.size());
+ for (final String binding : bindingURIs) {
+ final String trimmed = StringSupport.trimOrNull(binding);
+ if (trimmed != null) {
+ bindings.add(trimmed);
+ }
+ }
}
/**
@@ -44,16 +59,16 @@
*
* @return the SAML binding URI
*/
- @Nonnull @NotEmpty public String getBinding() {
- return binding;
+ @Nonnull @NonnullElements @Unmodifiable @NotLive public List<String> getBindings() {
+ return ImmutableList.copyOf(bindings);
}
/** {@inheritDoc} */
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
- builder.append("BindingCriterion [binding=");
- builder.append(binding);
+ builder.append("BindingCriterion [bindings=");
+ builder.append(bindings);
builder.append("]");
return builder.toString();
}
@@ -61,7 +76,7 @@
[... 125 lines stripped ...]
More information about the commits
mailing list