[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointRe...

noreply at shibboleth.net noreply at shibboleth.net
Thu Feb 13 23:35:39 EST 2014


Author: scantor
Date: Thu Feb 13 23:35:38 2014
New Revision: 3620

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3620&view=rev
Log:
OSJ-61 - Add generic typing and beginnings of unit test

Added:
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/DefaultEndpointResolverTest.java   (with props)
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/common/binding/SPNoEndpoints.xml   (with props)
Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointResolver.java
    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/EndpointCriterion.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/DefaultEndpointResolver.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointResolver.java?rev=3620&r1=3619&r2=3620&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointResolver.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/AbstractEndpointResolver.java Thu Feb 13 23:35:38 2014
@@ -69,9 +69,11 @@
  * 
  * <p>Subclasses should override the {{@link #doCheckEndpoint(CriteriaSet, Endpoint)} method to implement
  * further criteria.</p>
+ * 
+ * @param <EndpointType> type of endpoint
  */
-public abstract class AbstractEndpointResolver extends AbstractDestructableIdentifiableInitializableComponent
-        implements EndpointResolver {
+public abstract class AbstractEndpointResolver<EndpointType extends Endpoint>
+        extends AbstractDestructableIdentifiableInitializableComponent implements EndpointResolver<EndpointType> {
 
     /** Class logger. */
     @Nonnull private Logger log = LoggerFactory.getLogger(AbstractEndpointResolver.class);
@@ -83,22 +85,22 @@
 
     /** {@inheritDoc} */
     @Override
-    @Nonnull @NonnullElements public Iterable<Endpoint> resolve(@Nullable final CriteriaSet criteria)
+    @Nonnull @NonnullElements public Iterable<EndpointType> resolve(@Nullable final CriteriaSet criteria)
             throws ResolverException {
         validateCriteria(criteria);
         
         if (canUseRequestedEndpoint(criteria)) {
-            final Endpoint endpoint = criteria.get(EndpointCriterion.class).getEndpoint();
+            final EndpointType endpoint = (EndpointType) criteria.get(EndpointCriterion.class).getEndpoint();
             if (doCheckEndpoint(criteria, endpoint)) {
-                return Collections.singletonList(endpoint);
+                return Collections.<EndpointType>singletonList(endpoint);
             } else {
                 log.debug("{} Requested endpoint was rejected by extended validation process", getLogPrefix());
                 return Collections.emptyList();
             }
         }
         
-        final List<Endpoint> candidates = getCandidatesFromMetadata(criteria);
-        final Iterator<Endpoint> i = candidates.iterator();
+        final List<EndpointType> candidates = getCandidatesFromMetadata(criteria);
+        final Iterator<EndpointType> i = candidates.iterator();
         while (i.hasNext()) {
             if (!doCheckEndpoint(criteria, i.next())) {
                 i.remove();
@@ -111,11 +113,11 @@
 
     /** {@inheritDoc} */
     @Override
-    @Nullable public Endpoint resolveSingle(@Nullable final CriteriaSet criteria) throws ResolverException {
+    @Nullable public EndpointType resolveSingle(@Nullable final CriteriaSet criteria) throws ResolverException {
         validateCriteria(criteria);
 
         if (canUseRequestedEndpoint(criteria)) {
-            final Endpoint endpoint = criteria.get(EndpointCriterion.class).getEndpoint();
+            final EndpointType endpoint = (EndpointType) criteria.get(EndpointCriterion.class).getEndpoint();
             if (doCheckEndpoint(criteria, endpoint)) {
                 return endpoint;
             } else {
@@ -124,7 +126,7 @@
             }
         }
         
-        for (final Endpoint candidate : getCandidatesFromMetadata(criteria)) {
+        for (final EndpointType candidate : getCandidatesFromMetadata(criteria)) {
             if (doCheckEndpoint(criteria, candidate)) {
                 return candidate;
             }
@@ -142,7 +144,7 @@
      * 
      * @return  true iff the endpoint meets the supplied criteria
      */
-    protected boolean doCheckEndpoint(@Nonnull final CriteriaSet criteria, @Nonnull final Endpoint endpoint) {
+    protected boolean doCheckEndpoint(@Nonnull final CriteriaSet criteria, @Nonnull final EndpointType endpoint) {
         return true;
     }
 
@@ -175,7 +177,7 @@
      * @return true iff the supplied endpoint via {@link EndpointCriterion} should be returned
      */

[... 159 lines stripped ...]


More information about the commits mailing list