]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardVariableModifier.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / variable / StandardVariableModifier.java
index 0b827700d02601bc8d695bc06d6da6fc539af5b4..a864e7e8e729fe9ccd507c3610c71997d1673668 100644 (file)
-package org.simantics.db.layer0.variable;\r
-\r
-import java.util.Map;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.Statement;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.EnumerationMap;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.layer0.Layer0;\r
-\r
-public class StandardVariableModifier implements VariableModifier {\r
-\r
-       final private static Binding datatype_binging = Bindings.getBindingUnchecked(Datatype.class);\r
-       final public static StandardVariableModifier INSTANCE = new StandardVariableModifier();\r
-\r
-       @Override\r
-       public String isValid(Object newValue) {\r
-               return null;\r
-       }\r
-\r
-       @Override\r
-       public String isValid(Object newValue, Binding binding) {\r
-               return null;\r
-       }\r
-\r
-       @Override\r
-       public void modify(WriteGraph graph, Variable variable, Object value) throws DatabaseException {\r
-               modify(graph, variable, value, null);\r
-       }\r
-\r
-       boolean isEnumeration(ReadGraph graph, Resource literal) throws DatabaseException {\r
-               \r
-               Layer0 L0 = Layer0.getInstance(graph);\r
-               Resource parent = graph.getPossibleObject(literal, L0.PartOf);\r
-               if(parent == null) return false;\r
-               return graph.hasStatement(parent, L0.Enumeration);\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void modify(WriteGraph graph, Variable variable, Object value, Binding binding) throws DatabaseException {\r
-\r
-               Variable parent = variable.getParent(graph);\r
-               Resource container = parent.getPossibleRepresents(graph);\r
-               if(container == null) return;\r
-               \r
-               Resource property = variable.getPossiblePredicateResource(graph);\r
-               if(property == null) return;\r
-               \r
-//             Variable parent = variable.getPossiblePropertyValue(graph, Variables.PARENT);\r
-//             Variable predicate = variable.getPossiblePropertyValue(graph, Variables.PREDICATE);\r
-               \r
-//             Resource container = parent.getPossiblePropertyValue(graph, Variables.REPRESENTS);\r
-//             if(container == null) return;\r
-//             Resource property = predicate.getPossiblePropertyValue(graph, Variables.REPRESENTS);\r
-//             if(property == null) return;\r
-       \r
-               Statement object = graph.getPossibleStatement(container, property);\r
-               if(object == null) return;\r
-               \r
-               Resource objectResource = object.getObject();\r
-               if(isEnumeration(graph, objectResource)) {\r
-\r
-                       Layer0 L0 = Layer0.getInstance(graph);\r
-                       Resource type = graph.getSingleObject(objectResource, L0.PartOf);\r
-                       \r
-                       Map<String, Resource> enumMap = graph.syncRequest(new EnumerationMap(type));\r
-                       Resource newLiteral = enumMap.get(value);\r
-                       graph.deny(container, property, objectResource);\r
-                       graph.claim(container, property, newLiteral);\r
-                       \r
-                       return;\r
-               }\r
-               \r
-               if(object.isAsserted(container)) {\r
-\r
-                       Layer0 L0 = Layer0.getInstance(graph);\r
-                       Resource type = graph.getPossibleType(objectResource, L0.Literal);\r
-\r
-                       Statement dt = graph.getPossibleStatement(objectResource, L0.HasDataType);\r
-                       Datatype custom = dt.isAsserted(objectResource) ? null : (Datatype)graph.getValue(dt.getObject(), datatype_binging);\r
-\r
-                       objectResource = graph.newResource();\r
-                       graph.claim(objectResource, L0.InstanceOf, null, type);\r
-                       graph.claim(container, property, objectResource);\r
-                       if(custom != null) {\r
-                               graph.addLiteral(objectResource, L0.HasDataType, L0.HasDataType_Inverse, L0.DataType, custom, datatype_binging);\r
-                       }\r
-                       \r
-                       \r
-//                     Resource usesUnit = graph.getPossibleResource("http://flowbat.fi/Flowbat-0.1/UsesDatatype");\r
-//                     if(usesUnit != null) {\r
-//                             String unit = graph.getPossibleRelatedValue(oldObject, usesUnit, Bindings.STRING);\r
-//                             if(unit != null) {\r
-//                                     graph.claimLiteral(objectResource, usesUnit, unit, Bindings.STRING);\r
-//                             }\r
-//                             Resource isDefault = graph.getResource("http://flowbat.fi/Flowbat-0.1/IsDefault");\r
-//                             Resource isUndefined = graph.getResource("http://flowbat.fi/Flowbat-0.1/IsUndefined");\r
-//                             graph.claimLiteral(objectResource, isDefault, false, Bindings.BOOLEAN);\r
-//                             graph.claimLiteral(objectResource, isUndefined, false, Bindings.BOOLEAN);\r
-//                     }\r
-                       \r
-               }\r
-               graph.claimValue(objectResource, value, binding);\r
-               \r
-       }\r
-       \r
-\r
-}\r
+package org.simantics.db.layer0.variable;
+
+import java.util.Map;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.Statement;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.EnumerationMap;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.layer0.Layer0;
+
+public class StandardVariableModifier implements VariableModifier {
+
+       final private static Binding datatype_binging = Bindings.getBindingUnchecked(Datatype.class);
+       final public static StandardVariableModifier INSTANCE = new StandardVariableModifier();
+
+       @Override
+       public String isValid(Object newValue) {
+               return null;
+       }
+
+       @Override
+       public String isValid(Object newValue, Binding binding) {
+               return null;
+       }
+
+       @Override
+       public void modify(WriteGraph graph, Variable variable, Object value) throws DatabaseException {
+               modify(graph, variable, value, null);
+       }
+
+       boolean isEnumeration(ReadGraph graph, Resource literal) throws DatabaseException {
+               
+               Layer0 L0 = Layer0.getInstance(graph);
+               Resource parent = graph.getPossibleObject(literal, L0.PartOf);
+               if(parent == null) return false;
+               return graph.hasStatement(parent, L0.Enumeration);
+               
+       }
+       
+       @Override
+       public void modify(WriteGraph graph, Variable variable, Object value, Binding binding) throws DatabaseException {
+
+               Variable parent = variable.getParent(graph);
+               Resource container = parent.getPossibleRepresents(graph);
+               if(container == null) return;
+               
+               Resource property = variable.getPossiblePredicateResource(graph);
+               if(property == null) return;
+               
+//             Variable parent = variable.getPossiblePropertyValue(graph, Variables.PARENT);
+//             Variable predicate = variable.getPossiblePropertyValue(graph, Variables.PREDICATE);
+               
+//             Resource container = parent.getPossiblePropertyValue(graph, Variables.REPRESENTS);
+//             if(container == null) return;
+//             Resource property = predicate.getPossiblePropertyValue(graph, Variables.REPRESENTS);
+//             if(property == null) return;
+       
+               Statement object = graph.getPossibleStatement(container, property);
+               if(object == null) return;
+               
+               Resource objectResource = object.getObject();
+               if(isEnumeration(graph, objectResource)) {
+
+                       Layer0 L0 = Layer0.getInstance(graph);
+                       Resource type = graph.getSingleObject(objectResource, L0.PartOf);
+                       
+                       Map<String, Resource> enumMap = graph.syncRequest(new EnumerationMap(type));
+                       Resource newLiteral = enumMap.get(value);
+                       graph.deny(container, property, objectResource);
+                       graph.claim(container, property, newLiteral);
+                       
+                       return;
+               }
+               
+               if(object.isAsserted(container)) {
+
+                       Layer0 L0 = Layer0.getInstance(graph);
+                       Resource type = graph.getPossibleType(objectResource, L0.Literal);
+
+                       Statement dt = graph.getPossibleStatement(objectResource, L0.HasDataType);
+                       Datatype custom = dt.isAsserted(objectResource) ? null : (Datatype)graph.getValue(dt.getObject(), datatype_binging);
+
+                       objectResource = graph.newResource();
+                       graph.claim(objectResource, L0.InstanceOf, null, type);
+                       graph.claim(container, property, objectResource);
+                       if(custom != null) {
+                               graph.addLiteral(objectResource, L0.HasDataType, L0.HasDataType_Inverse, L0.DataType, custom, datatype_binging);
+                       }
+                       
+                       
+//                     Resource usesUnit = graph.getPossibleResource("http://flowbat.fi/Flowbat-0.1/UsesDatatype");
+//                     if(usesUnit != null) {
+//                             String unit = graph.getPossibleRelatedValue(oldObject, usesUnit, Bindings.STRING);
+//                             if(unit != null) {
+//                                     graph.claimLiteral(objectResource, usesUnit, unit, Bindings.STRING);
+//                             }
+//                             Resource isDefault = graph.getResource("http://flowbat.fi/Flowbat-0.1/IsDefault");
+//                             Resource isUndefined = graph.getResource("http://flowbat.fi/Flowbat-0.1/IsUndefined");
+//                             graph.claimLiteral(objectResource, isDefault, false, Bindings.BOOLEAN);
+//                             graph.claimLiteral(objectResource, isUndefined, false, Bindings.BOOLEAN);
+//                     }
+                       
+               }
+               graph.claimValue(objectResource, value, binding);
+               
+       }
+       
+
+}