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
