How to get the renditions associated with a document?
Document, Folders interfaces provides 'getRenditions()'
method to retrieve all the renditions associated with them.
List<Rendition>
getRenditions()
Returns the renditions if they have been fetched for this
object, else return null if the renditions have not been requested or no
renditions exist for this object
Following snippet prints all the renditions associated
with a document, same is the case with folders also.
List<Rendition>
renditions = document.getRenditions();
if(renditions
== null){
System.out.println("No
renditions are existed for this object");
return;
}
for(Rendition
rendition: renditions){
System.out.println(rendition);
}
Find the following working application.
TestCmis.java
package com.sample.util; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.chemistry.opencmis.client.api.Document; import org.apache.chemistry.opencmis.client.api.Rendition; import org.apache.chemistry.opencmis.client.api.Session; import org.apache.chemistry.opencmis.client.api.SessionFactory; import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl; import org.apache.chemistry.opencmis.commons.SessionParameter; import org.apache.chemistry.opencmis.commons.enums.BindingType; public class TestCmis { private static String serverURL = "http://localhost:8080/chemistry-opencmis-server-inmemory-1.1.0/browser"; private static String repositoryId = "A1"; private static Session getSession() { Map<String, String> parameters = new HashMap<>(); parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value()); parameters.put(SessionParameter.USER, ""); parameters.put(SessionParameter.PASSWORD, ""); parameters.put(SessionParameter.REPOSITORY_ID, repositoryId); parameters.put(SessionParameter.BROWSER_URL, serverURL); SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); return sessionFactory.createSession(parameters); } public static void main(String args[]) throws IOException { Session session = getSession(); Document document = (Document) session.getObjectByPath("/sampleDoc.json"); List<Rendition> renditions = document.getRenditions(); if(renditions == null){ System.out.println("No renditions are existed for this object"); return; } for(Rendition rendition: renditions){ System.out.println(rendition); } } }
Below table summarizes the attributes that are associated
with a rendition.
Attribute
|
Description
|
Data
type
|
streamId
|
Identifies the rendition stream.
|
Id
|
mimeType
|
The MIME type of the rendition stream.
|
String
|
length
|
The length of the rendition stream in bytes.
|
Integer
|
title
|
Human readable information about the rendition.
|
String (optional)
|
kind
|
A categorization String associated with the rendition.
|
String
|
height
|
Typically used for 'image' renditions (expressed as
pixels). SHOULD be present if kind = cmis:thumbnail.
|
Integer (optional)
|
width
|
Typically used for 'image' renditions (expressed as
pixels).
SHOULD be present if kind = cmis:thumbnail.
|
Integer (optional)
|
renditionDocumentId
|
If specified, then the rendition can also be accessed
as a document object in the CMIS services. If not set, then the rendition can
only be accessed via the rendition services. Referential integrity of this id
is repository specific.
|
Id (optional)
|
Below function prints the attributes associated with
rendition.
private
static void printRendition(Rendition rendition) {
BigInteger
bigHeight = rendition.getBigHeight();
BigInteger
bigLength = rendition.getBigLength();
BigInteger
bigWidth = rendition.getBigWidth();
String
contentURL = rendition.getContentUrl();
long
height = rendition.getHeight();
String
kind = rendition.getKind();
long
length = rendition.getLength();
String
mimeType = rendition.getMimeType();
String
documentId = rendition.getRenditionDocumentId();
String
streamId = rendition.getStreamId();
String
title = rendition.getTitle();
long
width = rendition.getWidth();
System.out.println("bigHeight
: " + bigHeight);
System.out.println("bigLength :
" + bigLength);
System.out.println("bigWidth
: " + bigWidth);
System.out.println("contentURL
: " + contentURL);
System.out.println("height
: " + height);
System.out.println("kind
: " + kind);
System.out.println("length
: " + length);
System.out.println("mimeType
: " + mimeType);
System.out.println("documentId
: " + documentId);
System.out.println("streamId
: " + streamId);
System.out.println("title
: " + title);
System.out.println("width
: " + width);
}
Following is the complete working application.
TestCmis.java
package com.sample.util; import java.io.IOException; import java.math.BigInteger; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.chemistry.opencmis.client.api.Document; import org.apache.chemistry.opencmis.client.api.Rendition; import org.apache.chemistry.opencmis.client.api.Session; import org.apache.chemistry.opencmis.client.api.SessionFactory; import org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl; import org.apache.chemistry.opencmis.commons.SessionParameter; import org.apache.chemistry.opencmis.commons.enums.BindingType; public class TestCmis { private static String serverURL = "http://localhost:8080/chemistry-opencmis-server-inmemory-1.1.0/browser"; private static String repositoryId = "A1"; private static Session getSession() { Map<String, String> parameters = new HashMap<>(); parameters.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value()); parameters.put(SessionParameter.USER, ""); parameters.put(SessionParameter.PASSWORD, ""); parameters.put(SessionParameter.REPOSITORY_ID, repositoryId); parameters.put(SessionParameter.BROWSER_URL, serverURL); SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); return sessionFactory.createSession(parameters); } private static void printRendition(Rendition rendition) { BigInteger bigHeight = rendition.getBigHeight(); BigInteger bigLength = rendition.getBigLength(); BigInteger bigWidth = rendition.getBigWidth(); String contentURL = rendition.getContentUrl(); long height = rendition.getHeight(); String kind = rendition.getKind(); long length = rendition.getLength(); String mimeType = rendition.getMimeType(); String documentId = rendition.getRenditionDocumentId(); String streamId = rendition.getStreamId(); String title = rendition.getTitle(); long width = rendition.getWidth(); System.out.println("bigHeight : " + bigHeight); System.out.println("bigLength : " + bigLength); System.out.println("bigWidth : " + bigWidth); System.out.println("contentURL : " + contentURL); System.out.println("height : " + height); System.out.println("kind : " + kind); System.out.println("length : " + length); System.out.println("mimeType : " + mimeType); System.out.println("documentId : " + documentId); System.out.println("streamId : " + streamId); System.out.println("title : " + title); System.out.println("width : " + width); } public static void main(String args[]) throws IOException { Session session = getSession(); Document document = (Document) session.getObjectByPath("/sampleDoc.json"); List<Rendition> renditions = document.getRenditions(); if (renditions == null) { System.out.println("No renditions are existed for this object"); return; } for (Rendition rendition : renditions) { printRendition(rendition); } } }
No comments:
Post a Comment