@Override public String getFirstViewXPath() { return getViewXPathFor(0); }
@Override public List<Blob> getBlobs() { return getBlobs("Original"); }
@Override public boolean fillPictureViews(Blob blob, String filename, String title) throws IOException { return fillPictureViews(blob, filename, title, null); }
public Blob getBlob(String title) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture.getPictureFromTitle(title); }
@Override public String getHash() { Blob blob = getBlob(); if (blob != null) { String h = blob.getDigest(); if (h != null) { return h; } } return doc.getId() + xPath + getModificationDate().toString(); }
@Override protected void addViews(List<Map<String, Object>> pictureTemplates, String filename, String title) throws IOException, NuxeoException { /* positionner à null le paramètre pictureTemplates pour que les valeurs par défaut soient utilisées * (voir le ticket Jira #7654 - https://jira.nuxeo.com/browse/SUPNXP-7654) */ List<Map<String, Object>> picTpls = (null != pictureTemplates && pictureTemplates.isEmpty()) ? null : pictureTemplates; super.addViews(picTpls, filename, title); }
@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; }
@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 BlobHolder getBlobHolder(DocumentModel doc) { String docType = doc.getType(); BlobHolder blobHolder; if (doc.hasFacet("Picture")) { blobHolder = new PictureBlobHolder(doc, "file:content"); } else if (docType.equals("PictureBook")) { blobHolder = new PictureBookBlobHolder(doc, ""); } else { blobHolder = null; } return blobHolder; }
@Override public String getHash() { Blob blob = getBlob(); if (blob != null) { String h = blob.getDigest(); if (h != null) { return h; } } return doc.getId() + xPath + getModificationDate().toString(); }
@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 String getViewXPath(String viewName) { if (ORIGINAL_VIEW_NAME.equals(viewName)) { return getFirstViewXPath(); } return null; }
public List<Blob> getBlobs(String... viewNames) { List<Blob> blobList = new ArrayList<>(); for (String viewName : viewNames) { blobList.add(getBlob(viewName)); } return blobList; }
/** * Returns the {@link ImageInfo} for the main Blob ({@code fileContent}). * * @since 5.9.5. */ protected ImageInfo getImageInfo() { if (imageInfo == null) { imageInfo = getImagingService().getImageInfo(fileContent); } return imageInfo; }
@Override public Object getAdapter(DocumentModel doc, Class itf) { if (doc.hasFacet(PICTURE_FACET) || doc.hasFacet(MULTIVIEW_PICTURE_FACET)) { return new MultiviewPictureAdapter(doc); } return null; }
@SuppressWarnings("unchecked") public MultiviewPictureAdapter(DocumentModel docModel) { this.docModel = docModel; List<Map<String, Object>> list = (List<Map<String, Object>>) docModel.getPropertyValue(PICTURE_VIEWS_PROPERTY); if (list != null) { for (Map<String, Object> map : list) { PictureView view = mapToView(map); views.put(view.getTitle(), view); } } }
@Override public BlobHolder getBlobHolder(DocumentModel doc) { BlobHolder bh = null; if ("PictureBook".equals(doc.getType())) { bh = new ToutaticePictureBookBlobHolder(doc, ""); } else { bh = super.getBlobHolder(doc); } return bh; }
/** * Add a pictureView to the existing picture views attached with the document * * @since 7.1 */ protected void addPictureView(PictureView view) { List<Map<String, Serializable>> views = getPictureViews(); views.add(view.asMap()); doc.setPropertyValue(VIEWS_PROPERTY, (Serializable) views); }
@Override public boolean isAvailable(DocumentModel doc, RenditionDefinition definition) { PictureResourceAdapter picture = doc.getAdapter(PictureResourceAdapter.class); return picture != null && picture.getPictureFromTitle(definition.getName()) != null; }
@Override public String getViewXPath(String viewName) { Property views = doc.getProperty(VIEWS_PROPERTY); for (int i = 0; i < views.size(); i++) { if (views.get(i).getValue(TITLE_PROPERTY).equals(viewName)) { return getViewXPathFor(i); } } return null; }