/** * Extracts media metadata from the DOM element attributes and resolves them to a {@link Media} object. * @param element DOM element * @return Media metadata */ private Media getImageMedia(Element element) { String ref = element.getAttributeValue("src"); if (StringUtils.isNotEmpty(ref)) { ref = unexternalizeImageRef(ref); } return mediaHandler.get(ref).build(); }
public Media resolve(MediaHandler mediaHandler) { return mediaHandler.get(assetPath) .mediaFormatName(mediaFormatName) .fixedDimension(width, height) .build(); }
@PostConstruct private void activate() { MediaBuilder builder = mediaHandler.get(resource); if (StringUtils.isNotEmpty(mediaFormat)) { builder.mediaFormatName(mediaFormat); } if (StringUtils.isNotEmpty(refProperty)) { builder.refProperty(refProperty); } if (StringUtils.isNotEmpty(cropProperty)) { builder.cropProperty(cropProperty); } if (StringUtils.isNotEmpty(rotationProperty)) { builder.rotationProperty(rotationProperty); } if (StringUtils.isNotEmpty(cssClass)) { builder.property(PROP_CSS_CLASS, cssClass); } media = builder.build(); }
@PostConstruct private void activate() { media = mediaHandler.get(resource, new MediaArgs(mediaFormat)).build(); if (media.isValid() && media.getElement() != null) { HtmlElement element = media.getElement(); if (StringUtils.isNotEmpty(cssClass)) { element.addCssClass(cssClass); } ValueMap props = resource.getValueMap(); int imageWidth = props.get("imageWidth", 0); if (imageWidth > 0) { element.setAttribute("width", Integer.toString(imageWidth)); } int imageHeight = props.get("imageWidth", 0); if (imageHeight > 0) { element.setAttribute("height", Integer.toString(imageHeight)); } } }
@SuppressWarnings("null") @Override public @NotNull Link resolveLink(@NotNull Link link) { LinkRequest linkRequest = link.getLinkRequest(); ValueMap props = linkRequest.getResourceProperties(); // get properties String mediaRef = props.get(LinkNameConstants.PN_LINK_MEDIA_REF, String.class); boolean isDownload = props.get(LinkNameConstants.PN_LINK_MEDIA_DOWNLOAD, false); MediaArgs mediaArgs = new MediaArgs() // only allow linking to "download" media formats .download(true) .contentDispositionAttachment(isDownload) .urlMode(linkRequest.getLinkArgs().getUrlMode()); // resolve media library reference Media media = mediaHandler.get(mediaRef, mediaArgs).build(); if (media != null) { // set resovled media references information in link metadata link.setUrl(media.getUrl()); link.setTargetAsset(media.getAsset()); link.setTargetRendition(media.getRendition()); } // mark link as invalid if a reference was set that could not be resolved if (link.getUrl() == null && StringUtils.isNotEmpty(mediaRef)) { link.setLinkReferenceInvalid(true); } return link; }