]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop.update/src/org/simantics/interop/update/model/PropertyChange.java
Support for enumerated properties.
[simantics/interop.git] / org.simantics.interop.update / src / org / simantics / interop / update / model / PropertyChange.java
index b9555484e51481a5d733b41b742cee68a541a562..be6e5e0bbda38498fd22388d6dc6e2ed31dd4b45 100644 (file)
@@ -118,6 +118,7 @@ public class PropertyChange {
                        } else {
                                graph.deny(s,pred);
                        }
+                       applied = true;
                } else if (graph.isInstanceOf(pair.second.getObject(), L0.SCLValue)) {
                        Resource pred = pair.second.getPredicate();
                        graph.deny(s, pred);
@@ -125,8 +126,18 @@ public class PropertyChange {
                        graph.claim(valueResource, L0.InstanceOf, graph.getSingleObject(pair.second.getObject(), L0.InstanceOf));
                        AddDeleteUpdateOp.copyProperties(graph, pair.second.getObject(), valueResource);
                        graph.claim(s, pred, valueResource);
+                       applied = true;
+               } else {
+                       Resource type = graph.getPossibleType(pair.second.getObject(), L0.Value);
+                       if (type != null && graph.hasStatement(type, L0.Enumeration, type)) {
+                               Resource pred = pair.second.getPredicate();
+                               graph.deny(s, pred);
+                               graph.claim(s, pred, pair.second.getObject());
+                               applied = true;
+                       }
+                       
                }
-               applied = true;
+               
        }
        
        /**