]>
git.argeo.org Git - gpl/argeo-suite.git/blob - publishing/org.argeo.publishing.ui/src/org/argeo/cms/text/CmsTextImageManager.java
1 package org
.argeo
.cms
.text
;
3 import java
.io
.IOException
;
5 import javax
.jcr
.Binary
;
7 import javax
.jcr
.RepositoryException
;
9 import org
.argeo
.cms
.ui
.util
.DefaultImageManager
;
10 import org
.eclipse
.swt
.graphics
.ImageData
;
11 import org
.eclipse
.swt
.graphics
.Point
;
13 /** Manages only public images so far. */
14 public class CmsTextImageManager
extends DefaultImageManager
{
16 public Point
getImageSize(Node node
) throws RepositoryException
{
18 node
.hasProperty(CmsNames
.CMS_IMAGE_WIDTH
) ?
(int) node
.getProperty(CmsNames
.CMS_IMAGE_WIDTH
).getLong()
20 node
.hasProperty(CmsNames
.CMS_IMAGE_HEIGHT
)
21 ?
(int) node
.getProperty(CmsNames
.CMS_IMAGE_HEIGHT
).getLong()
26 public Binary
getImageBinary(Node node
) throws RepositoryException
{
27 Binary res
= super.getImageBinary(node
);
28 if (res
== null && node
.isNodeType(CmsTypes
.CMS_STYLED
) && node
.hasProperty(CmsNames
.CMS_DATA
)) {
29 return node
.getProperty(CmsNames
.CMS_DATA
).getBinary();
36 protected void processNewImageFile(Node fileNode
, ImageData id
) throws RepositoryException
, IOException
{
37 fileNode
.addMixin(CmsTypes
.CMS_IMAGE
);
38 fileNode
.setProperty(CmsNames
.CMS_IMAGE_WIDTH
, id
.width
);
39 fileNode
.setProperty(CmsNames
.CMS_IMAGE_HEIGHT
, id
.height
);