Hi Florian,

I agree that inheritance of implementation would be difficult.
I was more thinking about inheritance of the interfaces. The contract
is the same, the javadoc is the same, I really think the common
interfaces shouldn't be duplicated (DRY). In that case having six new
base interfaces would just clean things up IMHO.

Regarding adapters, yes their implementation needs to be designed for
CMIS, but not the interfaces. For instance you could adapt to
InputStream to get a direct view of the content stream, or adapt to
Map to get a Map-like view of the document's properties. Or adapt to
pre-existing vendor interfaces.

Florent

On Fri, Nov 19, 2010 at 9:38 PM, Florian Müller
<[email protected]> wrote:
> Hi Florent,
>
> Inheritance would be very difficult. The implementations of Document and
> TransientDocument, for example, are too different.
>
> We could create common interfaces that cover all property getters. That
> would clean up the existing interfaces a bit, but would also create six new
> interfaces that I can't see a real use case for. Let me know if I'm missing
> something.
>
> My idea behind the CmisObjectAdapter interface was to make the whole thing
> more type save. Could you provide a sample use case that would require
> reusing a third-party interface? Doesn't an adapter need to be designed for
> CMIS?
>
>
> - Florian
>
>
> On 19/11/2010 18:58, Florent Guillaume wrote:
>>
>> Hi,
>>
>> There's a lot of duplication of methods from, for instance, Document
>> and TransientDocument.
>> Couldn't one inherit from the other (I guess not), or couldn't they
>> have a common base interface?
>>
>> Also I don't think we need a base CmisObjectAdapter interface, it's
>> actually useful to be able to adapt to any third-party interface. I'll
>> deal with making getAdapter not need that (and use generics).
>>
>> Florent
>>
>>
>> On Wed, Nov 17, 2010 at 11:01 AM, Florian Müller
>> <[email protected]>  wrote:
>>>
>>> Hi all,
>>>
>>> Merge is done. Please test and provide feedback.
>>>
>>>
>>> Thanks,
>>>
>>> Florian
>>>
>>>
>>> On 15/11/2010 13:50, Florian Müller wrote:
>>>>
>>>> Hi all,
>>>>
>>>> If nobody objects, I will merge the client API refactoring branch into
>>>> trunk this Wednesday.
>>>> If there are any reasons not to merge, please let me know as soon as
>>>> possible!
>>>>
>>>>
>>>> Cheers,
>>>>
>>>> Florian
>>>
>>>
>>
>>
>>
>
>



-- 
Florent Guillaume, Director of R&D, Nuxeo
Open Source, Java EE based, Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87

Reply via email to