Refactor to use ACR instead of JCR.
[gpl/argeo-suite.git] / org.argeo.app.ui / src / org / argeo / app / ui / SuiteUiUtils.java
index d1869717e28f1352792defe0ea988c36e10783d5..7fe00fe9cf912c455c4aca0c46250b6992dcc6e1 100644 (file)
@@ -1,14 +1,17 @@
 package org.argeo.app.ui;
 
-import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 
-import javax.imageio.ImageIO;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+import org.apache.commons.io.IOUtils;
+import org.argeo.api.acr.Content;
 import org.argeo.api.cms.CmsEditable;
 import org.argeo.api.cms.CmsEvent;
 import org.argeo.api.cms.CmsStyle;
@@ -20,6 +23,7 @@ import org.argeo.app.api.SuiteRole;
 import org.argeo.cms.LocaleUtils;
 import org.argeo.cms.Localized;
 import org.argeo.cms.auth.CurrentUser;
+import org.argeo.cms.jcr.acr.JcrContent;
 import org.argeo.cms.swt.CmsIcon;
 import org.argeo.cms.swt.CmsSwtUtils;
 import org.argeo.cms.swt.dialogs.LightweightDialog;
@@ -237,22 +241,20 @@ public class SuiteUiUtils {
                boolean test = false;
                if (test) {
                        try (InputStream in = JcrUtils.getFileAsStream(fileNode);
-                       // OutputStream out = Files.newOutputStream(Paths.get("/home/mbaudier/tmp/" +
-                       // fileNode.getName()))
-                       ) {
-                               BufferedImage img = ImageIO.read(in);
-                               System.out.println(fileNode.getName() + ": width=" + img.getWidth() + ", height=" + img.getHeight());
-//                     IOUtils.copy(in, out);
+                                       OutputStream out = Files.newOutputStream(Paths.get("/home/mbaudier/tmp/" + fileNode.getName()));) {
+//                             BufferedImage img = ImageIO.read(in);
+//                             System.out.println(fileNode.getName() + ": width=" + img.getWidth() + ", height=" + img.getHeight());
+                               IOUtils.copy(in, out);
                        } catch (IOException e) {
                                throw new RuntimeException(e);
                        }
 
-                       try (InputStream in = JcrUtils.getFileAsStream(fileNode);) {
-                               ImageData imageData = new ImageData(in);
-                               System.out.println(fileNode.getName() + ": width=" + imageData.width + ", height=" + imageData.height);
-                       } catch (IOException e) {
-                               throw new RuntimeException(e);
-                       }
+//                     try (InputStream in = JcrUtils.getFileAsStream(fileNode);) {
+//                             ImageData imageData = new ImageData(in);
+//                             System.out.println(fileNode.getName() + ": width=" + imageData.width + ", height=" + imageData.height);
+//                     } catch (IOException e) {
+//                             throw new RuntimeException(e);
+//                     }
                }
                // TODO move it deeper in the middleware.
                if (!content.isNodeType(EntityType.box.get())) {
@@ -358,8 +360,13 @@ public class SuiteUiUtils {
                return img;
        }
 
+       public static String toLink(Content node) {
+               return node != null ? "#" + CmsSwtUtils.cleanPathForUrl(SuiteApp.nodeToState(node)) : null;
+       }
+
        public static String toLink(Node node) {
-               return node != null ? "#" + CmsUiUtils.cleanPathForUrl(SuiteApp.nodeToState(node)) : null;
+               return node != null ? "#" + CmsSwtUtils.cleanPathForUrl(SuiteApp.nodeToState(JcrContent.nodeToContent(node)))
+                               : null;
        }
 
        public static Control addLink(Composite parent, String label, Node node, CmsStyle style)