]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.fileimport/src/org/simantics/fileimport/FileReferenceFileImport.java
Sync git svn branch with SVN repository r33144.
[simantics/platform.git] / bundles / org.simantics.fileimport / src / org / simantics / fileimport / FileReferenceFileImport.java
diff --git a/bundles/org.simantics.fileimport/src/org/simantics/fileimport/FileReferenceFileImport.java b/bundles/org.simantics.fileimport/src/org/simantics/fileimport/FileReferenceFileImport.java
new file mode 100644 (file)
index 0000000..5ae271c
--- /dev/null
@@ -0,0 +1,31 @@
+package org.simantics.fileimport;\r
+\r
+import java.nio.file.Path;\r
+import java.util.Collections;\r
+import java.util.Map;\r
+import java.util.Optional;\r
+\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.graphfile.util.GraphFileUtil;\r
+\r
+public class FileReferenceFileImport extends SimanticsResourceFileImport {\r
+\r
+    private static final Map<String, String> ALLOWED_EXTENSIONS = Collections.singletonMap("*.asd", "All files");\r
+    \r
+    @Override\r
+    public Optional<Resource> perform(Resource parent, Path file) {\r
+        try {\r
+            return Optional.of(GraphFileUtil.createFileReference(parent, file));\r
+        } catch (DatabaseException e) {\r
+            e.printStackTrace();\r
+            return Optional.empty();\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public Map<String, String> allowedExtensionsWithFilters() {\r
+        return ALLOWED_EXTENSIONS;\r
+    }\r
+\r
+}\r