[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml: common/profile/impl/AddAudienceR...
noreply at shibboleth.net
noreply at shibboleth.net
Thu May 15 23:17:51 EDT 2014
Author: scantor
Date: Thu May 15 23:17:51 2014
New Revision: 3879
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3879&view=rev
Log:
IDP-137 - Action to add ProxyRestriction
Added:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddProxyRestrictionToAssertions.java (with props)
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java?rev=3879&r1=3878&r2=3879&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/AddAudienceRestrictionToAssertions.java Thu May 15 23:17:51 2014
@@ -73,6 +73,9 @@
/** Response to modify. */
@Nullable private SAMLObject response;
+
+ /** Audiences to add. */
+ @Nullable private Collection<String> audiences;
/**
* Constructor. Initializes {@link #addingAudiencesToExistingRestriction} to <code>true</code>. Initializes
@@ -90,8 +93,7 @@
*
* @param strategy lookup strategy
*/
- public synchronized void setResponseLookupStrategy(
- @Nonnull final Function<ProfileRequestContext,SAMLObject> strategy) {
+ public void setResponseLookupStrategy(@Nonnull final Function<ProfileRequestContext,SAMLObject> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
responseLookupStrategy = Constraint.isNotNull(strategy, "Response lookup strategy cannot be null");
@@ -104,7 +106,7 @@
* @param addingToExistingRestriction whether this action will add its audiences to that restriction or create
* another one
*/
- public synchronized void setAddingAudiencesToExistingRestriction(final boolean addingToExistingRestriction) {
+ public void setAddingAudiencesToExistingRestriction(final boolean addingToExistingRestriction) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
addingAudiencesToExistingRestriction = addingToExistingRestriction;
@@ -115,7 +117,7 @@
*
* @param strategy lookup strategy
*/
- public synchronized void setAudienceRestrictionsLookupStrategy(
+ public void setAudienceRestrictionsLookupStrategy(
@Nonnull final Function<ProfileRequestContext,Collection<String>> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
@@ -136,6 +138,13 @@
/** {@inheritDoc} */
@Override
protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
+
+ audiences = audienceRestrictionsLookupStrategy.apply(profileRequestContext);
+ if (audiences == null || audiences.isEmpty()) {
+ log.debug("{} No audiences to add, nothing to do", getLogPrefix());
+ return false;
+ }
+
log.debug("{} Attempting to add an AudienceRestrictionCondition to every Assertion in Response",
getLogPrefix());
@@ -202,7 +211,7 @@
XMLObjectProviderRegistrySupport.getBuilderFactory(
).<org.opensaml.saml.saml1.core.Audience>getBuilderOrThrow(
org.opensaml.saml.saml1.core.Audience.DEFAULT_ELEMENT_NAME);
- for (final String audienceId : audienceRestrictionsLookupStrategy.apply(profileRequestContext)) {
+ for (final String audienceId : audiences) {
log.debug("{} Adding {} as an Audience of the AudienceRestrictionCondition", getLogPrefix(), audienceId);
final org.opensaml.saml.saml1.core.Audience audience = audienceBuilder.buildObject();
audience.setUri(audienceId);
@@ -226,7 +235,7 @@
XMLObjectProviderRegistrySupport.getBuilderFactory(
).<org.opensaml.saml.saml2.core.Audience>getBuilderOrThrow(
org.opensaml.saml.saml2.core.Audience.DEFAULT_ELEMENT_NAME);
- for (final String audienceId : audienceRestrictionsLookupStrategy.apply(profileRequestContext)) {
+ for (final String audienceId : audiences) {
log.debug("{} Adding {} as an Audience of the AudienceRestriction", getLogPrefix(), audienceId);
final org.opensaml.saml.saml2.core.Audience audience = audienceBuilder.buildObject();
audience.setAudienceURI(audienceId);
More information about the commits
mailing list