1 package org.simantics.fileimport;
\r
3 import java.nio.file.Path;
\r
4 import java.util.Collections;
\r
5 import java.util.Map;
\r
6 import java.util.Optional;
\r
8 import org.simantics.Simantics;
\r
9 import org.simantics.db.Resource;
\r
10 import org.simantics.db.WriteGraph;
\r
11 import org.simantics.db.common.request.WriteResultRequest;
\r
12 import org.simantics.db.exception.DatabaseException;
\r
13 import org.simantics.modeling.ModelingUtils;
\r
15 public class LibraryFolderFileImport extends SimanticsResourceFileImport {
\r
17 private static final Map<String, String> ALLOWED_EXTENSIONS = Collections.singletonMap(FileImportService.FOLDER, FileImportService.FOLDER);
\r
20 public Map<String, String> allowedExtensionsWithFilters() {
\r
21 return ALLOWED_EXTENSIONS;
\r
25 public Optional<Resource> perform(Resource parent, Path file) {
\r
26 final String name = file.getFileName().toString();
\r
28 return Optional.of(Simantics.getSession().syncRequest(new WriteResultRequest<Resource>() {
\r
31 public Resource perform(WriteGraph graph) throws DatabaseException {
\r
32 return ModelingUtils.createLibrary(graph, parent, name);
\r
35 } catch (DatabaseException e) {
\r
36 e.printStackTrace();
\r
37 return Optional.empty();
\r