]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.browsing.ui.graph.impl/src/org/simantics/browsing/ui/graph/impl/EnumerationVariableModifier3.java
Merge changes I78c3a258,I7bf72f04
[simantics/platform.git] / bundles / org.simantics.browsing.ui.graph.impl / src / org / simantics / browsing / ui / graph / impl / EnumerationVariableModifier3.java
index 63e5a771f3e8bb96bf94aecae53323705a61b047..52b5012d72b504a3a1f64757dcc50fc66081a36b 100644 (file)
@@ -13,19 +13,19 @@ package org.simantics.browsing.ui.graph.impl;
 
 import java.util.List;
 
+import org.simantics.browsing.ui.common.modifiers.EnumerationValue;
 import org.simantics.browsing.ui.content.Labeler.EnumerationModifier;
 import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.RequestProcessor;
+import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.VirtualGraph;
 import org.simantics.db.WriteGraph;
 import org.simantics.db.common.request.WriteRequest;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.variable.Variable;
-import org.simantics.db.layer0.variable.Variables;
 import org.simantics.db.request.Read;
-import org.simantics.utils.datastructures.Callback;
 import org.simantics.utils.ui.ErrorLogger;
 
 /**
@@ -55,6 +55,10 @@ public class EnumerationVariableModifier3 implements EnumerationModifier {
            return processor.syncRequest(new Read<String>() {
                 @Override
                 public String perform(ReadGraph graph) throws DatabaseException {
+                    EnumerationValue<Resource> ev = graph.syncRequest(new GetEnumerationValue(variable.getParent(graph).getRepresents(graph)));
+                    if(ev != null) {
+                        return ev.getEnumeratedValue().getName();
+                    }
           //           System.err.println(variable.getURI(graph));
                        return variable.getValue(graph);//variable.getPossiblePropertyValue(graph, Variables.LABEL);
                 }
@@ -84,12 +88,9 @@ public class EnumerationVariableModifier3 implements EnumerationModifier {
     
     protected void doModify(final String label) {
         session.asyncRequest(new Write(variable, label),
-                new Callback<DatabaseException>() {
-            @Override
-            public void run(DatabaseException parameter) {
-                if (parameter != null)
-                    ErrorLogger.defaultLogError(parameter);
-            }
+                parameter -> {
+                    if (parameter != null)
+                        ErrorLogger.defaultLogError(parameter);
         });
     }