@Override public final boolean accepts(@NotNull Media media) { // accept if rendition is an image rendition, and resolving was successful return media.isValid() && media.getRendition() != null && media.getRendition().isImage(); }
@Override public final boolean accepts(@NotNull Media media) { return media.getMediaRequest().getMediaArgs().isMediaFormatsMandatory() && media.getRendition() != null && media.getRenditions().size() > 1 && media.isValid(); }
@Override public boolean accepts(@NotNull Media media) { // accept if not rendition was found and in edit mode // and at least one media format is given, and dummy image is not suppressed MediaArgs mediaArgs = media.getMediaRequest().getMediaArgs(); MediaFormat[] mediaFormats = mediaArgs.getMediaFormats(); return (!media.isValid() || media.getRendition() == null) && getWcmMode() != null && getWcmMode() != WCMMode.DISABLED && (mediaFormats != null && mediaFormats.length > 0) && mediaArgs.isDummyImage(); }
@Override public final boolean accepts(@NotNull Media media) { // accept if not rendition was found and in edit mode // and multiple media formats are mandatory, and dummy image is not suppressed MediaArgs mediaArgs = media.getMediaRequest().getMediaArgs(); MediaFormat[] mediaFormats = mediaArgs.getMediaFormats(); return (!media.isValid() || media.getRendition() == null) && getWcmMode() != null && getWcmMode() != WCMMode.DISABLED && (mediaFormats != null && mediaFormats.length > 1) && mediaArgs.isDummyImage() && mediaArgs.isMediaFormatsMandatory(); }
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; }
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; }