[java-opensaml COMMIT] /trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfi...

noreply at shibboleth.net noreply at shibboleth.net
Mon Feb 24 15:00:38 EST 2014


Author: scantor
Date: Mon Feb 24 15:00:38 2014
New Revision: 3646

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3646&view=rev
Log:
Forgot to expose a setter for condition.

Modified:
    trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java

Modified: trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java?rev=3646&r1=3645&r2=3646&view=diff
==============================================================================
--- trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java (original)
+++ trunk/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java Mon Feb 24 15:00:38 2014
@@ -19,6 +19,9 @@
 
 import javax.annotation.Nonnull;
 
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
 import org.opensaml.profile.ProfileException;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.LoggerFactory;
@@ -27,7 +30,11 @@
 import com.google.common.base.Predicates;
 
 /**
- * Base class for profile actions.
+ * Base class for conditional profile actions.
+ * 
+ * <p>A condition does not represent a situation in which an error should be raised, but that normal
+ * processing should continue and the action simply doesn't apply, so a false condition does not
+ * raise a non-proceed event.</p>
  * 
  * @param <InboundMessageType> type of in-bound message
  * @param <OutboundMessageType> type of out-bound message
@@ -43,6 +50,17 @@
         activationCondition = Predicates.alwaysTrue();
     }
 
+    /**
+     * Set activation condition indicating whether action should execute.
+     * 
+     * @param condition predicate to apply
+     */
+    public void setActivationCondition(@Nonnull final Predicate<ProfileRequestContext> condition) {
+        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        
+        activationCondition = Constraint.isNotNull(condition, "Predicate cannot be null");
+    }
+    
     /** {@inheritDoc} */
     @Override
     protected boolean doPreExecute(



More information about the commits mailing list