Pascal Oblonczek created CMIS-849: ------------------------------------- Summary: Rendition.GetContentstream alway returns null for QueryResults Key: CMIS-849 URL: https://issues.apache.org/jira/browse/CMIS-849 Project: Chemistry Issue Type: Improvement Components: dotcmis Affects Versions: DotCMIS 0.6 Environment: DotCMIS 0.6 on .NET 3.5 / Windows 7 x64 Alfresco 5.0.a on Ubuntu 12.0.4 LTS Reporter: Pascal Oblonczek Attachments: client-objects.diff
How to reproduce: var ctx = session.CreateOperationContext(); ctx.RenditionFilterString = "cmis:thumbnail"; // Assumption: the returned document has a thumbnail rendition, edit query to match situation var result = session.Query("select * from cmis:document", false, ctx).getPage(1).FirstOrDefault(); var contentStream = result.Renditions[0].GetContentStream() Expected: contentStream is an instance of a class that implements IContentStream Found: null ---- Details: The implementation of DotCMIS.Client.Impl.QueryResult.QueryResult constructor creates all renditions with an id set to "null". This has probably been done because cmis:objectId might not have been selected by the query: [code file=client-object.cs:1581] Renditions.Add(of.ConvertRendition(null, rd)); [/code] Looking at the implementation of DotCMIS.Client.Impl.Rendition.GetContentStream() we can see, that a null ID always leads to a null content stream. Thus, a query result will never by able to get the content stream of the rendition: [code file=client-object.cs:1513] public IContentStream GetContentStream() { if (objectId == null || StreamId == null) { return null; } [/code] Instead you will have to call session.getContentStream and select and input values appropriately by hand, which I find is not very comfortable. I attached a patch that makes this work. Anyway this means, that the "query author" needs to remember, that cmis:objectId must be selected by the query, otherwise he still gets null - maybe this is the main reason why you chose to always go with null. -- This message was sent by Atlassian JIRA (v6.3.4#6332)