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

Reply via email to