X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fmapping%2FComponentCopyAdvisor.java;h=3e6e9c1b9527096cfa1835a50e43f6b2dfb97c7f;hb=4e402f51b0e34d40c3f9d33a4bec7feffeb8d339;hp=b58aef5ff395a13522e5ac3172079f11622cad9e;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/mapping/ComponentCopyAdvisor.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/mapping/ComponentCopyAdvisor.java index b58aef5ff..3e6e9c1b9 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/mapping/ComponentCopyAdvisor.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/mapping/ComponentCopyAdvisor.java @@ -11,16 +11,14 @@ *******************************************************************************/ package org.simantics.modeling.mapping; -import gnu.trove.map.hash.THashMap; - import java.util.Map; import org.simantics.Simantics; import org.simantics.databoard.Bindings; -import org.simantics.datatypes.literal.GUID; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.util.Layer0Utils; import org.simantics.diagram.synchronization.ISynchronizationContext; import org.simantics.diagram.synchronization.SynchronizationException; import org.simantics.diagram.synchronization.SynchronizationHints; @@ -30,11 +28,14 @@ import org.simantics.diagram.synchronization.graph.GraphCopyAdvisor; 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; import org.simantics.structural.stubs.StructuralResource2; +import gnu.trove.map.hash.THashMap; + /** * @author Tuukka Lehtonen */ @@ -58,22 +59,14 @@ public class ComponentCopyAdvisor extends GraphCopyAdvisor { public Object copy(ISynchronizationContext context, WriteGraph graph, Resource source, Resource sourceContainer, Resource targetContainer, Map map) throws DatabaseException { StructuralResource2 STR = StructuralResource2.getInstance(graph); - Resource copy = null; - if (graph.isInstanceOf(source, 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); - graph.claimLiteral(copy, L0.identifier, L0.identifier_Inverse, L0.GUID, GUID.random(), GUID.BINDING); + if (ModelingUtils.needsIdentifier(graph, source)) + Layer0Utils.claimNewIdentifier(graph, copy, false); if (context.get(SynchronizationHints.NO_RENAME) == null) renameComponent(context, graph, source, copy, sourceContainer, targetContainer); return copy;