<div dir="ltr"><div class="gmail-gs" style="margin:0px;padding:0px 0px 20px;width:805.718px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium"><div class="gmail-"><div id="gmail-:33i" class="gmail-ii gmail-gt" style="font-size:0.875rem;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-:33h" class="gmail-a3s gmail-aiL" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr">I have a requirement for having multiple warning intercepts set up, triggered based on the resolved attributes.  However, I only want the first one which matches to be displayed, and any further ones to be skipped.<div><br></div><div>I'm currently doing this with multiple entries in the shibboleth.warning.ConditionMap pointing to a scripted condition which when it decides to show the condition, it also shoves a flag into the AuthenticationContext stateMap.  If the later conditions see that flag, they bypass their check.  Is this the best way?  Is the ordering of the conditions in the ConditionMap fixed, or can it vary?  I need to enforce an ordering, so if condition A is displayed, then do not show B or C.   If A does not apply, but B does, then display B, but skip C.</div><div><br></div><div>I started going down the path of just having a single warning intercept that performed all of the logic, but from what I can tell, I can only have one view that way (named after the key in the ConditionMap).</div><div><br></div><div>As an aside, is there a way to reduce the code duplication in my conditions?  Every one has the same basic format (grab stuff from the auth context, rp context and attribute context, verify the authcontext flag isn't ready set, verify the RP is not one that's excluded, then check an attribute for a value (or lack of value), then set the flag and show the intercept, or just return false and move on to the next.   It kills me to have the same code with only minor variations repeated multiple times.  </div><div><br></div><div>Thanks,</div><div><br></div><div>-jeaton</div></div><div class="gmail-yj6qo"></div><div class="gmail-adL"></div></div></div><div class="gmail-hi" style="border-bottom-left-radius:1px;border-bottom-right-radius:1px;padding:0px;width:auto;background:rgb(242,242,242);margin:0px"></div></div></div><br class="gmail-Apple-interchange-newline"></div>