X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.objmap2%2Fsrc%2Forg%2Fsimantics%2Fobjmap%2Fgraph%2Frules%2FValueRule.java;h=2e2b81b191abe792826df445f55e548357df888c;hb=HEAD;hp=718bc7c2d780ec46ded879a5416cf37d6051a7a1;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java index 718bc7c2d..2e2b81b19 100644 --- a/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java +++ b/bundles/org.simantics.objmap2/src/org/simantics/objmap/graph/rules/ValueRule.java @@ -11,7 +11,11 @@ *******************************************************************************/ package org.simantics.objmap.graph.rules; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Objects; + import org.simantics.db.ReadGraph; import org.simantics.db.WriteGraph; import org.simantics.objmap.backward.IBackwardMapping; @@ -29,7 +33,7 @@ import org.simantics.objmap.graph.rules.range.IRangeAccessor; */ public class ValueRule implements IBidirectionalMappingRule { - static Logger LOGGER = Logger.getLogger("org.simantics.objmap"); + static Logger LOGGER = LoggerFactory.getLogger(ValueRule.class); IDomainAccessor domainAccessor; IRangeAccessor rangeAccessor; @@ -44,7 +48,7 @@ public class ValueRule implements IBidirectionalMappingRule map, Domain domainElement, Range rangeElement) throws MappingException { - LOGGER.info(" ValueRule.updateDomain"); + LOGGER.trace(" ValueRule.updateDomain"); Object value = rangeAccessor.get(rangeElement); return domainAccessor.set(g, domainElement, value); } @@ -53,10 +57,17 @@ public class ValueRule implements IBidirectionalMappingRule map, Domain domainElement, Range rangeElement) throws MappingException { - LOGGER.info(" ValueRule.updateRange"); + LOGGER.trace(" ValueRule.updateRange"); Object value = domainAccessor.get(g, domainElement); return rangeAccessor.set(rangeElement, value); - } + } + + @Override + public boolean checkChanges(ReadGraph g, IForwardMapping map, Domain domainElement, + Range rangeElement) throws MappingException { + Object value = rangeAccessor.get(rangeElement); + return !Objects.equals(value, domainAccessor.get(g, domainElement)); + } public void createDomain(WriteGraph g, IBackwardMapping map, Domain domainElement, Range rangeElement) throws MappingException { updateDomain(g, map, domainElement, rangeElement);