import org.simantics.db.ReadGraph;\r
import org.simantics.db.Resource;\r
import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener;\r
+import org.simantics.db.exception.CancelTransactionException;\r
import org.simantics.db.exception.DatabaseException;\r
import org.simantics.db.layer0.exception.MissingVariableValueException;\r
import org.simantics.db.layer0.request.ResourceToPossibleVariable;\r
}\r
\r
if(changeFlags == null) {\r
- // Full synchronization, synchronize all childre\r
+ // Full synchronization, synchronize all children\r
if(children.size() > 0) {\r
double proportionOfWorkForChildren = proportionOfWork / children.size();\r
for(Variable child : children)\r
}\r
else {\r
didWork(proportionOfWork);\r
+ // Full synchronization is cancelable\r
+ if(monitor != null && monitor.isCanceled())\r
+ throw new CancelTransactionException();\r
}\r
}\r
else {\r