we have a very deep dependency hierarchy within apacheds:
jdbm-partition has dependency to
|- xdbm-search has dependency to
|- jdbm-store has test dependency to
|- core-avl has dependency to
|- xdbm-base has dependency to
|- core-api has dependency to
As far as I know xdbm has been spitted into two separate modules to
decouple it from jdbm but keep the search engine (xdbm-search) testable
using jdbm-store, which is an implementation of xdbm-base.
Today we have another store implementation, the in-memory AVL store.
This would make it possible to merge xdbm-base and xdbm-search again. A
requirement is to move the AVL store classes from avl-partition to xdbm
and use the AVL store for testing the XDBM search engine.
The resulting dependency tree then would look like this:
|- xdbm (merged xdbm-search and xdbm-base plus AVL store classes)
IMO this step brings lot of advantages: Less modules. Less dependencies.
XDBM gets completely decoupled from JDBM.
P.S. A further step is to merge jdbm-store into jdbm-partition and maybe
core-avl into core-api.