1 package org.simantics.document.linking.ge;
3 import org.simantics.browsing.ui.content.Labeler.Modifier;
4 import org.simantics.browsing.ui.graph.impl.L0StringModifier;
5 import org.simantics.browsing.ui.model.modifiers.ModifierRule;
6 import org.simantics.db.ReadGraph;
7 import org.simantics.db.Resource;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.db.layer0.variable.Variable;
10 import org.simantics.document.linking.ontology.DocumentLink;
12 public class VariableModifierRule implements ModifierRule{
15 public boolean isCompatible(Class<?> contentType) {
20 public Modifier getModifier(ReadGraph graph, Object content,
21 String columnKey) throws DatabaseException {
23 if(!(content instanceof Variable)) {
27 Variable variable = (Variable)content;
28 Resource source = variable.getPossibleRepresents(graph);
32 DocumentLink sl = DocumentLink.getInstance(graph);
33 if (!graph.isInstanceOf(source, sl.Source))
35 if (columnKey.equals(Constants.COMMENT)) {
36 Resource commentRes = graph.getSingleObject(source, sl.hasSourceComment);
37 return new L0StringModifier(graph.getSession(),commentRes);