1 package org.simantics.spreadsheet.graph.synchronization;
\r
3 import org.simantics.spreadsheet.graph.SpreadsheetBook;
\r
4 import org.simantics.spreadsheet.graph.SpreadsheetLines;
\r
5 import org.simantics.structural.synchronization.base.CommandBuilder;
\r
6 import org.simantics.structural.synchronization.base.Solver;
\r
8 public class LinesCommandBuilder implements CommandBuilder {
\r
10 private final boolean update;
\r
11 private String name;
\r
14 public LinesCommandBuilder(String name, boolean update) {
\r
16 this.update = update;
\r
20 public void apply(Solver solver) {
\r
24 SpreadsheetBook book = solver.getConcreteSolver();
\r
25 SpreadsheetLines node = book.ensureSubprocess(name);
\r
28 // String path = name.substring(0, name.lastIndexOf("/"));
\r
29 // String lineName = name.substring(name.lastIndexOf("/")+1);
\r
30 // int row = Integer.parseInt(lineName.substring(3));
\r
33 // SpreadsheetLine line = node.lines.get(-row);
\r
34 // if(line == null) {
\r
35 // line = new SpreadsheetLine(node, row);
\r
36 // node.lines.put(-row, line);
\r
39 // for(int i=0;i<bean.cells.length;i++) {
\r
41 // LineContentBeanCell cell = bean.cells[i];
\r
45 // if(ExcelFormula.BINDING.type().equals(cell.content.getBinding().type())) {
\r
46 // ExcelFormula formula = (ExcelFormula)cell.content.getValue(ExcelFormula.BINDING);
\r
47 // SheetFormulaParser p = new SheetFormulaParser(new StringReader(formula.expression));
\r
48 // AstValue v = p.relation();
\r
49 // line.cells.add(new SpreadsheetCell(line, i, new SpreadsheetFormula(v, formula.expression), 0));
\r
51 // line.cells.add(new SpreadsheetCell(line, i, cell.content.getValue(), 0));
\r
53 // } catch (Throwable e) {
\r
54 // line.cells.add(new SpreadsheetCell(line, i, cell.content.getValue(), 0));
\r
56 // new Exception("failed: " + ((ExcelFormula)(cell.content.getValue(ExcelFormula.BINDING))).expression, e).printStackTrace();
\r
57 // } catch (AdaptException e1) {
\r
58 // e1.printStackTrace();
\r
66 @SuppressWarnings("unchecked")
\r
68 public <T> T getConcrete() {
\r