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 ?
yeap, and one more thing is to change the BTreePartition class name too.
The chain interface (ie, Partition, to keep the existing name), will carry 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)
A problem I often encounter when writing a new partition is with the cast in DefaultDirectoryService
where it assumes that all partitions are JdbmPartitionS, I think the time is right to get this fixed.