From: <fg...@us...> - 2010-01-09 17:30:36
|
Revision: 1626 http://openutils.svn.sourceforge.net/openutils/?rev=1626&view=rev Author: fgiust Date: 2010-01-09 17:30:29 +0000 (Sat, 09 Jan 2010) Log Message: ----------- MEDIA-51 media:urlres EL expressions can't be used to generate scaled images of video previews Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/MediaTypeHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/MediaWithPreviewImageTypeHandler.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -46,6 +46,7 @@ import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager; import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; +import net.sourceforge.openutils.mgnlmedia.media.types.impl.BaseTypeHandler; import net.sourceforge.openutils.mgnlmedia.media.utils.ImageUtils; import org.apache.commons.collections.CollectionUtils; @@ -316,7 +317,7 @@ */ public static String getResolutionUrl(Content media, String resolution) { - FileProperties prop = new FileProperties(media, "image"); + FileProperties prop = new FileProperties(media, BaseTypeHandler.ORGINAL_NODEDATA_NAME); Integer width = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_WIDTH)); Integer height = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_HEIGHT)); Point size = ImageUtils.parseForSize(resolution); @@ -325,7 +326,7 @@ return mcm.getURIMappingPrefix() + prop.getProperty(FileProperties.PATH); } - if (media == null || !ImageUtils.checkOrCreateResolution(media, resolution)) + if (media == null || !ImageUtils.checkOrCreateResolution(media, resolution, null)) { return null; } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/MediaTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/MediaTypeHandler.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/MediaTypeHandler.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -150,6 +150,12 @@ String getNewNodeName(MultipartForm form, HttpServletRequest request); /** + * Get the name of the nodedata for the image used for preview + * @return the name of the nodedata for the image used for preview + */ + String getPreviewImageNodeDataName(); + + /** * Called when a media is going to be associated with a node * @param media media * @param parentNode node to be associated Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -87,6 +87,11 @@ return request.getParameter(ORGINAL_NODEDATA_NAME + "_" + FileProperties.PROPERTY_FILENAME); } + public String getPreviewImageNodeDataName() + { + return ORGINAL_NODEDATA_NAME; + } + /** * {@inheritDoc} */ @@ -300,4 +305,5 @@ { return getPropertyLocalized(media, "abstract"); } + } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -44,7 +44,7 @@ */ public String getThumbnailUrl(Content media) { - if (!ImageUtils.checkOrCreateResolution(media, "thumbnail")) + if (!ImageUtils.checkOrCreateResolution(media, "thumbnail", BaseTypeHandler.ORGINAL_NODEDATA_NAME)) { return StringUtils.EMPTY; } @@ -60,7 +60,7 @@ @Override public String getPreviewUrl(Content media) { - if (!ImageUtils.checkOrCreateResolution(media, "preview")) + if (!ImageUtils.checkOrCreateResolution(media, "preview", BaseTypeHandler.ORGINAL_NODEDATA_NAME)) { return StringUtils.EMPTY; } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/MediaWithPreviewImageTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/MediaWithPreviewImageTypeHandler.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/MediaWithPreviewImageTypeHandler.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -40,11 +40,16 @@ { /** + * Nodedata name where preview media content is saved + */ + public static final String PREVIEW_NODEDATA_NAME = "image"; + + /** * {@inheritDoc} */ public String getThumbnailUrl(Content media) { - if (!ImageUtils.checkOrCreateResolution(media, "thumbnail", "image")) + if (!ImageUtils.checkOrCreateResolution(media, "thumbnail", PREVIEW_NODEDATA_NAME)) { return StringUtils.EMPTY; } @@ -54,4 +59,9 @@ + "/resolutions/thumbnail/data." + ImageUtils.getExtension(media, "thumbnail"); } + + public String getPreviewImageNodeDataName() + { + return PREVIEW_NODEDATA_NAME; + } } Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2010-01-09 17:26:31 UTC (rev 1625) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2010-01-09 17:30:29 UTC (rev 1626) @@ -68,6 +68,7 @@ import net.sourceforge.openutils.mgnlmedia.media.configuration.ImageProcessorsManager; import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager; +import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; import net.sourceforge.openutils.mgnlmedia.media.processors.ImagePostProcessor; import net.sourceforge.openutils.mgnlmedia.media.types.impl.BaseTypeHandler; @@ -598,6 +599,7 @@ */ public static boolean checkOrCreateResolution(final Content media, final String resolutionTarget) { + return checkOrCreateResolution(media, resolutionTarget, BaseTypeHandler.ORGINAL_NODEDATA_NAME); } @@ -609,7 +611,7 @@ * @return false if resolution doesn't exist and there is a problem in generate it; true otherwise */ public static boolean checkOrCreateResolution(final Content media, final String resolutionTarget, - final String nodeDataName) + String nodeDataName) { Content resolutions = media.getChildByName("resolutions"); @@ -638,6 +640,21 @@ return false; } + if (nodeDataName == null) + { + + MediaTypeConfiguration mtc = MediaConfigurationManager.getInstance().getMediaTypeConfigurationFromMedia( + media); + if (mtc == null) + { + nodeDataName = BaseTypeHandler.ORGINAL_NODEDATA_NAME; + } + else + { + nodeDataName = mtc.getHandler().getPreviewImageNodeDataName(); + } + } + try { if (!media.hasNodeData(nodeDataName)) @@ -650,6 +667,8 @@ log.warn(e2.getMessage(), e2); } + final String finalNodeDataName = nodeDataName; + try { ImageUtils.doInSystemContext(new MgnlContext.SystemContextOperation() @@ -682,7 +701,7 @@ throw new RuntimeException(e); } - NodeData image = node.getNodeData(nodeDataName); + NodeData image = node.getNodeData(finalNodeDataName); if (image.getContentLength() == 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |