[java-identity-provider COMMIT] in /trunk: idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/Defaul...

noreply at shibboleth.net noreply at shibboleth.net
Fri Mar 14 10:00:53 EDT 2014


Author: rdw
Date: Fri Mar 14 10:00:53 2014
New Revision: 5574

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5574&view=rev
Log:
IDP-277 Make the DefaultRelyingPartyConifgurationResolver aware of Anonymous, Default, and named RelyingParties and test.  Modify parser and test.

Added:
    trunk/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml   (with props)
Modified:
    trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
    trunk/idp-profile-impl/src/test/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolverTest.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/AnonymousRelyingPartyParser.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/DefaultRelyingPartyParser.java
    trunk/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupParser.java
    trunk/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java

Modified: trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java?rev=5574&r1=5573&r2=5574&view=diff
==============================================================================
--- trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java (original)
+++ trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/relyingparty/impl/DefaultRelyingPartyConfigurationResolver.java Fri Mar 14 10:00:53 2014
@@ -25,8 +25,10 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.idp.profile.logic.AnonymousProfilePredicate;
 import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
 import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 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;
@@ -40,6 +42,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
@@ -60,11 +63,21 @@
     @Nonnull private final Logger log = LoggerFactory.getLogger(DefaultRelyingPartyConfigurationResolver.class);
 
     /** Registered relying party configurations. */
-    private List<RelyingPartyConfiguration> rpConfigurations;
+    @Nonnull private List<RelyingPartyConfiguration> rpConfigurations;
+
+    /** Default relying party configurations, called if no other configuration matches. */
+    @NonnullAfterInit private RelyingPartyConfiguration defaultConfiguration;
+
+    /** Anonymous relying party configurations, called if the profile is Anonymous. */
+    @Nullable private RelyingPartyConfiguration anonymousConfiguration;
+
+    /** The predicate which decides if this context is "Anonymous". */
+    @NonnullAfterInit private Predicate<ProfileRequestContext> isAnonymousPredicate;
 
     /** Constructor. */
     public DefaultRelyingPartyConfigurationResolver() {
         rpConfigurations = Collections.emptyList();
+        isAnonymousPredicate = new AnonymousProfilePredicate();
     }
 
     /**
@@ -84,12 +97,67 @@
      * 
      * @param configs list of registered relying party configurations
      */
-    public void setRelyingPartyConfigurations(
-            @Nonnull @NonnullElements final List<RelyingPartyConfiguration> configs) {
+    public void setRelyingPartyConfigurations(@Nonnull @NonnullElements final List<RelyingPartyConfiguration> configs) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         Constraint.isNotNull(configs, "RelyingPartyConfiguration collection cannot be null");
 
         rpConfigurations = Lists.newArrayList(Collections2.filter(configs, Predicates.notNull()));
+    }
+
+    /**
+     * Get the {@link RelyingPartyConfiguration} to use if no other configuration is acceptable.
+     * 
+     * @return Returns the defaultConfiguration.
+     */
+    @NonnullAfterInit public RelyingPartyConfiguration getDefaultConfiguration() {
+        return defaultConfiguration;
+    }
+
+    /**
+     * Set the {@link RelyingPartyConfiguration} to use if no other configuration is acceptable.
+     * 
+     * @param configuration The defaultConfiguration to set.
+     */
+    public void setDefaultConfiguration(RelyingPartyConfiguration configuration) {
+        defaultConfiguration = configuration;
+    }
+
+    /**

[... 413 lines stripped ...]


More information about the commits mailing list