[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