X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Futil%2FDefaultImageManager.java;h=477d65be7894f8bc092f1dffd68fd72fe87f6ad1;hb=6d26d082b795598db6a1de488bd27beb4f870e57;hp=1c6f7198413942206a04c5694a06b5073e0036b1;hpb=b6976ad6a8bdff4ab9dc9176b20e51bfdfa5a74d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/DefaultImageManager.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/DefaultImageManager.java index 1c6f71984..477d65be7 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/DefaultImageManager.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/DefaultImageManager.java @@ -118,7 +118,7 @@ public class DefaultImageManager implements CmsImageManager { public Point getImageSize(Node node) throws RepositoryException { // TODO optimise Image image = getSwtImage(node); - return new Point(image.getBounds().width,image.getBounds().height); + return new Point(image.getBounds().width, image.getBounds().height); } /** @return null if not available */ @@ -152,24 +152,6 @@ public class DefaultImageManager implements CmsImageManager { @Override public String getImageUrl(Node node) throws RepositoryException { return CmsUiUtils.getDataPath(node); - // String name = getResourceName(node); - // ResourceManager resourceManager = RWT.getResourceManager(); - // if (!resourceManager.isRegistered(name)) { - // InputStream inputStream = null; - // Binary binary = getImageBinary(node); - // if (binary == null) - // return null; - // try { - // inputStream = binary.getStream(); - // resourceManager.register(name, inputStream); - // } finally { - // IOUtils.closeQuietly(inputStream); - // JcrUtils.closeQuietly(binary); - // } - // if (log.isTraceEnabled()) - // log.trace("Registered image " + name); - // } - // return resourceManager.getLocation(name); } protected String getResourceName(Node node) throws RepositoryException { @@ -203,7 +185,8 @@ public class DefaultImageManager implements CmsImageManager { } @Override - public String uploadImage(Node parentNode, String fileName, InputStream in) throws RepositoryException { + public String uploadImage(Node context, Node parentNode, String fileName, InputStream in, String contentType) + throws RepositoryException { InputStream inputStream = null; try { String previousResourceName = null; @@ -220,10 +203,12 @@ public class DefaultImageManager implements CmsImageManager { Node fileNode = JcrUtils.copyBytesAsFile(parentNode, fileName, arr); inputStream = new ByteArrayInputStream(arr); ImageData id = new ImageData(inputStream); - processNewImageFile(fileNode, id); + processNewImageFile(context, fileNode, id); - String mime = Files.probeContentType(Paths.get(fileName)); - fileNode.setProperty(Property.JCR_MIMETYPE, mime); + String mime = contentType != null ? contentType : Files.probeContentType(Paths.get(fileName)); + if (mime != null) { + fileNode.getNode(JCR_CONTENT).setProperty(Property.JCR_MIMETYPE, mime); + } fileNode.getSession().save(); // reset resource manager @@ -241,7 +226,8 @@ public class DefaultImageManager implements CmsImageManager { } } - /** Does nothign by default. */ - protected void processNewImageFile(Node fileNode, ImageData id) throws RepositoryException, IOException { + /** Does nothing by default. */ + protected void processNewImageFile(Node context, Node fileNode, ImageData id) + throws RepositoryException, IOException { } }