[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