public Blob getBlob(String title) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture.getPictureFromTitle(title); }
@Override public List<Blob> render(DocumentModel doc, RenditionDefinition definition) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); if (picture == null) { return Collections.emptyList(); } Blob blob = picture.getPictureFromTitle(definition.getName()); return blob != null ? Collections.singletonList(blob) : Collections.emptyList(); } }
@Override public boolean isAvailable(DocumentModel doc, RenditionDefinition definition) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture != null && picture.getPictureFromTitle(definition.getName()) != null; }
@Override public Blob getThumbnail(DocumentModel doc, CoreSession session) { if (!doc.hasFacet(VIDEO_FACET)) { throw new NuxeoException("Document is not a video"); } // Choose the nuxeo default thumbnail of the picture views (screenshots // of the video taken during creation) PictureResourceAdapter picResAdapter = doc.getAdapter(PictureResourceAdapter.class); Blob thumbnailView = picResAdapter.getPictureFromTitle("Small"); if (thumbnailView == null) { // try Thumbnail view thumbnailView = picResAdapter.getPictureFromTitle("Thumbnail"); if (thumbnailView == null) { TypeInfo docType = doc.getAdapter(TypeInfo.class); try { return Blobs.createBlob(FileUtils.getResourceFileFromContext("nuxeo.war" + File.separator + docType.getBigIcon())); } catch (IOException e) { throw new NuxeoException(e); } } } return thumbnailView; }
public List<Blob> getBlobs(String title) { CoreSession session = getSession(); boolean sessionOpened = false; if (session == null) { sessionOpened = true; session = CoreInstance.openCoreSession(doc.getRepositoryName()); } try { DocumentModelList docList = session.getChildren(doc.getRef(), "Picture"); List<Blob> blobList = new ArrayList<Blob>(docList.size()); for (DocumentModel documentModel : docList) { if ("Original".equals(title)) { BlobHolder bh = documentModel.getAdapter(BlobHolder.class); blobList.add(bh.getBlob()); } else { PictureResourceAdapter picture = documentModel.getAdapter(PictureResourceAdapter.class); blobList.add(picture.getPictureFromTitle(title)); } } return blobList; } finally { if (sessionOpened) { ((CloseableCoreSession) session).close(); } } }