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