Interceptors don't "execute in reverse order", they're each a "wrapper"
around the next interceptor's execution, and eventually, the action itself.

If the interceptor is firing twice there's been to requests, which could be
a result of a redirect.

Dave

On Fri, Dec 10, 2010 at 1:50 PM, Biesbrock, Kevin <biesbrock.ke...@aoins.com
> wrote:

> I'm not really sure how to ask this question, so please bear with me.
>
> Requirement:
> The system has several functions which a typical user can perform.  The
> user selects a function and the appropriate action is executed.  If that
> action implements myObjectAware, myObjectInterceptor retrieves myObject
> (which is based on dates).  This is all working correctly.
>
> The Problem:
> An administrative user has the option to override these
> function/date-based selectors by providing myObjectId as a parameter in
> the url (e.g., ?myObjectId=1).  While watching the logs, the
> myObjectInterceptor is executed the first time with myObjectId=1.  This
> is where my understanding becomes a little cloudy.  I believe after the
> interceptor is executed initially (and the rest of the interceptor stack
> is executed), the action is executed, and then the interceptors are
> executed in reverse order.  This is what appears to be happening and the
> second time my interceptor is executed, myObjectid=null (i.e.,
> myObjectId is not a parameter on the request).
>
> I think I understand why this happens...because in the response (i.e.,
> the result), the myObjectId is not being carried over from the initial
> request.
>
> Because myObjectId=null, myObjectInterceptor believes that it should
> resort to the function/date-based selection of myObject; thereby
> effectively ignoring the administrative user's request and selecting
> myObject by function/date.
>
> Question:
> How should I be handling the second execution of myObjectInterceptor?
> 1. Is there a way to ignore the second execution of myObjectInterceptor?
> 2. Should I create a public property on *all of my actions* to store
> myObjectId?
> 3. Some much simpler way I'm overlooking?
>
> Hopefully this is enough info to at least get a conversation started.
>
> I appreciate your time in reading this.
>
> Sincerely,
> Beez
>

Reply via email to