I'm still having a hard time coming to terms with some of the aspects
of the refactored code.

I don't see why there's a link between a high-level interface like
CmisObject and the fact that it has to be Serializable.
Session/CmisObject/etc. are deemed "client" interfaces but they are
really only "high-level" interfaces, the API as opposed to the SPI.
The fact that the default implementation uses a stateless
client/server model (which allows for a Serializable implementation)
doesn't mean that all implementations have to be like that.

In my local client bindings my implementations of these interfaces are
tied to a connection-like object which is not Serializable. And nobody
will try to put them in a HTTP session, it's perfectly all right for
them.

So I'd like to remove the Serializable interface from Session,
CmisObject & co and put it on SessionImpl, AbstractCmisObject, etc.

Florent


On Mon, Nov 22, 2010 at 3:44 PM, Florian Müller
<[email protected]> wrote:
> The requirement that Session objects and objects attached it should be
> Serializable is not new. It has been there right from the beginning of
> OpenCMIS but wasn't implemented properly.
>
> We want to make sure that you can put a Session object into a HttpSession.
> That allows Servlet engines to swap out HttpSessions to disk or transfer
> sessions to other cluster nodes.
>
>
> - Florian
>
>
> On 22/11/2010 13:18, Florent Guillaume wrote:
>>
>> Another question:
>>
>> Why the new requirement that Session, CmisObject&  co be Serializable?
>> In my local bindings, sessions and objects are created from
>> non-Serializable objects from the underlying repository API, and I
>> cannot easily make them truly Serializable. I have underlying
>> connection-like objects that come from a transactional context which
>> are definitely not Serializable.
>> What do you think?
>>
>> 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