/** * @param media Media metadata * @return DAM asset or null */ @SuppressWarnings("null") protected Asset getDamAsset(Media media) { return media.getAsset().adaptTo(Asset.class); }
/** * Create an IMG element with alt text. * @param media Media metadata * @return IMG element with properties */ protected HtmlElement<?> getImageElement(Media media) { Image img = new Image(); // Alternative text Asset asset = media.getAsset(); String altText = null; if (asset != null) { altText = asset.getAltText(); } if (StringUtils.isNotEmpty(altText)) { img.setAlt(altText); } return img; }
Image img = null; Asset asset = media.getAsset(); Rendition rendition = media.getRendition();
@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; }
if (media.getAsset() != null) { if (media.getRenditions().isEmpty()) { media.setMediaInvalidReason(MediaInvalidReason.NO_MATCHING_RENDITION);
private JSONArray toResultJson(List<Media> mediaList) throws JSONException { JSONArray array = new JSONArray(); for (Media media : mediaList) { Rendition rendition = media.getRendition(); JSONObject mediaObject = new JSONObject(); mediaObject.put("assetPath", media.getAsset().getPath()); mediaObject.put("url", media.getUrl()); if (rendition.getWidth() > 0 && rendition.getHeight() > 0) { mediaObject.put("width", rendition.getWidth()); mediaObject.put("height", rendition.getHeight()); } if (rendition.getFileSize() > 0) { mediaObject.put("fileSize", rendition.getFileSize()); } mediaObject.putOpt("fileExtension", rendition.getFileExtension()); mediaObject.putOpt("mimeType", rendition.getMimeType()); array.put(mediaObject); } return array; }