On Thu, Sep 3, 2009 at 3:24 PM, Emmanuel Lecharny <firstname.lastname@example.org>
Let me bit more precies. We have a CoreSession which uses an OperationManager which pushes the operation into the InterceptorChain which calls the NexusPartition method. Pfeww...
Alex Karasulu wrote:
On Thu, Sep 3, 2009 at 2:59 PM, Kiran Ayyagari <email@example.com>wrote:
right now, the Partition interface is used in two places :
- as the interceptor chain entry point
- as the facade for the specific backends (JDBM, LDIF, Oracle...)
We are using the same interface in both case.
What about defining two different interfaces ? One for the chain, one for
the backend ?
Don't know for sure. Need to think a bit more about this. What specific
entry point into the chain are you citing as using the Partition interface?
I thought we used LdapSession which has similar methods yet adapted to deal
with session related concerns.
LdapSession is the adaptation of Partition that you're looking for I think.
This is this NexusPartition I suggest to be the base interface, and when we hit the backend, we use an extended interface.
Is it more clear ?
Yep much clearer now. Yes I agree that there's some improvements to be made on the relationship between NexusPartition and Partition especially now that several things have shifted in the architecture of the server. I know we have remnants of crap that still plagues these interfaces. This is a great time to eradicate them!
Then we have to define it. We can rename the BTreePartion to be XdbmPartition
I agree. I think this is a base XdbmPartition implementation really.
The chain interface (ie, Partition, to keep the existing name), will carry
yeap, and one more thing is to change the BTreePartition class name too.
the operations (add, delete, search...), the other interface, named
BackendPartition, which expose a bit more methods, like the sync() method,
get/set Id, get/set SuffixDn, etc.
Does it make sense to you ?
(I somehow feel that it doesn't sound like a generic base class)
Sounds good to me.