chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <f...@apache.org>
Subject Re: Question about CmisObject and getRenditions() method
Date Fri, 06 Dec 2013 09:10:50 GMT
 Hi Mark,

 It's probably the other way round: 0.8.0 returns null and 0.10.0 
 returns an empty list.

 The OpenCMIS API was inconsistent in regards to empty and non-existing 
 lists. Some parts of the API returned null, others empty lists. It was 
 also binding dependent. For example, the Web Services binding always 
 returned empty lists (it cannot distinguish between an empty list and a 
 non-existing list) while the AtomPub and the Browser binding returned 
 null in some places, but not everywhere.

 It's now more consistent since the 0.10.0 release. Wherever a list is 
 returned that does not exist (that is the server didn't send data) an 
 empty Java list is returned - regardless of the binding.
 That should help building more binding independent code. The change may 
 have some side effects on existing code, though.


 - Florian



> Chemistry Experts
>
> I have what I hope is an easy clarification question:
>
> We currently have 2 development streams for our client side code 
> where we
> use:
>
>
>    - OpenCMIS - 0.8.0-RELEASE on the client side and  Alfresco 
> Enterprise
>    4.1.5 on the server side
>    - OpenCMIS - 0.10.0-RELEASE  on the client side and  Alfresco 
> Enterprise
>    4.1.5 on the server side
>
>
> Note that the SAME Alfresco server is being used as the "back-end" in 
> each
> case - and the same target Folder is queried to return the list of 
> Document
> objects and then fetch available *renditions*
>
> The snippet of code that we are using looks like this:
>
>       OperationContext context = session.createOperationContext();
>       context.setRenditionFilterString("cmis:thumbnail");
>
>       CmisObject targetDocument = session.getObject(documentId, 
> context);
> *      List<Rendition> renditions = targetDocument.getRenditions();*
>
> When looping through the set of "Document" objects, we make this call 
> above
> and it works correctly each time - however we now notice one 
> significant
> difference:
>
> *If cmis:thumbnail does NOT exist for a particular documentId we 
> observe
> the following:*
>
> with OpenCMIS -   0.8.0-RELEASE - the List<Rendition> comes back as 
> *non-null
> *and with a count of ZERO
> with OpenCMIS - 0.10.0-RELEASE - the List<Rendition> comes back as 
> null only
>
>
> Am I misunderstanding something?  I realize the back-end service is 
> going
> to return some object on this call and given that this is the SAME 
> server
> (that would assume to be the same) ... but 2 different client
> implementations (both are using AtomPub binding), and stepping 
> through the
> Debugger, for the same document request, the behavior is different.
>
> ... not sure what else could explain it beyond the difference in 
> client
> side libraries version being used.
>
>
> Thanks
>
> Mark


Mime
View raw message