]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetEngine.java
Adopt spreadsheet changes made in Balas development
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetEngine.java
diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetEngine.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetEngine.java
deleted file mode 100644 (file)
index 364e926..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.simantics.spreadsheet.graph;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-import org.simantics.spreadsheet.Range;
-import org.simantics.spreadsheet.graph.parser.ast.AstRange;
-
-@SuppressWarnings("rawtypes")
-public class SpreadsheetEngine implements SpreadsheetElement, SheetNode {
-
-       private static final long serialVersionUID = -5246063647558595642L;
-       
-       private static final String LINES = "Lines";
-       
-       private final SpreadsheetBook book;
-       private final String name;
-       private final int id;
-
-       public SpreadsheetLines lines;
-       
-       transient public Map<String,Object> rangeCache;
-
-       public Map<String,Object> getRangeCache() {
-               if(rangeCache == null) rangeCache = new HashMap<String,Object>();
-               return rangeCache;
-       }
-       
-       public Object getCachedRange(AstRange range) {
-               if(range.sheetName != null) return null;
-               return getRangeCache().get(range.first + ":" + range.second); 
-       }
-       
-       public void cacheRange(AstRange range, Object value) {
-               if(range.sheetName != null) return;
-               getRangeCache().put(range.first + ":" + range.second, value);
-       }
-
-       public SpreadsheetEngine(SpreadsheetBook book, String name) {
-               this.book = book;
-               this.name = name;
-               this.id = book.getNewId(this);
-               this.lines = new SpreadsheetLines(this, LINES);
-       }
-       
-       public SpreadsheetBook getBook() {
-               return book;
-       }
-       
-       public int getId() {
-               return id;
-       }
-       
-       Object resolve(String[] parts, int index) {
-               
-               String part = parts[index];
-               if(!part.equals(LINES)) return null;
-               
-               if(index == parts.length-1) return lines;
-               
-               return lines.resolve(parts, index+1);
-
-       }
-       
-       @Override
-       public String getName() {
-               return name;
-       }
-       
-       @Override
-       public Map<String, SheetNode> getChildren() {
-               return Collections.singletonMap(LINES, lines);
-       }
-       
-       @Override
-       public Map<String, SheetNode> getProperties() {
-               return Collections.emptyMap();
-       } 
-       
-       public Object ensureSubprocess(String[] path, int index) {
-               
-               String name = path[index];
-               if(!LINES.equals(name)) throw new IllegalStateException();
-               if(index == path.length - 1) return lines;
-               return lines.ensureSubprocess(path, index+1);
-               
-       }
-       
-       public SpreadsheetLine getLine(int row) {
-               assert(lines.nodes.size() == 1);
-               SpreadsheetLines root = lines.nodes.values().iterator().next();
-               return root.getLine(row);
-       }
-
-       @Override
-       public void accept(SpreadsheetVisitor v) {
-               v.visit(this);
-       }
-       
-       public Range actualRange(Range r) {
-               if(r.isFullRows()) {
-                       SpreadsheetLines root = lines.nodes.values().iterator().next();
-                       Range result = new Range(r);
-                       result.startRow = 0;
-                       result.endRow = root.getMaxRow(); 
-                       return result;
-               } else {
-                       return r;
-               }
-       }
-
-    @Override
-    public Optional<SpreadsheetElement> getParent() {
-        return Optional.of(book);
-    }
-
-    @Override
-    public List<SpreadsheetElement> getSpreadsheetChildren() {
-        return Collections.singletonList(lines);
-    }
-
-    @Override
-    public void remove(SpreadsheetElement child) {
-        
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((book == null) ? 0 : book.hashCode());
-        result = prime * result + ((name == null) ? 0 : name.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        SpreadsheetEngine other = (SpreadsheetEngine) obj;
-        if (book == null) {
-            if (other.book != null)
-                return false;
-        } else if (!book.equals(other.book))
-            return false;
-        if (name == null) {
-            if (other.name != null)
-                return false;
-        } else if (!name.equals(other.name))
-            return false;
-        return true;
-    }
-       
-       
-}
\ No newline at end of file