On 11/7/11 10:36 PM, Kiran Ayyagari wrote:
On Mon, Nov 7, 2011 at 3:55 PM, Emmanuel Lecharny<[email protected]>  wrote:
Hi guys,

I played around some of the ideas we discussed last week on the mailing
list, about the way we handle the chain and the interceptors.

What I did was pretty simple : I modified the way we process the
getRootDse() operation. This impact many classes :
o OperationContext :
This interface exposes 4 more methods :
  List<String>  getInterceptors() which returns the list of interceptors to
execute for this operation
  void setInterceptors( List<String>  interceptors ) which sets the list of
interceptors to execute for this operation
I would suggest we remove this mutable operation and fill the
interceptor list with whatever there in the DS automatically
Absolutely. See what I suggest at the end.

And I think(purely random thinking) that exposing this interceptor
list before lead to the convenient idea of 'let us use bypass list'
to get past the re-entry issue

Not sure I get the idea you are trying to push here. Can you clarify ?

o AbstractOperationContext :
This is where we implement the four added methods.

...
    /** The interceptors to call for this operation */
    protected List<String>  interceptors;

I would prefer not to expose this to the subclasses
+1

    /** The current interceptor position */
    protected int currentInterceptor;
...
    public AbstractOperationContext( CoreSession session )
    {
        this.session = session;
        currentInterceptor = 0;
    }
...
    public List<String>  getInterceptors()
    {
        return interceptors;
    }

    public void setInterceptors( List<String>  interceptors )
    {
        this.interceptors = interceptors;
    }

and removing the above setter

We can take care of this. Its just a proof of concept atm.
o Interceptor :
The second main difference. We don't pass anymore the NextInterceptor
I think we can still achieve the behavior of next.add() with next(opContext)
and continue executing (definitely possible now, but just saying)

This is what is done. Did I missed something ?



--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to