X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.objmap2%2Fsrc%2Forg%2Fsimantics%2Fobjmap%2Fgraph%2Frules%2FMappedElementRule.java;h=251895ad72a1aedc7aac9966b5f51b5bc83aa08b;hp=5e4eec39feb51cc768c15d31de1bc8633ba706b2;hb=0cb9829cf7fbee31bbc952c6313b01e195e8d010;hpb=aefd2e1032b23c86b153be48bcdfee9f8b4dd126 diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java index 5e4eec39f..251895ad7 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/MappedElementRule.java @@ -11,6 +11,8 @@ *******************************************************************************/ package org.simantics.objmap.graph.rules; +import java.util.Objects; + import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.objmap.backward.IBackwardMapping; @@ -45,7 +47,7 @@ public class MappedElementRule implements IBidirectionalMappingRu public boolean updateDomain(WriteGraph g, IBackwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { - LOGGER.info(" MappedElementRule.updateDomain"); + LOGGER.trace(" MappedElementRule.updateDomain"); Range value = rangeAccessor.get(rangeElement); Domain mappedValue = value == null ? null : map.inverseMap(g, value);//map.inverseGet(value); return domainAccessor.set(g, domainElement, mappedValue); @@ -55,16 +57,25 @@ public class MappedElementRule implements IBidirectionalMappingRu public boolean updateRange(ReadGraph g, IForwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { - LOGGER.info(" MappedElementRule.updateRange"); + LOGGER.trace(" MappedElementRule.updateRange"); Domain value = domainAccessor.get(g, domainElement); Range mappedValue = value == null ? null : map.map(g, value);////map.get(value); return rangeAccessor.set(rangeElement, mappedValue); } + @Override + public boolean checkChanges(ReadGraph g, IForwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { + Domain value = domainAccessor.get(g, domainElement); + Range mappedValue = value == null ? null : map.map(g, value); + return mappedValue != rangeAccessor.get(rangeElement); + } + + @Override public void createDomain(WriteGraph g, IBackwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { updateDomain(g, map, domainElement, rangeElement); }; + @Override public void createRange(ReadGraph g, IForwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { updateRange(g, map, domainElement, rangeElement); };