]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.server/src/org/simantics/document/server/request/ServerSCLValueRequest.java
Simantics Console
[simantics/platform.git] / bundles / org.simantics.document.server / src / org / simantics / document / server / request / ServerSCLValueRequest.java
index dce4b34ab44e46c7d28ef70b3902b0663ea4fbe6..adff8dab5b9ec87d1271e1ca02d1d3bea58e49a3 100644 (file)
@@ -6,10 +6,12 @@ import java.util.Map;
 import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
+import org.simantics.db.Statement;
 import org.simantics.db.common.procedure.adapter.TransientCacheListener;
 import org.simantics.db.common.request.IndexRoot;
 import org.simantics.db.common.request.PossibleTypedParent;
 import org.simantics.db.common.request.UnaryRead;
+import org.simantics.db.common.utils.NameUtils;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.scl.AbstractExpressionCompilationContext;
 import org.simantics.db.layer0.scl.AbstractExpressionCompilationRequest;
@@ -274,6 +276,20 @@ public class ServerSCLValueRequest extends AbstractExpressionCompilationRequest<
     public static Function1<Object, Object> validate(ReadGraph graph, Variable context) throws DatabaseException {
         return graph.syncRequest(new ServerSCLValueValidationRequest(graph, context), TransientCacheListener.instance());
     }
+
+    @Override
+    protected String getContextDescription(ReadGraph graph) throws DatabaseException {
+        Layer0 L0 = Layer0.getInstance(graph);
+        Statement possibleOwner = graph.getPossibleStatement(literal, L0.IsOwnedBy);
+        if(possibleOwner != null) {
+            String uri = graph.getPossibleURI(possibleOwner.getObject());
+            if(uri != null) {
+                String propertyName = NameUtils.getSafeName(graph, graph.getInverse(possibleOwner.getPredicate()));
+                return uri + "#" + propertyName;
+            }
+        }
+        return super.getContextDescription(graph);
+    }
     
     public static class ServerSCLValueValidationRequest extends ServerSCLValueRequest {