X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fgraph%2FReadGraphImpl.java;h=61a312e9e185f6c3429d13cc5c65f0e7dca9b667;hb=3d1f8e3dbccff974e2f4e0ea5f8bc61ad136e194;hp=3feb22e00ebda688379b6ed7c8785b09fb8035ca;hpb=81520c987689b19949edce7fea0ea76e367f4e95;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java index 3feb22e00..61a312e9e 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java @@ -45,6 +45,7 @@ import org.simantics.databoard.type.Datatype; import org.simantics.databoard.util.binary.BinaryFile; import org.simantics.databoard.util.binary.RandomAccessBinary; import org.simantics.db.AsyncReadGraph; +import org.simantics.db.ComputationalValue; import org.simantics.db.DevelopmentKeys; import org.simantics.db.ExternalValueSupport; import org.simantics.db.ReadGraph; @@ -181,7 +182,6 @@ import org.simantics.layer0.Layer0; import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.exceptions.SCLTypeParseException; import org.simantics.scl.reflection.ReflectionUtils; -import org.simantics.scl.reflection.ValueNotFoundException; import org.simantics.scl.runtime.function.Function3; import org.simantics.utils.DataContainer; import org.simantics.utils.Development; @@ -6102,13 +6102,22 @@ public class ReadGraphImpl implements AsyncReadGraph { return getValue(r, binding); } } else if(types.contains(L0.ExternalValue)) { - try { - return (T)ReflectionUtils.getValue(getURI(r)).getValue(); - } catch(ValueNotFoundException e) { - throw new DatabaseException(e); - } catch(ClassCastException e) { - throw new DatabaseException(e); - } + try { + ComputationalValue cv = adapt(r, ComputationalValue.class); + return cv.getValue(this, r); + //return (T)ReflectionUtils.getValue(getURI(r)).getValue(); +// } catch(ValueNotFoundException e) { +// throw new DatabaseException(e); + } catch(ClassCastException e) { + throw new DatabaseException(e); + } +// try { +// return (T)ReflectionUtils.getValue(getURI(r)).getValue(); +// } catch(ValueNotFoundException e) { +// throw new DatabaseException(e); +// } catch(ClassCastException e) { +// throw new DatabaseException(e); +// } } else { Function3 function = requestValueFunction(r);