*******************************************************************************/
package org.simantics.modeling.mapping;
-import gnu.trove.map.hash.THashMap;
-
import java.util.Map;
+import java.util.function.BiFunction;
import org.simantics.db.ReadGraph;
import org.simantics.db.Resource;
import org.simantics.db.exception.CancelTransactionException;
import org.simantics.db.exception.DatabaseException;
import org.simantics.db.layer0.request.PossibleModel;
+import org.simantics.db.layer0.util.Layer0Utils;
import org.simantics.diagram.stubs.DiagramResource;
import org.simantics.diagram.stubs.G2DResource;
import org.simantics.diagram.synchronization.ISynchronizationContext;
import org.simantics.diagram.synchronization.graph.GraphCopyAdvisor;
import org.simantics.diagram.synchronization.graph.GraphSynchronizationHints;
import org.simantics.layer0.Layer0;
-import org.simantics.utils.datastructures.BinaryFunction;
+
+import gnu.trove.map.hash.THashMap;
/**
* @author Tuukka Lehtonen
* Diagram mapping will have problems and potentially break the
* configuration if the type is not the same as in the source.
*/
- BinaryFunction<StatementEvaluation, ReadGraph, Statement> statementAdvisor =
- new BinaryFunction<StatementEvaluation, ReadGraph, Statement>() {
+ BiFunction<ReadGraph, Statement, StatementEvaluation> statementAdvisor =
+ new BiFunction<ReadGraph, Statement, StatementEvaluation>() {
@Override
- public StatementEvaluation call(ReadGraph graph, Statement stm) {
+ public StatementEvaluation apply(ReadGraph graph, Statement stm) {
if (DIA.HasFlagType.equals(stm.getPredicate()))
return StatementEvaluation.INCLUDE;
if (G2D.HasFontStyle.equals(stm.getPredicate()))
if (graph.hasStatement(sourceContainer, L0.ConsistsOf, source))
graph.claim(targetContainer, L0.ConsistsOf, copy);
+ Layer0Utils.claimNewIdentifier(graph, copy, false);
+
return copy;
}