X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fscl%2FCompileResourceValueRequest.java;h=cdc787d2683a135985244b31414379a0ac45d791;hb=refs%2Fchanges%2F58%2F3758%2F1;hp=c8d168f50320b547966e8bccb95d5473bf071ac5;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/scl/CompileResourceValueRequest.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/scl/CompileResourceValueRequest.java index c8d168f50..cdc787d26 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/scl/CompileResourceValueRequest.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/scl/CompileResourceValueRequest.java @@ -24,7 +24,7 @@ import org.simantics.scl.runtime.function.Function1; * * @author Antti Villberg */ -public class CompileResourceValueRequest extends AbstractExpressionCompilationRequest { +public class CompileResourceValueRequest extends AbstractExpressionCompilationRequest { public static class CompilationContext extends AbstractExpressionCompilationContext { public CompilationContext(RuntimeEnvironment runtimeEnvironment) { @@ -42,8 +42,8 @@ public class CompileResourceValueRequest extends AbstractExpressionCompilationRe SCLContext sclContext = SCLContext.getCurrent(); Object oldGraph = sclContext.get("graph"); try { - Function1 exp = graph.syncRequest(new CompileResourceValueRequest(literal), - TransientCacheListener.>instance()); + Function1 exp = graph.syncRequest(new CompileResourceValueRequest(literal), + TransientCacheListener.instance()); sclContext.put("graph", graph); return exp.apply(literal); } catch (DatabaseException e) { @@ -55,6 +55,10 @@ public class CompileResourceValueRequest extends AbstractExpressionCompilationRe } } + public static Function1 compile(ReadGraph graph, Resource literal) throws DatabaseException { + return graph.syncRequest(new CompileResourceValueRequest(literal), TransientCacheListener.instance()); + } + @Override protected String getExpressionText(ReadGraph graph) throws DatabaseException { @@ -106,4 +110,30 @@ public class CompileResourceValueRequest extends AbstractExpressionCompilationRe return null; } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((literal == null) ? 0 : literal.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; + CompileResourceValueRequest other = (CompileResourceValueRequest) obj; + if (literal == null) { + if (other.literal != null) + return false; + } else if (!literal.equals(other.literal)) + return false; + return true; + } + + }