package org.simantics.objmap.graph.impl;
-import gnu.trove.map.hash.THashMap;
-
import java.util.AbstractSet;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.simantics.db.ReadGraph;
import org.simantics.db.WriteGraph;
import org.simantics.db.exception.DatabaseException;
-
import org.simantics.objmap.backward.IBackwardMapping;
import org.simantics.objmap.exceptions.MappingException;
import org.simantics.objmap.forward.IForwardMapping;
import org.simantics.objmap.graph.IMappingListener;
import org.simantics.objmap.graph.schema.ILinkType;
import org.simantics.objmap.graph.schema.IMappingSchema;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import gnu.trove.map.hash.THashMap;
/**
* An implementation of IMapping. The class should not be created
if(listensDomain) {
RangeUpdateRequest<Domain,Range> request = new RangeUpdateRequest<Domain,Range>(link, map, this);
+ boolean changes;
try {
- g.syncRequest(request, request);
+ changes = g.syncRequest(request, request) > 0;
} catch (DatabaseException e) {
throw new MappingException(e);
}
- // TODO check if really modified
- updated.add(link.rangeElement);
+
+ if (changes)
+ updated.add(link.rangeElement);
}
else
if(link.type.updateRange(g, map, link.domainElement, link.rangeElement))