X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2FExcelImport.java;h=81fd2cfd4fb183277c7ea047819c6a66edd343a0;hp=246f38edf8654dc7145ffd63c33bbe56e4dd99b3;hb=0d82e7808541ed486f6027a28038d44d2d93711a;hpb=99f23679ed1b7c4a47cd841fa75be142225eb7aa diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/ExcelImport.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/ExcelImport.java index 246f38edf..81fd2cfd4 100644 --- a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/ExcelImport.java +++ b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/ExcelImport.java @@ -28,7 +28,7 @@ import org.simantics.datatypes.utils.BTree; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.common.request.DelayedWriteRequest; -import org.simantics.db.common.request.WriteRequest; +import org.simantics.db.common.request.WriteResultRequest; import org.simantics.db.common.utils.NameUtils; import org.simantics.db.exception.BindingException; import org.simantics.db.exception.DatabaseException; @@ -46,12 +46,20 @@ import org.simantics.spreadsheet.graph.parser.ast.AstValue; import org.simantics.spreadsheet.resource.SpreadsheetResource; import org.simantics.spreadsheet.util.SpreadsheetUtils; import org.simantics.utils.DataContainer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ExcelImport { - + + private static final Logger LOGGER = LoggerFactory.getLogger(ExcelImport.class); + private static final double POINT_TO_PIXEL_RATIO = 1.33; - public static void importBook(Resource container, File file) { + public static void importBook(Resource container, File file) { + importBook(container, file); + } + + public static Resource importBookR(Resource container, File file) { try { @@ -254,7 +262,7 @@ public class ExcelImport { btreeContainer.set(result); bookContainer.set(book); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Could not import book " + file.getAbsolutePath(), e); btreeContainer.add(Collections.emptyList()); } } @@ -269,20 +277,21 @@ public class ExcelImport { } }); - Simantics.getSession().sync(new WriteRequest() { + return Simantics.getSession().sync(new WriteResultRequest() { @Override - public void perform(WriteGraph graph) throws DatabaseException { + public Resource perform(WriteGraph graph) throws DatabaseException { Resource delayedBook = bookContainer.get(); XSupport support = graph.getService(XSupport.class); Resource book = support.convertDelayedResourceToResource(delayedBook); SpreadsheetGraphUtils.constructAndInitializeRunVariable(graph, book); + return book; } }); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Could not import book " + file.getAbsolutePath(), e); + return null; } - } private static Resource assignStyles(WriteGraph graph, SpreadsheetResource SR, Cell cell, Resource book, Map existingStyles, Map existingStyles2, String styleName) throws DatabaseException {