@Override protected Blob getContentBlob(Blob original, DocumentModel doc) { MultiviewPicture multiviewPicture = doc.getAdapter(MultiviewPicture.class); if (multiviewPicture != null) { for (PictureView view : multiviewPicture.getViews()) { if (view.getTitle().equals("FullHD") && view.getBlob() != null) { return view.getBlob(); } } } return original; } }
@Override public List<RenditionDefinition> getRenditionDefinitions(DocumentModel doc) { MultiviewPicture multiviewPicture = doc.getAdapter(MultiviewPicture.class); if (multiviewPicture == null) { return Collections.emptyList(); } List<RenditionDefinition> renditionDefinitions = new ArrayList<>(); ImagingService imagingService = Framework.getService(ImagingService.class); MimetypeRegistry mimetypeRegistry = Framework.getService(MimetypeRegistry.class); for (PictureView pictureView : multiviewPicture.getViews()) { PictureConversion pictureConversion = imagingService.getPictureConversion(pictureView.getTitle()); if (pictureConversion != null && pictureConversion.isRendition()) { Blob blob = pictureView.getBlob(); if (blob != null) { RenditionDefinition renditionDefinition = new RenditionDefinition(); renditionDefinition.setEnabled(true); renditionDefinition.setName(pictureView.getTitle()); renditionDefinition.setKind(PICTURE_RENDITION_KIND); renditionDefinition.setProvider(new PictureRenditionProvider()); renditionDefinition.setVisible(pictureConversion.isRenditionVisible()); renditionDefinition.setLabel(pictureView.getTitle()); MimetypeEntry mimeType = mimetypeRegistry.getMimetypeEntryByMimeType(blob.getMimeType()); renditionDefinition.setIcon("/icons/" + mimeType.getIconPath()); renditionDefinitions.add(renditionDefinition); } } } return renditionDefinitions; }