package org.simantics.modeling.mapping;
import java.util.Map;
-import java.util.Set;
import org.simantics.Simantics;
import org.simantics.databoard.Bindings;
import org.simantics.diagram.synchronization.graph.GraphSynchronizationHints;
import org.simantics.layer0.Layer0;
import org.simantics.modeling.ComponentUtils;
+import org.simantics.modeling.ModelingUtils;
import org.simantics.modeling.services.ComponentNamingUtil;
import org.simantics.modeling.services.NamingException;
import org.simantics.project.IProject;
public Object copy(ISynchronizationContext context, WriteGraph graph, Resource source, Resource sourceContainer,
Resource targetContainer, Map<Object, Object> map) throws DatabaseException {
StructuralResource2 STR = StructuralResource2.getInstance(graph);
- Resource copy = null;
- Set<Resource> types = graph.getTypes(source);
- if (types.contains(STR.Connection)) {
- // Configuration connections are not named, can't use TG copy for
- // them at the moment.
- copy = CopyAdvisorUtil.copy2(graph, source, null, map);
- } else {
-// Resource model = graph.syncRequest(new PossibleModel(targetContainer));
-// copy = CopyAdvisorUtil.copy4(graph, source, model);
- copy = CopyAdvisorUtil.copy2(graph, source, null, map);
- }
+ Resource copy = CopyAdvisorUtil.copy2(graph, source, null, map);
Layer0 L0 = Layer0.getInstance(graph);
if (graph.hasStatement(sourceContainer, L0.ConsistsOf, source))
graph.claim(targetContainer, L0.ConsistsOf, copy);
- if (types.contains(L0.TypeWithIdentifier))
+ if (ModelingUtils.needsIdentifier(graph, source))
Layer0Utils.claimNewIdentifier(graph, copy, false);
if (context.get(SynchronizationHints.NO_RENAME) == null)
renameComponent(context, graph, source, copy, sourceContainer, targetContainer);