]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.fileimport/src/org/simantics/fileimport/scl/DropinsSCL.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.fileimport / src / org / simantics / fileimport / scl / DropinsSCL.java
index d3fa3d0f9b6b14302e37ee4bef804d174a57e06e..74d2a0322f45c426e0fffa1434e888641e69632c 100644 (file)
-package org.simantics.fileimport.scl;\r
-\r
-import java.io.IOException;\r
-import java.nio.file.DirectoryStream;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.Map;\r
-import java.util.Optional;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.databoard.util.Base64;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.request.UniqueRead;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.service.SerialisationSupport;\r
-import org.simantics.fileimport.Activator;\r
-import org.simantics.fileimport.FileImportService;\r
-import org.simantics.fileimport.dropins.FileImportDropins;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.utils.FileUtils;\r
-\r
-/**\r
- * SCL interface for Simantics File Import Functionality\r
- * See <code>"Dropins/Core"</code> SCL module for more\r
- * \r
- * @author Jani Simomaa\r
- *\r
- */\r
-public class DropinsSCL {\r
-\r
-    public static void watchDropinsFolder() {\r
-        FileImportDropins.watchDropinsFolder();\r
-    }\r
-\r
-    public static void unwatchDropinsFolder() {\r
-        FileImportDropins.unwatchDropinsFolder();\r
-    }\r
-\r
-    public static void uploadToDropinsBase64(String base64, String fileName) {\r
-        // ensure that watcher is awake\r
-        FileImportDropins.watchDropinsFolder();\r
-        try {\r
-            Path rootFolder = Activator.getDropinsFolder();\r
-            Path newFile = rootFolder.resolve(fileName);\r
-            if (Files.exists(newFile)) {\r
-                newFile = findFreshFileName(rootFolder, fileName);\r
-            }\r
-            byte[] bytes = Base64.decode(base64);\r
-            FileUtils.writeFile(newFile.toFile(), bytes);\r
-        } catch (IOException e) {\r
-            e.printStackTrace();\r
-        }\r
-    }\r
-\r
-    private static Path findFreshFileName(Path root, String fileName) throws IOException {\r
-        int ending = fileName.lastIndexOf('.');\r
-        String glob = fileName;\r
-        String suffix = "";\r
-        if (ending > -1) {\r
-            glob = fileName.substring(0, ending);\r
-            suffix = fileName.substring(ending);\r
-        }\r
-        int i = 0;\r
-        try (DirectoryStream<Path> stream = Files.newDirectoryStream(root, glob)) {\r
-            Iterator<Path> iter = stream.iterator();\r
-            while (iter.hasNext()) {\r
-                iter.next();\r
-                i++;\r
-            }\r
-        }\r
-        String newFileName = glob + "_" + i + suffix;\r
-        return root.resolve(newFileName);\r
-    }\r
-\r
-    public static Map<String, Long> getUploadedFiles() throws DatabaseException {\r
-        Map<String, String> results = FileImportService.getPathsAndResources();\r
-        Map<String, Long> result = Simantics.getSession().syncRequest(new UniqueRead<Map<String, Long>>() {\r
-\r
-            @Override\r
-            public Map<String, Long> perform(ReadGraph graph) throws DatabaseException {\r
-                Map<String, Long> map = new HashMap<>();\r
-                for (Map.Entry<String, String> entry : results.entrySet()) {\r
-                    String value = (String) entry.getValue();\r
-                    Long id = Long.valueOf(value);\r
-                    SerialisationSupport ss = graph.getService(SerialisationSupport.class);\r
-                    try {\r
-                        Resource r = ss.getResource(id);\r
-                        String name = graph.getRelatedValue(r, Layer0.getInstance(graph).HasName);\r
-                        map.put(name, id);\r
-                    } catch (DatabaseException e) {\r
-                        e.printStackTrace();\r
-                    }\r
-                }\r
-                return map;\r
-            }\r
-        });\r
-        return result;\r
-    }\r
-\r
-    public static void removeFileForId(long id) {\r
-        FileImportService.removeFileForResource(id, Optional.empty());\r
-    }\r
-\r
-}\r
+package org.simantics.fileimport.scl;
+
+import java.io.IOException;
+import java.nio.file.DirectoryStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Optional;
+
+import org.simantics.Simantics;
+import org.simantics.databoard.util.Base64;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.request.UniqueRead;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.service.SerialisationSupport;
+import org.simantics.fileimport.Activator;
+import org.simantics.fileimport.FileImportService;
+import org.simantics.fileimport.dropins.FileImportDropins;
+import org.simantics.layer0.Layer0;
+import org.simantics.utils.FileUtils;
+
+/**
+ * SCL interface for Simantics File Import Functionality
+ * See <code>"Dropins/Core"</code> SCL module for more
+ * 
+ * @author Jani Simomaa
+ *
+ */
+public class DropinsSCL {
+
+    public static void watchDropinsFolder() {
+        FileImportDropins.watchDropinsFolder();
+    }
+
+    public static void unwatchDropinsFolder() {
+        FileImportDropins.unwatchDropinsFolder();
+    }
+
+    public static void uploadToDropinsBase64(String base64, String fileName) {
+        // ensure that watcher is awake
+        FileImportDropins.watchDropinsFolder();
+        try {
+            Path rootFolder = Activator.getDropinsFolder();
+            Path newFile = rootFolder.resolve(fileName);
+            if (Files.exists(newFile)) {
+                newFile = findFreshFileName(rootFolder, fileName);
+            }
+            byte[] bytes = Base64.decode(base64);
+            FileUtils.writeFile(newFile.toFile(), bytes);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static Path findFreshFileName(Path root, String fileName) throws IOException {
+        int ending = fileName.lastIndexOf('.');
+        String glob = fileName;
+        String suffix = "";
+        if (ending > -1) {
+            glob = fileName.substring(0, ending);
+            suffix = fileName.substring(ending);
+        }
+        int i = 0;
+        try (DirectoryStream<Path> stream = Files.newDirectoryStream(root, glob)) {
+            Iterator<Path> iter = stream.iterator();
+            while (iter.hasNext()) {
+                iter.next();
+                i++;
+            }
+        }
+        String newFileName = glob + "_" + i + suffix;
+        return root.resolve(newFileName);
+    }
+
+    public static Map<String, Long> getUploadedFiles() throws DatabaseException {
+        Map<String, String> results = FileImportService.getPathsAndResources();
+        Map<String, Long> result = Simantics.getSession().syncRequest(new UniqueRead<Map<String, Long>>() {
+
+            @Override
+            public Map<String, Long> perform(ReadGraph graph) throws DatabaseException {
+                Map<String, Long> map = new HashMap<>();
+                for (Map.Entry<String, String> entry : results.entrySet()) {
+                    String value = (String) entry.getValue();
+                    Long id = Long.valueOf(value);
+                    SerialisationSupport ss = graph.getService(SerialisationSupport.class);
+                    try {
+                        Resource r = ss.getResource(id);
+                        String name = graph.getRelatedValue(r, Layer0.getInstance(graph).HasName);
+                        map.put(name, id);
+                    } catch (DatabaseException e) {
+                        e.printStackTrace();
+                    }
+                }
+                return map;
+            }
+        });
+        return result;
+    }
+
+    public static void removeFileForId(long id) {
+        FileImportService.removeFileForResource(id, Optional.empty());
+    }
+
+}