package org.curriki.xwiki.plugin.asset.attachment; import org.curriki.xwiki.plugin.asset.Constants; import org.curriki.xwiki.plugin.asset.Asset; import com.xpn.xwiki.doc.XWikiDocument; import com.xpn.xwiki.doc.XWikiAttachment; import com.xpn.xwiki.XWikiContext; import com.xpn.xwiki.objects.BaseObject; import com.xpn.xwiki.plugin.image.ImagePlugin; /** */ public class ImageAssetManager extends AttachmentAssetManager { public static String CATEGORY_NAME = Constants.ASSET_CATEGORY_IMAGE; public static Class<? extends Asset> ASSET_CLASS = ImageAsset.class; public String getCategory() { return CATEGORY_NAME; } public Class<? extends Asset> getAssetClass() { return ASSET_CLASS; } public void updateSubAssetClass(XWikiDocument assetDoc, String filetype, String category, XWikiAttachment attachment, XWikiContext context) { assetDoc.getObject(Constants.IMAGE_ASSET_CLASS, true, context); ImagePlugin imgPlugin = (ImagePlugin) context.getWiki().getPlugin("image", context); BaseObject imageObject = assetDoc.getObject(Constants.IMAGE_ASSET_CLASS, true, context); if (imgPlugin != null) { try { int height = imgPlugin.getHeight(attachment, context); int width = imgPlugin.getWidth(attachment, context); imageObject.setIntValue("height", height); imageObject.setIntValue("width", width); } catch (Exception e) { // Ignore exception } } } }