X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.fileimport%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Ffileimport%2FExcelFileImport.java;h=d1f8924a58b5c245c6b450d4b6c33769bf81999d;hp=a3029021d8a780d92fe4c7afe2d8d3e2fedd5e9f;hb=664f37a026967c90a9a8a4ef3c5336ee426f67aa;hpb=e02b8761385c8b353cccabab32897353f764cac6 diff --git a/bundles/org.simantics.spreadsheet.fileimport/src/org/simantics/spreadsheet/fileimport/ExcelFileImport.java b/bundles/org.simantics.spreadsheet.fileimport/src/org/simantics/spreadsheet/fileimport/ExcelFileImport.java index a3029021d..d1f8924a5 100644 --- a/bundles/org.simantics.spreadsheet.fileimport/src/org/simantics/spreadsheet/fileimport/ExcelFileImport.java +++ b/bundles/org.simantics.spreadsheet.fileimport/src/org/simantics/spreadsheet/fileimport/ExcelFileImport.java @@ -1,30 +1,42 @@ -package org.simantics.spreadsheet.fileimport; - -import java.nio.file.Path; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -import org.simantics.db.Resource; -import org.simantics.fileimport.SimanticsResourceFileImport; - -public class ExcelFileImport extends SimanticsResourceFileImport { - - private static final Map ALLOWED_EXTENSIONS = new HashMap<>(2); - - static { - ALLOWED_EXTENSIONS.put("*.xls", "Excel file *.xls"); - ALLOWED_EXTENSIONS.put("*.xlsx", "Excel file *.xlsx"); - } - - @Override - public Optional perform(Resource parent, Path file) { - return Optional.empty(); - } - - @Override - public Map allowedExtensionsWithFilters() { - return ALLOWED_EXTENSIONS; - } - -} +package org.simantics.spreadsheet.fileimport; + +import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import org.simantics.Simantics; +import org.simantics.db.Resource; +import org.simantics.fileimport.SimanticsResourceFileImport; +import org.simantics.spreadsheet.graph.ExcelImport; + +public class ExcelFileImport extends SimanticsResourceFileImport { + + private static final Map ALLOWED_EXTENSIONS = new HashMap<>(2); + + static { + ALLOWED_EXTENSIONS.put("*.xls", "Excel file *.xls"); + ALLOWED_EXTENSIONS.put("*.xlsx", "Excel file *.xlsx"); + } + + @Override + public Optional perform(Resource possibleSelection, Path file) throws Exception { + if(possibleSelection != null) { + //Make sure the selection is of valid type here + return Optional.ofNullable(ExcelImport.importBookR(possibleSelection, file.toFile())); + } else { + throw new NullPointerException("No selection provided - Cannot import book"); + } + } + + @Override + public Map allowedExtensionsWithFilters() { + return ALLOWED_EXTENSIONS; + } + + @Override + public Resource defaultParentResource() { + return null; + } + +}