SpreadsheetCells show "External data access error" in strange situations
Sometimes when using spreadsheets an "External data access error" String is shown on a cell. Changing the content of the cell doesn't remove the text, but changing a value that the cell's expression points at updated the cell value back to normal. (note: it must be changed to a constant, an expression is not good enough). The same issue appears when deleting the cell's content with the "delete" keyboard press. The issue looks like this:
ERROR [2018-07-26 13:04:29,785] org.simantics.spreadsheet.graph.GraphUI$PropertyListener: PropertyListener.exception java.lang.IllegalArgumentException: 100.0 is not of expected class at org.simantics.databoard.binding.Binding.compare(Binding.java:431) at org.simantics.databoard.util.DataValueUtil.compare(DataValueUtil.java:93) at org.simantics.databoard.binding.VariantBinding.deepCompare(VariantBinding.java:199) at org.simantics.databoard.binding.Binding.compare(Binding.java:435) at org.simantics.databoard.binding.Binding.equals(Binding.java:452) at org.simantics.databoard.util.DataValueUtil.equals(DataValueUtil.java:113) at org.simantics.databoard.Bindings.equals(Bindings.java:815) at org.simantics.databoard.binding.mutable.Variant.equals(Variant.java:126) at org.simantics.databoard.util.ObjectUtils.objectEquals(ObjectUtils.java:44) at org.simantics.db.layer0.variable.NodeValueRequest.run(NodeValueRequest.java:203) ... 14 common frames omitted Wrapped by: org.simantics.db.exception.DatabaseException: External data access error at org.simantics.db.layer0.variable.NodeValueRequest.run(NodeValueRequest.java:215) at org.simantics.simulator.toolkit.StandardNodeManager$2.lambda$0(StandardNodeManager.java:127) at gnu.trove.impl.hash.TObjectHash.forEach(TObjectHash.java:135) at org.simantics.simulator.toolkit.StandardNodeManager$2.lambda$1(StandardNodeManager.java:132) at gnu.trove.map.hash.THashMap.forEachValue(THashMap.java:296) at org.simantics.simulator.toolkit.StandardNodeManager$2.run(StandardNodeManager.java:131) at org.simantics.simulator.toolkit.StandardRealm.syncExec(StandardRealm.java:105) at org.simantics.simulator.toolkit.StandardNodeManager.fireNodeListenersSync(StandardNodeManager.java:260) at org.simantics.simulator.toolkit.StandardNodeManager.setValueAndFireSelectedListeners(StandardNodeManager.java:337) at org.simantics.spreadsheet.graph.SpreadsheetNodeManager.setValue(SpreadsheetNodeManager.java:54) at org.simantics.spreadsheet.graph.SpreadsheetNodeManager.setValue(SpreadsheetNodeManager.java:1) at org.simantics.spreadsheet.graph.function.All$1$1.run(All.java:210) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)