public Blob getBlob(String title) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture.getPictureFromTitle(title); }
@Override public HtmlPreviewAdapter getAdapter(DocumentModel doc) { ConverterBasedHtmlPreviewAdapter adapter = new ConverterBasedHtmlPreviewAdapter(); adapter.setAdaptedDocument(doc); PictureResourceAdapter prAdapter = doc.getAdapter(PictureResourceAdapter.class); String xpath = prAdapter.getViewXPath(ORIGINAL_JPEG_VIEW_NAME); if (xpath != null) { adapter.setDefaultPreviewFieldXPath(xpath + "content"); } else { adapter.setDefaultPreviewFieldXPath(prAdapter.getFirstViewXPath() + "content"); } return adapter; }
@Override public Object getAdapter(DocumentModel doc, Class<?> cls) { if (doc.hasFacet(PICTURE_FACET) || doc.hasSchema(PICTURE_SCHEMA_NAME)) { PictureResourceAdapter adapter = new NoPictureAdapter(); adapter.setDocumentModel(doc); return adapter; } return null; }
PictureResourceAdapter picture = docModel.getAdapter(PictureResourceAdapter.class); try { picture.fillPictureViews(result.getBlob(), result.getBlob().getFilename(), docModel.getTitle(), new ArrayList<>(templates)); } catch (IOException e) { blob.setFilename(MISSING_PREVIEW_PICTURE.replace('/', '-')); PictureResourceAdapter picture = docModel.getAdapter(PictureResourceAdapter.class); picture.fillPictureViews(blob, blob.getFilename(), docModel.getTitle(), new ArrayList<>(templates));
adapter.preFillPictureViews(blob, pictureConversions, emptyPictureImageInfo); } catch (IOException e) { log.error("Error while pre-filling picture views: " + e.getMessage(), e);
@OperationMethod(collector = DocumentModelCollector.class) public DocumentModel run(DocumentModel doc) throws IOException { if (name == null) { name = "Untitled"; } String jsonBlob = content.get(PICTURE_FIELD); content.remove(PICTURE_FIELD); ArrayList<Map<String, Object>> templates = computePictureTemplates(); DocumentModel newDoc = session.createDocumentModel(doc.getPathAsString(), name, "Picture"); DocumentHelper.setProperties(session, newDoc, content); DocumentModel picture = session.createDocument(newDoc); if (jsonBlob == null) { log.warn("Properties does not contains originalPicture field"); } else { Blob blob = (Blob) ComplexTypeJSONDecoder.decode(null, jsonBlob); if (blob == null) { log.warn("Unable to read Blob from properties"); } else { picture.setPropertyValue("file:content", (Serializable) blob); PictureResourceAdapter adapter = picture.getAdapter(PictureResourceAdapter.class); adapter.fillPictureViews(blob, blob.getFilename(), picture.getTitle(), templates); picture = session.saveDocument(picture); } } return picture; }
@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(); } }
String title = doc.getTitle(); try { picture.fillPictureViews(blob, filename, title, pictureTemplates); } catch (IOException e) { throw new NuxeoException(e);
@Override public Object getAdapter(DocumentModel doc, Class cls) { if (doc.hasFacet(PICTURE_FACET) || doc.hasSchema(PICTURE_SCHEMA_NAME)) { PictureResourceAdapter adapter = new DefaultPictureAdapter(); adapter.setDocumentModel(doc); return adapter; } return null; }
@Override public boolean isAvailable(DocumentModel doc, RenditionDefinition definition) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture != null && picture.getPictureFromTitle(definition.getName()) != null; }
try { PictureResourceAdapter picture = workingDocument.getAdapter(PictureResourceAdapter.class); picture.fillPictureViews(blob, blob.getFilename(), title, null); } catch (DocumentNotFoundException e) {
@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(); } } }