directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <akaras...@apache.org>
Subject Re: Control package changes
Date Thu, 03 Feb 2011 21:27:50 GMT
Hope you don't mind, thought this might help others on the dev list.

On Thu, Feb 3, 2011 at 11:16 PM, Alex Karasulu <akarasulu@apache.org> wrote:
> On Thu, Feb 3, 2011 at 10:52 PM, Emmanuel Lécharny <elecharny@apache.org> wrote:
>> On 2/3/11 9:39 PM, Alex Karasulu wrote:
>>>
>>> On Thu, Feb 3, 2011 at 5:37 PM, Alex Karasulu<akarasulu@apache.org>
>>>  wrote:
>>>>
>>>> Here's what I was going to do last night before my collapse:
>>>> Create new packages for extra controls, the 2nd class of optional
>>>> controls of which we have the following for replication and ppolicy:
>>>>
>>>> PasswordPolicy
>>>> SyncDoneValue
>>>> SyncInfoValue
>>>> SyncModifyDn
>>>> SyncRequestValue
>>>> SyncStateValue
>>>>
>>>> The package base for all these optional (Class II extensions) will start
>>>> off at:
>>>>
>>>>     org.apache.directory.shared.ldap.extras
>>>>
>>>> As y'all know we have extension (Control and Exteded Op)
>>>> sub-interfaces and implementation POJOs these will be here:
>>>>
>>>> [PUBLIC PACKAGES]
>>>> org.apache.directory.shared.ldap.extras.controls
>>>> org.apache.directory.shared.ldap.extras.extended
>>>>
>>>> We will have an ldap-extras bundle that will export these packages.
>>>> For now since we do not have so many controls and extended operations
>>>> I did not break these apart into different packages. All controls and
>>>> extended operations for now will go into these packages.
>>>>
>>>> The implementations for these extensions
>>>> (decorators,grammars,factories etc) will go into these packages but
>>>> unlike the one pkg for all pattern we can break it apart into
>>>> sub-packages in this implementation area:
>>>>
>>>> Bases:
>>>> [PRIVATE PACKAGES]
>>>> org.apache.directory.shared.ldap.extras.controls.impl
>>>> org.apache.directory.shared.ldap.extras.extended.impl
>>>>
>>>> Subpackages:
>>>> [PRIVATE PACKAGES]
>>>> org.apache.directory.shared.ldap.extras.controls.impl.ppolicy
>>>> org.apache.directory.shared.ldap.extras.controls.impl.syncInfoValue
>>>> org.apache.directory.shared.ldap.extras.controls.impl.syncDoneValue
>>>> org.apache.directory.shared.ldap.extras.controls.impl.syncRequestValue
>>>> org.apache.directory.shared.ldap.extras.controls.impl.syncStateValue
>>>> org.apache.directory.shared.ldap.extras.controls.impl.syncModifyDn
>>>
>>> Slight modification in practice here. I used the following for ppolicy
>>> and will do the same for the replication controls:
>>>
>>> org.apache.directory.shared.ldap.extras.controls.ppolicy_impl
>>
>> hmmm, why this extra _impl ?
>>
>> Let's take an example : ppolicy
>>
>> In model, we have a PPolicy interface and a PPolicyImpl implementation.
>>
>> Where will we store the interface, and where will we find the implementation
>> ?
>>
>> org.apache.directory.shared.ldap.extras.controls/PPolicy.java
>>
>> and
>>
>> org.apache.directory.shared.ldap.extras.controls.impl/PPolicyImpl.java
>>
>> ?
>
> The _impl areas are not referring to the simple POJO implementations
> of interfaces. This package is for the control's codec extension
> implementations. In the bundle descriptor we're going to hide this
> component's implementation.
>
> Best,
> Alex
>

Mime
View raw message