X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Finternal%2FJcrFileUploadReceiver.java;h=c8582f0c124839552df82b55b22d3ba0febefaeb;hb=633a8acd189cc22f06944d278879601189be1bc8;hp=47eb191f9c1e25bf1ac02656074966f9ab3b2cb6;hpb=088c1b517a543e935d8ab65c3b2fd2d0269b551d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/internal/JcrFileUploadReceiver.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/internal/JcrFileUploadReceiver.java index 47eb191f9..c8582f0c1 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/internal/JcrFileUploadReceiver.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/internal/JcrFileUploadReceiver.java @@ -11,43 +11,36 @@ import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; import org.apache.commons.io.FilenameUtils; -import org.argeo.cms.CmsException; -import org.argeo.cms.CmsNames; -import org.argeo.cms.ui.CmsImageManager; +import org.argeo.api.cms.CmsImageManager; +import org.argeo.cms.ui.widgets.Img; +import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; import org.eclipse.rap.fileupload.FileDetails; import org.eclipse.rap.fileupload.FileUploadReceiver; -public class JcrFileUploadReceiver extends FileUploadReceiver implements - CmsNames { +public class JcrFileUploadReceiver extends FileUploadReceiver { + private Img img; private final Node parentNode; private final String nodeName; private final CmsImageManager imageManager; /** If nodeName is null, use the uploaded file name */ - public JcrFileUploadReceiver(Node parentNode, String nodeName, - CmsImageManager imageManager) { + public JcrFileUploadReceiver(Img img, Node parentNode, String nodeName, CmsImageManager imageManager) { super(); + this.img = img; this.parentNode = parentNode; this.nodeName = nodeName; this.imageManager = imageManager; } @Override - public void receive(InputStream stream, FileDetails details) - throws IOException { + public void receive(InputStream stream, FileDetails details) throws IOException { try { - String fileName = nodeName != null ? nodeName : details - .getFileName(); + String fileName = nodeName != null ? nodeName : details.getFileName(); String contentType = details.getContentType(); if (isImage(details.getFileName(), contentType)) { - imageManager.uploadImage(parentNode, fileName, stream); + imageManager.uploadImage(img.getNode(),parentNode, fileName, stream, contentType); return; - // InputStream inputStream = new ByteArrayInputStream(arr); - // ImageData id = new ImageData(inputStream); - // fileNode.addMixin(CmsTypes.CMS_IMAGE); - // fileNode.setProperty(CMS_IMAGE_WIDTH, id.width); - // fileNode.setProperty(CMS_IMAGE_HEIGHT, id.height); } Node fileNode; @@ -65,14 +58,13 @@ public class JcrFileUploadReceiver extends FileUploadReceiver implements processNewFile(fileNode); fileNode.getSession().save(); } catch (RepositoryException e) { - throw new CmsException("cannot receive " + details, e); + throw new JcrException("Cannot receive " + details, e); } } protected Boolean isImage(String fileName, String contentType) { String ext = FilenameUtils.getExtension(fileName); - return ext != null - && (ext.equals("png") || ext.equalsIgnoreCase("jpg")); + return ext != null && (ext.equals("png") || ext.equalsIgnoreCase("jpg")); } protected void processNewFile(Node node) {