directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Seelmann <seelm...@apache.org>
Subject Re: [ADS 2.0] OSGi : solving package conflicts
Date Mon, 10 Oct 2011 22:27:37 GMT
On Sun, Oct 9, 2011 at 10:55 PM, Stefan Seelmann <seelmann@apache.org>wrote:

> On Sun, Oct 9, 2011 at 9:02 PM, Stefan Seelmann <seelmann@apache.org>wrote:
>
>> On Sat, Oct 8, 2011 at 5:12 PM, Göktürk Gezer <gokturk.gezer@gmail.com>wrote:
>>
>>> Hi,
>>> I attached a patch that solves these package conflicts. But i'm still
>>> unsure about working on trunk.Package renamings are something hard to
>>> describe as diff. Right now, this diff zeroes the old package contents, add
>>> new ones and modify other parts of code to use new packages. i can also
>>> create a script to make your local copy consistent after patch, and then you
>>> can commit like that. So, guide me to the correct way of doing it.
>>>
>>> Here is a change list:
>>>
>>> /org/apache/directory/server ./apacheds/http-directory-bridge
>>> -> changed to /org/apache/directory/server/bridge/http
>>>
>>
>> done
>>
>>
>>> /org/apache/directory/server ./apacheds/service
>>>
>>> /org/apache/directory/server ./apacheds/wrapper ->
>>> /org/apache/directory/server/wrapper
>>> -> changed as suggested
>>>
>>
>> done
>> also changed reference to ApacheDsTanukiWrapper in
>> installers-maven-plugin/src/main/resources/org/apache/directory/server/installers/wrapper-installation.conf
>>
>>
>>>
>>> /org/apache/directory/server/config ./apacheds/server-config
>>> /org/apache/directory/server/config ./apacheds/service-builder ->
>>> /org/apache/directory/server/config/builder
>>>
>>
>> done
>>
>> I committed the previous changes. The next changes are a bit more tricky
>> as those guys are also used in Studio.
>>
>>
>>> /org/apache/directory/server/core ./apacheds/core
>>> /org/apache/directory/server/core ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api
>>>
>>
> done
> Made CacheService constructor public. Should this class be moved to
> apacheds-core?
>
>
>>  /org/apache/directory/server/core/changelog ./apacheds/core
>>> /org/apache/directory/server/core/changelog ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/changelog
>>>
>>
> done
>
>  /org/apache/directory/server/core/event ./apacheds/core
>>> /org/apache/directory/server/core/event ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/event
>>>
>>
> done
> Made RegistrationEntry constructor and method public.
>
>
>> /org/apache/directory/server/core/interceptor ./apacheds/core
>>> /org/apache/directory/server/core/interceptor ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/interceptor
>>>
>>
> done, including interceptor.context package
>
>
>> /org/apache/directory/server/core/journal ./apacheds/core
>>>
>>  /org/apache/directory/server/core/journal ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/journal
>>>
>>
> done
>
>  /org/apache/directory/server/core/partition ./apacheds/core
>>> /org/apache/directory/server/core/partition ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/partition
>>>
>> /org/apache/directory/server/core/partition ./apacheds/ldif-partition ->
>>> /org/apache/directory/server/core/partition/impl
>>> -> was test package, changed to
>>> /org/apache/directory/server/core/partition/ldif
>>>
>>
> done, good catch with the test package
>
>  /org/apache/directory/server/core/replication ./apacheds/core
>>> /org/apache/directory/server/core/replication ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/replication
>>>
>>
> Can't find this package, has this been moved before?
>
>  /org/apache/directory/server/core/schema ./apacheds/core
>>> /org/apache/directory/server/core/schema ./apacheds/core-api ->
>>> /org/apache/directory/server/core/api/schema
>>>
>>
> done, but the classes in that package should be reviews and eventually
> moved to apacheds-core
>
> /org/apache/directory/server/core/schema ./apacheds/jdbm-partition ->
>>> /org/apache/directory/server/core/schema/jdbm
>>>
>>
> Moved PartitionSchemaLoaderTest from jdbm-partition to core-integ as
> described in a TODO within that class, removed the package.
>
>
>  -> All packages(source and test) under apacheds-api is moved into
>>> org/apache/directory/server/core/api package
>>>
>>
> Do you mean you renamed all packages even those that are not conflicting? I
> didn't renamed those in the first step but I agree that it makes sense to do
> so. However before that we should review if those packages belong to the
> "api" module. The remaining packages are
> - org.apache.directory.server.core.administrative
> - org.apache.directory.server.core.entry
> - org.apache.directory.server.core.filtering
> - org.apache.directory.server.core.invocation
> - org.apache.directory.server.core.schema.registries.synchronizers
>
>
>>  -> DefaultPartitionNexus class is moved from apacheds-core to
>>> apacheds-core-api to defeat cyclic builds
>>>
>>
> That was not required, there were just unused imports that I deleted.
>
>
> When I run the test I saw that LdapConnectionFactory (in
> shared-ldap-client-api) has a method getCoreSessionConnection() the creates
> an instance of LdapCoreSessionConnection via reflection. IMO this should be
> moved to some ApacheDS module.
>
> Committed so far.
>
>
>>> --------------------------------------------------------------------------------------------------------------------------
>>> This is not a conflict (test) :
>>> /org/apache/directory/server/kerberos/kdc ./apacheds/kerberos-test
>>> /org/apache/directory/server/kerberos/kdc ./apacheds/protocol-kerberos
>>>
>>> ---------------------------------------------------------------------------------------------------------------------------
>>> /org/apache/directory/server/kerberos/protocol ./apacheds/kerberos-codec
>>> -> /org/apache/directory/server/kerberos/protocol/codec
>>> -> changed as suggested
>>> /org/apache/directory/server/kerberos/protocol
>>> ./apacheds/protocol-kerberos
>>>
>>
done


>
>>> ------------------------------------------------------------------------------------------------------------------------------
>>>  /org/apache/directory/server/ldap/handlers/extended
>>> ./apacheds/protocol-ldap
>>> /org/apache/directory/server/ldap/handlers/extended
>>> ./apacheds/server-tools ->
>>> /org/apache/directory/server/ldap/handlers/extended/tools
>>> -> server-tools project was out of the build. left untouched
>>>
>>> --------------------------------------------------------------------------------------------------------------------------------------
>>>  /org/apache/directory/shared/ldap/codec/osgi ./shared/ldap/codec/core
>>> /org/apache/directory/shared/ldap/codec/osgi
>>> ./shared/ldap/codec/standalone ->
>>> /org/apache/directory/shared/ldap/codec/osgi/standalone
>>> -> was test package, changed as suggested
>>>
>>
Renamed to /org/apache/directory/shared/ldap/codec/standalone, same as the
main package. But the only test  there (AbstractCodecServiceTest) is
abstract and there is no subclass so makes not really sense to keep that
class or can we create another real test?

Also deleted package org.apache.directory.shared.ldap.codec.controls and
class OpaqueControlTest as the same test is already in shared-ldap-model.


>  /org/apache/directory/shared/ldap/codec/osgi ./shared/ldap/extras/codec
>>> -> /org/apache/directory/shared/ldap/codec/osgi/extras
>>> -> was test package, changed as suggested
>>>
>>
Renamed to /org/apache/directory/shared/ldap/extras, same as the main
package name.
Made DefaultLdapCodecService() constructor public.


>
>>> -----------------------------------------------------------------------------------------------------------------------------------
>>> /org/apache/directory/shared/ldap/extras/controls/ppolicy
>>> ./shared/ldap/extras/codec
>>> /org/apache/directory/shared/ldap/extras/controls/ppolicy
>>> ./shared/ldap/extras/codec-api ->
>>> /org/apache/directory/shared/ldap/extras/controls/ppolicy/api
>>>
>>
Rather renamed the package in shared/ldap/extras/codec ->
/org/apache/directory/shared/ldap/extras/controls/ppolicy_impl to be
consistent with the other package names in that module.


I hope that's all, except the remaining package names in core-api. If I
forgot something please ping me.

Kind Regards,
Stefan

Mime
View raw message