[java-identity-provider COMMIT] in /trunk/idp-saml-api/src: main/java/net/shibboleth/idp/saml/saml1/profile/config/At...

noreply at shibboleth.net noreply at shibboleth.net
Fri Mar 11 21:56:48 EST 2016


Author: scantor
Date: Fri Mar 11 21:56:47 2016
New Revision: 8150

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8150&view=rev
Log:
IDP-948 - Dynamic determination of profile and relying party configuration settings

https://issues.shibboleth.net/jira/browse/IDP-948

Make ArtifactConfiguration property dynamic.

Added:
    trunk/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfigurationTest.java
Modified:
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java
    trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfiguration.java
    trunk/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfigurationTest.java
    trunk/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfigurationTest.java

Modified: trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java?rev=8150&r1=8149&r2=8150&view=diff
==============================================================================
--- trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java	(original)
+++ trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml1/profile/config/AttributeQueryProfileConfiguration.java	Fri Mar 11 21:56:47 2016
@@ -20,6 +20,8 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import com.google.common.base.Function;
+import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.profile.logic.NoIntegrityMessageChannelPredicate;
 
 import net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration;
@@ -34,6 +36,9 @@
 
     /** ID for this profile configuration. */
     public static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/saml1/query/attribute";
+
+    /** Lookup function to supply {@link #artifactConfig} property. */
+    @Nullable private Function<ProfileRequestContext,SAMLArtifactConfiguration> artifactConfigurationLookupStrategy;
 
     /** SAML artifact configuration. */
     @Nullable private SAMLArtifactConfiguration artifactConfig;
@@ -55,7 +60,7 @@
     
     /** {@inheritDoc} */
     @Override @Nullable public SAMLArtifactConfiguration getArtifactConfiguration() {
-        return artifactConfig;
+        return getIndirectProperty(artifactConfigurationLookupStrategy, artifactConfig);
     }
 
     /**
@@ -67,4 +72,14 @@
         artifactConfig = config;
     }
 
+    /**
+     * Set a lookup strategy for the {@link #artifactConfig} property.
+     *
+     * @param strategy  lookup strategy
+     */
+    public void setArtifactConfigurationLookupStrategy(
+            @Nullable final Function<ProfileRequestContext,SAMLArtifactConfiguration> strategy) {
+        artifactConfigurationLookupStrategy = strategy;
+    }
+
 }

Modified: trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java?rev=8150&r1=8149&r2=8150&view=diff
==============================================================================
--- trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java	(original)
+++ trunk/idp-saml-api/src/main/java/net/shibboleth/idp/saml/saml2/profile/config/AttributeQueryProfileConfiguration.java	Fri Mar 11 21:56:47 2016
@@ -20,6 +20,8 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import com.google.common.base.Function;
+import org.opensaml.profile.context.ProfileRequestContext;
 import org.opensaml.profile.logic.NoConfidentialityMessageChannelPredicate;
 import org.opensaml.profile.logic.NoIntegrityMessageChannelPredicate;
 
@@ -33,6 +35,9 @@
 
     /** ID for this profile configuration. */
     public static final String PROFILE_ID = "http://shibboleth.net/ns/profiles/saml2/query/attribute";
+
+    /** Lookup function to supply {@link #artifactConfig} property. */
+    @Nullable private Function<ProfileRequestContext,SAMLArtifactConfiguration> artifactConfigurationLookupStrategy;
 
     /** SAML artifact configuration. */
     @Nullable private SAMLArtifactConfiguration artifactConfig;
@@ -55,7 +60,7 @@
     
     /** {@inheritDoc} */
     @Override @Nullable public SAMLArtifactConfiguration getArtifactConfiguration() {
-        return artifactConfig;
+        return getIndirectProperty(artifactConfigurationLookupStrategy, artifactConfig);
     }
 
     /**
@@ -67,4 +72,14 @@

[... 170 lines stripped ...]


More information about the commits mailing list