You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Alex Karasulu <ak...@apache.org> on 2009/04/09 19:20:34 UTC
[ApacheDS] Package cleanup
Hi all,
I've been looking at the packages in the apacheds project and as you can
imagine many things grew wild out of short term efforts to get things done.
Before we move forward with a 2.0 and even sooner before considering any
kind of use for OSGi we need to clean up this package structure and have
some order. From then on we can take care in how we organize things.
I'd like to open a discussion about how best to organize our package
structure. I'll seed it by listing my objectives:
(1) cleanup unused modules and packages
(2) split out interfaces from implementations into their own packages and
modules
(3) have a consistent scheme for naming and allocating sub packages under
o.a.d.server.core and o.a.d.server
Our inherent policy was to use o.a.d.server.core.* for packages associated
with the DirectoryService which did not require any network access. It was
for everything needed to store and manage LDAP entries and conduct LDAP
operations on them without having to go over the wire. The o.a.d.server.*
packages minus o.a.d.server.core.* was for anything above this layer that
depended on it and used some kind of networking like the LdapService and the
AuthenticationService (in the protocol-kerberos module).
Over time with most developers working in this project this convention
started to get mixed up. I was wondering if this convention is worth
keeping or something beter can be proposed. If we keep this convention I
will cleanup and make sure everything follows it.
Next I would like to have a consistent naming scheme for the modules. Any
ideas here?
Thanks,
Alex
----------------------------------
I ran the following command to generate a listing of the Maven modules and
their packages:
find . -type d | egrep
'.*src\/main\/java\/org\/apache\/directory\/server\/.*' | grep -v .svn | sed
-e 's/\/src\/main\/java\// /' | sed -e 's/\//\./g' | sed -e 's/\.\.//' |
sort
Here's the list of packages grouped by module:
avl-partition
org.apache.directory.server.core
org.apache.directory.server.core.partition
org.apache.directory.server.core.partition.avl
bootstrap-extract
org.apache.directory.server.schema
org.apache.directory.server.schema.bootstrap
org.apache.directory.server.schema.bootstrap.partition
bootstrap-plugin
org.apache.directory.server.core
org.apache.directory.server.core.bootstrap
org.apache.directory.server.core.bootstrap.plugin
core-api
org.apache.directory.server.core
org.apache.directory.server.core.changelog
org.apache.directory.server.core.event
org.apache.directory.server.core.filtering
org.apache.directory.server.core.interceptor
org.apache.directory.server.core.interceptor.context
org.apache.directory.server.core.invocation
org.apache.directory.server.core.partition
org.apache.directory.server.core.schema
org.apache.directory.server.core
org.apache.directory.server.core.avltree
core-constants
org.apache.directory.server.constants
core-cursor
org.apache.directory.server.core
org.apache.directory.server.core.cursor
core-entry
org.apache.directory.server.core
org.apache.directory.server.core.entry
core-integ
org.apache.directory.server.core
org.apache.directory.server.core.integ
org.apache.directory.server.core.integ.annotations
org.apache.directory.server.core.integ.state
org.apache.directory.server.core
org.apache.directory.server.core.interceptor
org.apache.directory.server.core.interceptor.context
core-jndi
org.apache.directory.server.core
org.apache.directory.server.core.jndi
core
org.apache.directory.server.core
org.apache.directory.server.core.authn
org.apache.directory.server.core.authz
org.apache.directory.server.core.authz.support
org.apache.directory.server.core.changelog
org.apache.directory.server.core.collective
org.apache.directory.server.core.configuration
org.apache.directory.server.core.event
org.apache.directory.server.core.exception
org.apache.directory.server.core.impl
org.apache.directory.server.core.normalization
org.apache.directory.server.core.operational
org.apache.directory.server.core.partition
org.apache.directory.server.core.prefs
org.apache.directory.server.core.referral
org.apache.directory.server.core.schema
org.apache.directory.server.core.security
org.apache.directory.server.core.sp
org.apache.directory.server.core.sp.java
org.apache.directory.server.core.subtree
org.apache.directory.server.core.trigger
core-plugin
org.apache.directory.server.core
org.apache.directory.server.core.tools
org.apache.directory.server.core.tools.schema
core-shared
org.apache.directory.server.core
org.apache.directory.server.schema
org.apache.directory.server.schema.bootstrap
core-splay
org.apache.directory.server.core
org.apache.directory.server.core.splay
core-unit
org.apache.directory.server.core
org.apache.directory.server.core.unit
interceptor-kerberos
org.apache.directory.server.core
org.apache.directory.server.core.kerberos
jdbm-partition
org.apache.directory.server.core
org.apache.directory.server.core.partition
org.apache.directory.server.core.partition.jdbm
kerberos-shared
org.apache.directory.server.kerberos
org.apache.directory.server.kerberos.shared
org.apache.directory.server.kerberos.shared.crypto
org.apache.directory.server.kerberos.shared.crypto.checksum
org.apache.directory.server.kerberos.shared.crypto.encryption
org.apache.directory.server.kerberos.shared.exceptions
org.apache.directory.server.kerberos.shared.io
org.apache.directory.server.kerberos.shared.io.decoder
org.apache.directory.server.kerberos.shared.io.encoder
org.apache.directory.server.kerberos.shared.jaas
org.apache.directory.server.kerberos.shared.keytab
org.apache.directory.server.kerberos.shared.messages
org.apache.directory.server.kerberos.shared.messages.application
org.apache.directory.server.kerberos.shared.messages.components
org.apache.directory.server.kerberos.shared.messages.value
org.apache.directory.server.kerberos.shared.messages.value.flags
org.apache.directory.server.kerberos.shared.messages.value.types
org.apache.directory.server.kerberos.shared.replay
org.apache.directory.server.kerberos.shared.service
org.apache.directory.server.kerberos.shared.store
org.apache.directory.server.kerberos.shared.store.operations
ldif-partition
org.apache.directory.server.core
org.apache.directory.server.core.partition
org.apache.directory.server.core.partition.ldif
oracle-partition
org.apache.directory.server.partition
org.apache.directory.server.partition.impl
org.apache.directory.server.partition.impl.oracle
protocol-changepw
org.apache.directory.server.changepw
org.apache.directory.server.changepw.exceptions
org.apache.directory.server.changepw.io
org.apache.directory.server.changepw.messages
org.apache.directory.server.changepw.protocol
org.apache.directory.server.changepw.service
org.apache.directory.server.changepw.value
protocol-dhcp
org.apache.directory.server.dhcp
org.apache.directory.server.dhcp.io
org.apache.directory.server.dhcp.messages
org.apache.directory.server.dhcp.options
org.apache.directory.server.dhcp.options.dhcp
org.apache.directory.server.dhcp.options.linklayer
org.apache.directory.server.dhcp.options.misc
org.apache.directory.server.dhcp.options.perhost
org.apache.directory.server.dhcp.options.perinterface
org.apache.directory.server.dhcp.options.tcp
org.apache.directory.server.dhcp.options.vendor
org.apache.directory.server.dhcp.protocol
org.apache.directory.server.dhcp.service
org.apache.directory.server.dhcp.store
protocol-dns
org.apache.directory.server.dns
org.apache.directory.server.dns.io
org.apache.directory.server.dns.io.decoder
org.apache.directory.server.dns.io.encoder
org.apache.directory.server.dns.messages
org.apache.directory.server.dns.protocol
org.apache.directory.server.dns.service
org.apache.directory.server.dns.store
org.apache.directory.server.dns.store.jndi
org.apache.directory.server.dns.store.jndi.operations
org.apache.directory.server.dns.util
protocol-kerberos
org.apache.directory.server.kerberos
org.apache.directory.server.kerberos.kdc
org.apache.directory.server.kerberos.kdc.authentication
org.apache.directory.server.kerberos.kdc.ticketgrant
org.apache.directory.server.kerberos.protocol
org.apache.directory.server.kerberos.sam
protocol-ldap
org.apache.directory.server.ldap
org.apache.directory.server.ldap.gui
org.apache.directory.server.ldap.handlers
org.apache.directory.server.ldap.handlers.bind
org.apache.directory.server.ldap.handlers.bind.cramMD5
org.apache.directory.server.ldap.handlers.bind.digestMD5
org.apache.directory.server.ldap.handlers.bind.gssapi
org.apache.directory.server.ldap.handlers.bind.ntlm
org.apache.directory.server.ldap.handlers.bind.plain
org.apache.directory.server.ldap.handlers.controls
org.apache.directory.server.ldap.handlers.extended
org.apache.directory.server.ldap.handlers.ssl
org.apache.directory.server.ldap.handlers.starttls
protocol-ntp
org.apache.directory.server.ntp
org.apache.directory.server.ntp.io
org.apache.directory.server.ntp.messages
org.apache.directory.server.ntp.protocol
org.apache.directory.server.ntp.service
protocol-shared
org.apache.directory.server.protocol
org.apache.directory.server.protocol.shared
org.apache.directory.server.protocol.shared.catalog
org.apache.directory.server.protocol.shared.store
org.apache.directory.server.protocol.shared.transport
schema-bootstrap
org.apache.directory.server.schema
org.apache.directory.server.schema.bootstrap
schema-extras
org.apache.directory.server.schema
org.apache.directory.server.schema.bootstrap
schema-registries
org.apache.directory.server.schema
org.apache.directory.server.schema.registries
server-integ
org.apache.directory.server.integ
org.apache.directory.server.integ.state
server-jndi
org.apache.directory.server.configuration
server-replication
org.apache.directory.server.replication
org.apache.directory.server.replication.configuration
server-sar
org.apache.directory.server.sar
server-tools
org.apache.directory.server.tools
server-unit
org.apache.directory.server.unit
utils
org.apache.directory.server.utils
xdbm-base
org.apache.directory.server.xdbm
org.apache.directory.server.xdbm.search
xdbm-search
org.apache.directory.server.xdbm
org.apache.directory.server.xdbm.search
org.apache.directory.server.xdbm.search.impl
xdbm-tools
org.apache.directory.server.xdbm
org.apache.directory.server.xdbm.tools
org.apache.directory.server.xdbm.tools.ui
--
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
Re: [ApacheDS] Package cleanup
Posted by Alex Karasulu <ak...@gmail.com>.
On Fri, Apr 10, 2009 at 11:32 AM, Emmanuel Lecharny <el...@apache.org>wrote:
> Alex Karasulu wrote:
>
>> Hi all,
>>
>> I've been looking at the packages in the apacheds project and as you can
>> imagine many things grew wild out of short term efforts to get things
>> done.
>> Before we move forward with a 2.0 and even sooner before considering any
>> kind of use for OSGi we need to clean up this package structure and have
>> some order. From then on we can take care in how we organize things.
>>
>>
> I agree. I think that at some point, we were so focused to get 2.0 out that
> we dismissed any reorganization.
>
>> I'd like to open a discussion about how best to organize our package
>> structure. I'll seed it by listing my objectives:
>>
>> (1) cleanup unused modules and packages
>> (2) split out interfaces from implementations into their own packages and
>> modules
>>
>>
> I think we also have to check if we really need some of the interfaces we
> have, when there is only one implementation...
In most cases I would agree with you. But in general having an interface is
safer for the time being until later you realize you will not have more than
one implementation.
>
> (3) have a consistent scheme for naming and allocating sub packages under
>> o.a.d.server.core and o.a.d.server
>>
>> Our inherent policy was to use o.a.d.server.core.* for packages associated
>> with the DirectoryService which did not require any network access. It
>> was
>> for everything needed to store and manage LDAP entries and conduct LDAP
>> operations on them without having to go over the wire. The o.a.d.server.*
>> packages minus o.a.d.server.core.* was for anything above this layer that
>> depended on it and used some kind of networking like the LdapService and
>> the
>> AuthenticationService (in the protocol-kerberos module).
>> Over time with most developers working in this project this convention
>> started to get mixed up. I was wondering if this convention is worth
>> keeping or something beter can be proposed. If we keep this convention I
>> will cleanup and make sure everything follows it.
>>
>> Next I would like to have a consistent naming scheme for the modules. Any
>> ideas here?
>>
>> I think we should add a 'protocol' between 'server' and 'ldap'
>
That might be a good idea. I was also wondering about nesting again where
you have multiproject directories under apacheds for things like protocols,
core, ldap, kerberos etc. But then again kerberos will come out of apacheds
when we bud it off as it's own project.
>
>> server-replication
>> org.apache.directory.server.replication
>> org.apache.directory.server.replication.configuration
>>
>>
> It will be removed, and renamed to syncrepl. Now, should it be part of core
> ?
>
Probably not. I think it's networked and part of ldap/server as we
discussed.
xdbm-base
>> org.apache.directory.server.xdbm
>> org.apache.directory.server.xdbm.search
>>
>> xdbm-search
>> org.apache.directory.server.xdbm
>> org.apache.directory.server.xdbm.search
>> org.apache.directory.server.xdbm.search.impl
>>
>> xdbm-tools
>> org.apache.directory.server.xdbm
>> org.apache.directory.server.xdbm.tools
>> org.apache.directory.server.xdbm.tools.ui
>>
>>
> Why is xdbm not part of core ?
Yeah it should be probably. But I'm beginning to think that with nesting we
can do away with this *.core and *.server package naming scheme and module
names with core-* or server-*. I don't know but these were some things I
wanted to have a good discussion about.
I just want something clean, simple, easy to intuit and can last forever we
don't have to ever deal with this overhead again.
--
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
Re: [ApacheDS] Package cleanup
Posted by Emmanuel Lecharny <el...@apache.org>.
Alex Karasulu wrote:
> Hi all,
>
> I've been looking at the packages in the apacheds project and as you can
> imagine many things grew wild out of short term efforts to get things done.
> Before we move forward with a 2.0 and even sooner before considering any
> kind of use for OSGi we need to clean up this package structure and have
> some order. From then on we can take care in how we organize things.
>
I agree. I think that at some point, we were so focused to get 2.0 out
that we dismissed any reorganization.
> I'd like to open a discussion about how best to organize our package
> structure. I'll seed it by listing my objectives:
>
> (1) cleanup unused modules and packages
> (2) split out interfaces from implementations into their own packages and
> modules
>
I think we also have to check if we really need some of the interfaces
we have, when there is only one implementation...
> (3) have a consistent scheme for naming and allocating sub packages under
> o.a.d.server.core and o.a.d.server
>
> Our inherent policy was to use o.a.d.server.core.* for packages associated
> with the DirectoryService which did not require any network access. It was
> for everything needed to store and manage LDAP entries and conduct LDAP
> operations on them without having to go over the wire. The o.a.d.server.*
> packages minus o.a.d.server.core.* was for anything above this layer that
> depended on it and used some kind of networking like the LdapService and the
> AuthenticationService (in the protocol-kerberos module).
>
> Over time with most developers working in this project this convention
> started to get mixed up. I was wondering if this convention is worth
> keeping or something beter can be proposed. If we keep this convention I
> will cleanup and make sure everything follows it.
>
> Next I would like to have a consistent naming scheme for the modules. Any
> ideas here?
>
> Thanks,
> Alex
>
> ----------------------------------
>
> I ran the following command to generate a listing of the Maven modules and
> their packages:
>
> find . -type d | egrep
> '.*src\/main\/java\/org\/apache\/directory\/server\/.*' | grep -v .svn | sed
> -e 's/\/src\/main\/java\// /' | sed -e 's/\//\./g' | sed -e 's/\.\.//' |
> sort
>
> Here's the list of packages grouped by module:
>
>
> avl-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.avl
>
> bootstrap-extract
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
> org.apache.directory.server.schema.bootstrap.partition
>
> bootstrap-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.bootstrap
> org.apache.directory.server.core.bootstrap.plugin
>
> core-api
> org.apache.directory.server.core
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.event
> org.apache.directory.server.core.filtering
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
> org.apache.directory.server.core.invocation
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.schema
> org.apache.directory.server.core
> org.apache.directory.server.core.avltree
>
> core-constants
> org.apache.directory.server.constants
>
> core-cursor
> org.apache.directory.server.core
> org.apache.directory.server.core.cursor
>
> core-entry
> org.apache.directory.server.core
> org.apache.directory.server.core.entry
>
> core-integ
> org.apache.directory.server.core
> org.apache.directory.server.core.integ
> org.apache.directory.server.core.integ.annotations
> org.apache.directory.server.core.integ.state
> org.apache.directory.server.core
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
>
> core-jndi
> org.apache.directory.server.core
> org.apache.directory.server.core.jndi
>
> core
> org.apache.directory.server.core
> org.apache.directory.server.core.authn
> org.apache.directory.server.core.authz
> org.apache.directory.server.core.authz.support
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.collective
> org.apache.directory.server.core.configuration
> org.apache.directory.server.core.event
> org.apache.directory.server.core.exception
> org.apache.directory.server.core.impl
> org.apache.directory.server.core.normalization
> org.apache.directory.server.core.operational
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.prefs
> org.apache.directory.server.core.referral
> org.apache.directory.server.core.schema
> org.apache.directory.server.core.security
> org.apache.directory.server.core.sp
> org.apache.directory.server.core.sp.java
> org.apache.directory.server.core.subtree
> org.apache.directory.server.core.trigger
>
> core-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.tools
> org.apache.directory.server.core.tools.schema
>
> core-shared
> org.apache.directory.server.core
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> core-splay
> org.apache.directory.server.core
> org.apache.directory.server.core.splay
>
> core-unit
> org.apache.directory.server.core
> org.apache.directory.server.core.unit
>
> interceptor-kerberos
> org.apache.directory.server.core
> org.apache.directory.server.core.kerberos
>
> jdbm-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.jdbm
>
> kerberos-shared
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.shared
> org.apache.directory.server.kerberos.shared.crypto
> org.apache.directory.server.kerberos.shared.crypto.checksum
> org.apache.directory.server.kerberos.shared.crypto.encryption
> org.apache.directory.server.kerberos.shared.exceptions
> org.apache.directory.server.kerberos.shared.io
> org.apache.directory.server.kerberos.shared.io.decoder
> org.apache.directory.server.kerberos.shared.io.encoder
> org.apache.directory.server.kerberos.shared.jaas
> org.apache.directory.server.kerberos.shared.keytab
> org.apache.directory.server.kerberos.shared.messages
> org.apache.directory.server.kerberos.shared.messages.application
> org.apache.directory.server.kerberos.shared.messages.components
> org.apache.directory.server.kerberos.shared.messages.value
> org.apache.directory.server.kerberos.shared.messages.value.flags
> org.apache.directory.server.kerberos.shared.messages.value.types
> org.apache.directory.server.kerberos.shared.replay
> org.apache.directory.server.kerberos.shared.service
> org.apache.directory.server.kerberos.shared.store
> org.apache.directory.server.kerberos.shared.store.operations
>
> ldif-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.ldif
>
> oracle-partition
> org.apache.directory.server.partition
> org.apache.directory.server.partition.impl
> org.apache.directory.server.partition.impl.oracle
>
> protocol-changepw
> org.apache.directory.server.changepw
> org.apache.directory.server.changepw.exceptions
> org.apache.directory.server.changepw.io
> org.apache.directory.server.changepw.messages
> org.apache.directory.server.changepw.protocol
> org.apache.directory.server.changepw.service
> org.apache.directory.server.changepw.value
>
> protocol-dhcp
> org.apache.directory.server.dhcp
> org.apache.directory.server.dhcp.io
> org.apache.directory.server.dhcp.messages
> org.apache.directory.server.dhcp.options
> org.apache.directory.server.dhcp.options.dhcp
> org.apache.directory.server.dhcp.options.linklayer
> org.apache.directory.server.dhcp.options.misc
> org.apache.directory.server.dhcp.options.perhost
> org.apache.directory.server.dhcp.options.perinterface
> org.apache.directory.server.dhcp.options.tcp
> org.apache.directory.server.dhcp.options.vendor
> org.apache.directory.server.dhcp.protocol
> org.apache.directory.server.dhcp.service
> org.apache.directory.server.dhcp.store
>
> protocol-dns
> org.apache.directory.server.dns
> org.apache.directory.server.dns.io
> org.apache.directory.server.dns.io.decoder
> org.apache.directory.server.dns.io.encoder
> org.apache.directory.server.dns.messages
> org.apache.directory.server.dns.protocol
> org.apache.directory.server.dns.service
> org.apache.directory.server.dns.store
> org.apache.directory.server.dns.store.jndi
> org.apache.directory.server.dns.store.jndi.operations
> org.apache.directory.server.dns.util
>
> protocol-kerberos
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.kdc
> org.apache.directory.server.kerberos.kdc.authentication
> org.apache.directory.server.kerberos.kdc.ticketgrant
> org.apache.directory.server.kerberos.protocol
> org.apache.directory.server.kerberos.sam
>
> protocol-ldap
> org.apache.directory.server.ldap
> org.apache.directory.server.ldap.gui
> org.apache.directory.server.ldap.handlers
> org.apache.directory.server.ldap.handlers.bind
> org.apache.directory.server.ldap.handlers.bind.cramMD5
> org.apache.directory.server.ldap.handlers.bind.digestMD5
> org.apache.directory.server.ldap.handlers.bind.gssapi
> org.apache.directory.server.ldap.handlers.bind.ntlm
> org.apache.directory.server.ldap.handlers.bind.plain
> org.apache.directory.server.ldap.handlers.controls
> org.apache.directory.server.ldap.handlers.extended
> org.apache.directory.server.ldap.handlers.ssl
> org.apache.directory.server.ldap.handlers.starttls
>
I think we should add a 'protocol' between 'server' and 'ldap'
> protocol-ntp
> org.apache.directory.server.ntp
> org.apache.directory.server.ntp.io
> org.apache.directory.server.ntp.messages
> org.apache.directory.server.ntp.protocol
> org.apache.directory.server.ntp.service
>
> protocol-shared
> org.apache.directory.server.protocol
> org.apache.directory.server.protocol.shared
> org.apache.directory.server.protocol.shared.catalog
> org.apache.directory.server.protocol.shared.store
> org.apache.directory.server.protocol.shared.transport
>
> schema-bootstrap
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-extras
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-registries
> org.apache.directory.server.schema
> org.apache.directory.server.schema.registries
>
> server-integ
> org.apache.directory.server.integ
> org.apache.directory.server.integ.state
>
> server-jndi
> org.apache.directory.server.configuration
>
> server-replication
> org.apache.directory.server.replication
> org.apache.directory.server.replication.configuration
>
It will be removed, and renamed to syncrepl. Now, should it be part of
core ?
> server-sar
> org.apache.directory.server.sar
>
> server-tools
> org.apache.directory.server.tools
>
> server-unit
> org.apache.directory.server.unit
>
> utils
> org.apache.directory.server.utils
>
> xdbm-base
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
>
> xdbm-search
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
> org.apache.directory.server.xdbm.search.impl
>
> xdbm-tools
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.tools
> org.apache.directory.server.xdbm.tools.ui
>
Why is xdbm not part of core ?
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org
Re: [ApacheDS] Package cleanup
Posted by Alex Karasulu <ak...@gmail.com>.
On Sun, Apr 12, 2009 at 5:47 AM, Chris Custine <cc...@apache.org> wrote:
> I just want to add my 2 cents about the package reorg as it relates to
> OSGi. One of the most important things to accomplish with this reorg would
> be to remove split packages where some source files from the same package
> name are located in different jar files. There are many cases of this in
> the current source structure and it really causes a lot of issues with
> packaging as OSGi bundles. This is the main reason that I am packaging
> everything in one large bundle currently to do the OSGi proof of concept.
+1
This is exactly another problem I wanted to eradicate. Perhaps we should
just create new OSGi category in the DIRLDAP JIRA. We can just list these
issues and make sure we're straight for OSGi.
>
>
> Your suggestion about splitting interfaces and impls into their own
> packages and modules is also going to help the OSGi work substantially for
> the same reason.
Exactly! I'm trying to separate service interfaces from their
implementations. Besides these reasons I think this will also help to have
a more dynamically reconfigurable server. Would be great to have you
involved in this process. I think we're going to have to do OSGi and CiDIT
both at the same time.
Thanks Chris.
--
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
Re: [ApacheDS] Package cleanup
Posted by Chris Custine <cc...@apache.org>.
I just want to add my 2 cents about the package reorg as it relates to
OSGi. One of the most important things to accomplish with this reorg would
be to remove split packages where some source files from the same package
name are located in different jar files. There are many cases of this in
the current source structure and it really causes a lot of issues with
packaging as OSGi bundles. This is the main reason that I am packaging
everything in one large bundle currently to do the OSGi proof of concept.
Your suggestion about splitting interfaces and impls into their own packages
and modules is also going to help the OSGi work substantially for the same
reason. This will also make it easier to see how to extend or replace
functionality via custom bundles for protocols, partitions, etc. because the
built in implementations will be separate from the interfaces and will be a
starting point for new extensions.
I think that the split package issue is a major pain that will be great to
have fixed before doing more work on the OSGi stuff. This alone will be a
great help, and if there is any room at all to consolidate some of the
modules together, this will also make maintaining OSGi bundles much easier
as there will be fewer dependency relationships to maintain. My overall
wish would be to simplify the packages as much as possible during this
effort.
+1 obviously to Alex's suggestions as well...
Thanks,
Chris
--
Chris Custine
FUSESource :: http://fusesource.com
My Blog :: http://blog.organicelement.com
Apache ServiceMix :: http://servicemix.apache.org
Apache Directory Server :: http://directory.apache.org
On Thu, Apr 9, 2009 at 11:20 AM, Alex Karasulu <ak...@apache.org> wrote:
> Hi all,
>
> I've been looking at the packages in the apacheds project and as you can
> imagine many things grew wild out of short term efforts to get things done.
> Before we move forward with a 2.0 and even sooner before considering any
> kind of use for OSGi we need to clean up this package structure and have
> some order. From then on we can take care in how we organize things.
>
> I'd like to open a discussion about how best to organize our package
> structure. I'll seed it by listing my objectives:
>
> (1) cleanup unused modules and packages
> (2) split out interfaces from implementations into their own packages and
> modules
> (3) have a consistent scheme for naming and allocating sub packages under
> o.a.d.server.core and o.a.d.server
>
> Our inherent policy was to use o.a.d.server.core.* for packages associated
> with the DirectoryService which did not require any network access. It was
> for everything needed to store and manage LDAP entries and conduct LDAP
> operations on them without having to go over the wire. The o.a.d.server.*
> packages minus o.a.d.server.core.* was for anything above this layer that
> depended on it and used some kind of networking like the LdapService and the
> AuthenticationService (in the protocol-kerberos module).
>
> Over time with most developers working in this project this convention
> started to get mixed up. I was wondering if this convention is worth
> keeping or something beter can be proposed. If we keep this convention I
> will cleanup and make sure everything follows it.
>
> Next I would like to have a consistent naming scheme for the modules. Any
> ideas here?
>
> Thanks,
> Alex
>
> ----------------------------------
>
> I ran the following command to generate a listing of the Maven modules and
> their packages:
>
> find . -type d | egrep
> '.*src\/main\/java\/org\/apache\/directory\/server\/.*' | grep -v .svn | sed
> -e 's/\/src\/main\/java\// /' | sed -e 's/\//\./g' | sed -e 's/\.\.//' |
> sort
>
> Here's the list of packages grouped by module:
>
>
> avl-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.avl
>
> bootstrap-extract
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
> org.apache.directory.server.schema.bootstrap.partition
>
> bootstrap-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.bootstrap
> org.apache.directory.server.core.bootstrap.plugin
>
> core-api
> org.apache.directory.server.core
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.event
> org.apache.directory.server.core.filtering
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
> org.apache.directory.server.core.invocation
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.schema
> org.apache.directory.server.core
> org.apache.directory.server.core.avltree
>
> core-constants
> org.apache.directory.server.constants
>
> core-cursor
> org.apache.directory.server.core
> org.apache.directory.server.core.cursor
>
> core-entry
> org.apache.directory.server.core
> org.apache.directory.server.core.entry
>
> core-integ
> org.apache.directory.server.core
> org.apache.directory.server.core.integ
> org.apache.directory.server.core.integ.annotations
> org.apache.directory.server.core.integ.state
> org.apache.directory.server.core
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
>
> core-jndi
> org.apache.directory.server.core
> org.apache.directory.server.core.jndi
>
> core
> org.apache.directory.server.core
> org.apache.directory.server.core.authn
> org.apache.directory.server.core.authz
> org.apache.directory.server.core.authz.support
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.collective
> org.apache.directory.server.core.configuration
> org.apache.directory.server.core.event
> org.apache.directory.server.core.exception
> org.apache.directory.server.core.impl
> org.apache.directory.server.core.normalization
> org.apache.directory.server.core.operational
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.prefs
> org.apache.directory.server.core.referral
> org.apache.directory.server.core.schema
> org.apache.directory.server.core.security
> org.apache.directory.server.core.sp
> org.apache.directory.server.core.sp.java
> org.apache.directory.server.core.subtree
> org.apache.directory.server.core.trigger
>
> core-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.tools
> org.apache.directory.server.core.tools.schema
>
> core-shared
> org.apache.directory.server.core
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> core-splay
> org.apache.directory.server.core
> org.apache.directory.server.core.splay
>
> core-unit
> org.apache.directory.server.core
> org.apache.directory.server.core.unit
>
> interceptor-kerberos
> org.apache.directory.server.core
> org.apache.directory.server.core.kerberos
>
> jdbm-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.jdbm
>
> kerberos-shared
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.shared
> org.apache.directory.server.kerberos.shared.crypto
> org.apache.directory.server.kerberos.shared.crypto.checksum
> org.apache.directory.server.kerberos.shared.crypto.encryption
> org.apache.directory.server.kerberos.shared.exceptions
> org.apache.directory.server.kerberos.shared.io
> org.apache.directory.server.kerberos.shared.io.decoder
> org.apache.directory.server.kerberos.shared.io.encoder
> org.apache.directory.server.kerberos.shared.jaas
> org.apache.directory.server.kerberos.shared.keytab
> org.apache.directory.server.kerberos.shared.messages
> org.apache.directory.server.kerberos.shared.messages.application
> org.apache.directory.server.kerberos.shared.messages.components
> org.apache.directory.server.kerberos.shared.messages.value
> org.apache.directory.server.kerberos.shared.messages.value.flags
> org.apache.directory.server.kerberos.shared.messages.value.types
> org.apache.directory.server.kerberos.shared.replay
> org.apache.directory.server.kerberos.shared.service
> org.apache.directory.server.kerberos.shared.store
> org.apache.directory.server.kerberos.shared.store.operations
>
> ldif-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.ldif
>
> oracle-partition
> org.apache.directory.server.partition
> org.apache.directory.server.partition.impl
> org.apache.directory.server.partition.impl.oracle
>
> protocol-changepw
> org.apache.directory.server.changepw
> org.apache.directory.server.changepw.exceptions
> org.apache.directory.server.changepw.io
> org.apache.directory.server.changepw.messages
> org.apache.directory.server.changepw.protocol
> org.apache.directory.server.changepw.service
> org.apache.directory.server.changepw.value
>
> protocol-dhcp
> org.apache.directory.server.dhcp
> org.apache.directory.server.dhcp.io
> org.apache.directory.server.dhcp.messages
> org.apache.directory.server.dhcp.options
> org.apache.directory.server.dhcp.options.dhcp
> org.apache.directory.server.dhcp.options.linklayer
> org.apache.directory.server.dhcp.options.misc
> org.apache.directory.server.dhcp.options.perhost
> org.apache.directory.server.dhcp.options.perinterface
> org.apache.directory.server.dhcp.options.tcp
> org.apache.directory.server.dhcp.options.vendor
> org.apache.directory.server.dhcp.protocol
> org.apache.directory.server.dhcp.service
> org.apache.directory.server.dhcp.store
>
> protocol-dns
> org.apache.directory.server.dns
> org.apache.directory.server.dns.io
> org.apache.directory.server.dns.io.decoder
> org.apache.directory.server.dns.io.encoder
> org.apache.directory.server.dns.messages
> org.apache.directory.server.dns.protocol
> org.apache.directory.server.dns.service
> org.apache.directory.server.dns.store
> org.apache.directory.server.dns.store.jndi
> org.apache.directory.server.dns.store.jndi.operations
> org.apache.directory.server.dns.util
>
> protocol-kerberos
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.kdc
> org.apache.directory.server.kerberos.kdc.authentication
> org.apache.directory.server.kerberos.kdc.ticketgrant
> org.apache.directory.server.kerberos.protocol
> org.apache.directory.server.kerberos.sam
>
> protocol-ldap
> org.apache.directory.server.ldap
> org.apache.directory.server.ldap.gui
> org.apache.directory.server.ldap.handlers
> org.apache.directory.server.ldap.handlers.bind
> org.apache.directory.server.ldap.handlers.bind.cramMD5
> org.apache.directory.server.ldap.handlers.bind.digestMD5
> org.apache.directory.server.ldap.handlers.bind.gssapi
> org.apache.directory.server.ldap.handlers.bind.ntlm
> org.apache.directory.server.ldap.handlers.bind.plain
> org.apache.directory.server.ldap.handlers.controls
> org.apache.directory.server.ldap.handlers.extended
> org.apache.directory.server.ldap.handlers.ssl
> org.apache.directory.server.ldap.handlers.starttls
>
> protocol-ntp
> org.apache.directory.server.ntp
> org.apache.directory.server.ntp.io
> org.apache.directory.server.ntp.messages
> org.apache.directory.server.ntp.protocol
> org.apache.directory.server.ntp.service
>
> protocol-shared
> org.apache.directory.server.protocol
> org.apache.directory.server.protocol.shared
> org.apache.directory.server.protocol.shared.catalog
> org.apache.directory.server.protocol.shared.store
> org.apache.directory.server.protocol.shared.transport
>
> schema-bootstrap
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-extras
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-registries
> org.apache.directory.server.schema
> org.apache.directory.server.schema.registries
>
> server-integ
> org.apache.directory.server.integ
> org.apache.directory.server.integ.state
>
> server-jndi
> org.apache.directory.server.configuration
>
> server-replication
> org.apache.directory.server.replication
> org.apache.directory.server.replication.configuration
>
> server-sar
> org.apache.directory.server.sar
>
> server-tools
> org.apache.directory.server.tools
>
> server-unit
> org.apache.directory.server.unit
>
> utils
> org.apache.directory.server.utils
>
> xdbm-base
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
>
> xdbm-search
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
> org.apache.directory.server.xdbm.search.impl
>
> xdbm-tools
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.tools
> org.apache.directory.server.xdbm.tools.ui
>
>
> --
> Alex Karasulu
> My Blog :: http://www.jroller.com/akarasulu/
> Apache Directory Server :: http://directory.apache.org
> Apache MINA :: http://mina.apache.org
>
>
Re: [ApacheDS] Package cleanup
Posted by Alex Karasulu <ak...@gmail.com>.
On Thu, Apr 9, 2009 at 2:19 PM, Emmanuel Lecharny <el...@apache.org>wrote:
> I will try to run through this mail by tomorrow, but just in case, can any
> reorg wait 2 weeks ?
>
Sure no problem. I was hoping to take care of this before beginning some
other things I had to do but no worries.
--
Alex Karasulu
My Blog :: http://www.jroller.com/akarasulu/
Apache Directory Server :: http://directory.apache.org
Apache MINA :: http://mina.apache.org
Re: [ApacheDS] Package cleanup
Posted by Emmanuel Lecharny <el...@apache.org>.
Hi Alex,
I will try to run through this mail by tomorrow, but just in case, can
any reorg wait 2 weeks ?
Thanks !
Alex Karasulu wrote:
> Hi all,
>
> I've been looking at the packages in the apacheds project and as you can
> imagine many things grew wild out of short term efforts to get things done.
> Before we move forward with a 2.0 and even sooner before considering any
> kind of use for OSGi we need to clean up this package structure and have
> some order. From then on we can take care in how we organize things.
>
> I'd like to open a discussion about how best to organize our package
> structure. I'll seed it by listing my objectives:
>
> (1) cleanup unused modules and packages
> (2) split out interfaces from implementations into their own packages and
> modules
> (3) have a consistent scheme for naming and allocating sub packages under
> o.a.d.server.core and o.a.d.server
>
> Our inherent policy was to use o.a.d.server.core.* for packages associated
> with the DirectoryService which did not require any network access. It was
> for everything needed to store and manage LDAP entries and conduct LDAP
> operations on them without having to go over the wire. The o.a.d.server.*
> packages minus o.a.d.server.core.* was for anything above this layer that
> depended on it and used some kind of networking like the LdapService and the
> AuthenticationService (in the protocol-kerberos module).
>
> Over time with most developers working in this project this convention
> started to get mixed up. I was wondering if this convention is worth
> keeping or something beter can be proposed. If we keep this convention I
> will cleanup and make sure everything follows it.
>
> Next I would like to have a consistent naming scheme for the modules. Any
> ideas here?
>
> Thanks,
> Alex
>
> ----------------------------------
>
> I ran the following command to generate a listing of the Maven modules and
> their packages:
>
> find . -type d | egrep
> '.*src\/main\/java\/org\/apache\/directory\/server\/.*' | grep -v .svn | sed
> -e 's/\/src\/main\/java\// /' | sed -e 's/\//\./g' | sed -e 's/\.\.//' |
> sort
>
> Here's the list of packages grouped by module:
>
>
> avl-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.avl
>
> bootstrap-extract
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
> org.apache.directory.server.schema.bootstrap.partition
>
> bootstrap-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.bootstrap
> org.apache.directory.server.core.bootstrap.plugin
>
> core-api
> org.apache.directory.server.core
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.event
> org.apache.directory.server.core.filtering
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
> org.apache.directory.server.core.invocation
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.schema
> org.apache.directory.server.core
> org.apache.directory.server.core.avltree
>
> core-constants
> org.apache.directory.server.constants
>
> core-cursor
> org.apache.directory.server.core
> org.apache.directory.server.core.cursor
>
> core-entry
> org.apache.directory.server.core
> org.apache.directory.server.core.entry
>
> core-integ
> org.apache.directory.server.core
> org.apache.directory.server.core.integ
> org.apache.directory.server.core.integ.annotations
> org.apache.directory.server.core.integ.state
> org.apache.directory.server.core
> org.apache.directory.server.core.interceptor
> org.apache.directory.server.core.interceptor.context
>
> core-jndi
> org.apache.directory.server.core
> org.apache.directory.server.core.jndi
>
> core
> org.apache.directory.server.core
> org.apache.directory.server.core.authn
> org.apache.directory.server.core.authz
> org.apache.directory.server.core.authz.support
> org.apache.directory.server.core.changelog
> org.apache.directory.server.core.collective
> org.apache.directory.server.core.configuration
> org.apache.directory.server.core.event
> org.apache.directory.server.core.exception
> org.apache.directory.server.core.impl
> org.apache.directory.server.core.normalization
> org.apache.directory.server.core.operational
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.prefs
> org.apache.directory.server.core.referral
> org.apache.directory.server.core.schema
> org.apache.directory.server.core.security
> org.apache.directory.server.core.sp
> org.apache.directory.server.core.sp.java
> org.apache.directory.server.core.subtree
> org.apache.directory.server.core.trigger
>
> core-plugin
> org.apache.directory.server.core
> org.apache.directory.server.core.tools
> org.apache.directory.server.core.tools.schema
>
> core-shared
> org.apache.directory.server.core
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> core-splay
> org.apache.directory.server.core
> org.apache.directory.server.core.splay
>
> core-unit
> org.apache.directory.server.core
> org.apache.directory.server.core.unit
>
> interceptor-kerberos
> org.apache.directory.server.core
> org.apache.directory.server.core.kerberos
>
> jdbm-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.jdbm
>
> kerberos-shared
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.shared
> org.apache.directory.server.kerberos.shared.crypto
> org.apache.directory.server.kerberos.shared.crypto.checksum
> org.apache.directory.server.kerberos.shared.crypto.encryption
> org.apache.directory.server.kerberos.shared.exceptions
> org.apache.directory.server.kerberos.shared.io
> org.apache.directory.server.kerberos.shared.io.decoder
> org.apache.directory.server.kerberos.shared.io.encoder
> org.apache.directory.server.kerberos.shared.jaas
> org.apache.directory.server.kerberos.shared.keytab
> org.apache.directory.server.kerberos.shared.messages
> org.apache.directory.server.kerberos.shared.messages.application
> org.apache.directory.server.kerberos.shared.messages.components
> org.apache.directory.server.kerberos.shared.messages.value
> org.apache.directory.server.kerberos.shared.messages.value.flags
> org.apache.directory.server.kerberos.shared.messages.value.types
> org.apache.directory.server.kerberos.shared.replay
> org.apache.directory.server.kerberos.shared.service
> org.apache.directory.server.kerberos.shared.store
> org.apache.directory.server.kerberos.shared.store.operations
>
> ldif-partition
> org.apache.directory.server.core
> org.apache.directory.server.core.partition
> org.apache.directory.server.core.partition.ldif
>
> oracle-partition
> org.apache.directory.server.partition
> org.apache.directory.server.partition.impl
> org.apache.directory.server.partition.impl.oracle
>
> protocol-changepw
> org.apache.directory.server.changepw
> org.apache.directory.server.changepw.exceptions
> org.apache.directory.server.changepw.io
> org.apache.directory.server.changepw.messages
> org.apache.directory.server.changepw.protocol
> org.apache.directory.server.changepw.service
> org.apache.directory.server.changepw.value
>
> protocol-dhcp
> org.apache.directory.server.dhcp
> org.apache.directory.server.dhcp.io
> org.apache.directory.server.dhcp.messages
> org.apache.directory.server.dhcp.options
> org.apache.directory.server.dhcp.options.dhcp
> org.apache.directory.server.dhcp.options.linklayer
> org.apache.directory.server.dhcp.options.misc
> org.apache.directory.server.dhcp.options.perhost
> org.apache.directory.server.dhcp.options.perinterface
> org.apache.directory.server.dhcp.options.tcp
> org.apache.directory.server.dhcp.options.vendor
> org.apache.directory.server.dhcp.protocol
> org.apache.directory.server.dhcp.service
> org.apache.directory.server.dhcp.store
>
> protocol-dns
> org.apache.directory.server.dns
> org.apache.directory.server.dns.io
> org.apache.directory.server.dns.io.decoder
> org.apache.directory.server.dns.io.encoder
> org.apache.directory.server.dns.messages
> org.apache.directory.server.dns.protocol
> org.apache.directory.server.dns.service
> org.apache.directory.server.dns.store
> org.apache.directory.server.dns.store.jndi
> org.apache.directory.server.dns.store.jndi.operations
> org.apache.directory.server.dns.util
>
> protocol-kerberos
> org.apache.directory.server.kerberos
> org.apache.directory.server.kerberos.kdc
> org.apache.directory.server.kerberos.kdc.authentication
> org.apache.directory.server.kerberos.kdc.ticketgrant
> org.apache.directory.server.kerberos.protocol
> org.apache.directory.server.kerberos.sam
>
> protocol-ldap
> org.apache.directory.server.ldap
> org.apache.directory.server.ldap.gui
> org.apache.directory.server.ldap.handlers
> org.apache.directory.server.ldap.handlers.bind
> org.apache.directory.server.ldap.handlers.bind.cramMD5
> org.apache.directory.server.ldap.handlers.bind.digestMD5
> org.apache.directory.server.ldap.handlers.bind.gssapi
> org.apache.directory.server.ldap.handlers.bind.ntlm
> org.apache.directory.server.ldap.handlers.bind.plain
> org.apache.directory.server.ldap.handlers.controls
> org.apache.directory.server.ldap.handlers.extended
> org.apache.directory.server.ldap.handlers.ssl
> org.apache.directory.server.ldap.handlers.starttls
>
> protocol-ntp
> org.apache.directory.server.ntp
> org.apache.directory.server.ntp.io
> org.apache.directory.server.ntp.messages
> org.apache.directory.server.ntp.protocol
> org.apache.directory.server.ntp.service
>
> protocol-shared
> org.apache.directory.server.protocol
> org.apache.directory.server.protocol.shared
> org.apache.directory.server.protocol.shared.catalog
> org.apache.directory.server.protocol.shared.store
> org.apache.directory.server.protocol.shared.transport
>
> schema-bootstrap
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-extras
> org.apache.directory.server.schema
> org.apache.directory.server.schema.bootstrap
>
> schema-registries
> org.apache.directory.server.schema
> org.apache.directory.server.schema.registries
>
> server-integ
> org.apache.directory.server.integ
> org.apache.directory.server.integ.state
>
> server-jndi
> org.apache.directory.server.configuration
>
> server-replication
> org.apache.directory.server.replication
> org.apache.directory.server.replication.configuration
>
> server-sar
> org.apache.directory.server.sar
>
> server-tools
> org.apache.directory.server.tools
>
> server-unit
> org.apache.directory.server.unit
>
> utils
> org.apache.directory.server.utils
>
> xdbm-base
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
>
> xdbm-search
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.search
> org.apache.directory.server.xdbm.search.impl
>
> xdbm-tools
> org.apache.directory.server.xdbm
> org.apache.directory.server.xdbm.tools
> org.apache.directory.server.xdbm.tools.ui
>
>
>
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org