From: Tuukka Lehtonen Date: Mon, 13 Jan 2020 20:09:19 +0000 (+0000) Subject: Merge "Implement equals/hashCode for PropertyInfo" X-Git-Tag: v1.43.0~136^2~3 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=de52ee5ec5e30f87eb2953490b54b7afa84259c9;hp=4b6820a8ec78410eb22f90e87e3e36572b9ba1f5 Merge "Implement equals/hashCode for PropertyInfo" --- diff --git a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphImportProcess.java b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphImportProcess.java index 6d3f7e48e..e61937fc9 100644 --- a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphImportProcess.java +++ b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphImportProcess.java @@ -188,6 +188,21 @@ public class StreamingTransferableGraphImportProcess implements TransferableGrap this.handles = new int[resourceCount]; TIntObjectMap identityMap = TransferableGraphUtils.mapIdentities(identities); + // We must process roots first, because internal identifiers depend on them. + for(Identity identity : identities) { + IdentityDefinition definition = identity.definition; + if (definition instanceof Root) { + Root root = (Root) definition; + if (root.name.equals("")) + handles[identity.resource] = builder.handle(RootLibrary); + else { + Resource existing = advisor.analyzeRoot(graph, root); + if (existing != null) + handles[identity.resource] = builder.handle(existing); + } + } + } + for(Identity identity : identities) { IdentityDefinition definition = identity.definition; if(definition instanceof External) { @@ -227,16 +242,6 @@ public class StreamingTransferableGraphImportProcess implements TransferableGrap existingInternalMap.put(identity.resource, existing); } } - else if(definition instanceof Root) { - Root root = (Root)definition; - if(root.name.equals("")) - handles[identity.resource] = builder.handle(RootLibrary); - else { - Resource existing = advisor.analyzeRoot(graph, root); - if(existing != null) - handles[identity.resource] = builder.handle(existing); - } - } else if(definition instanceof Optional) { External def = (External)definition; Resource parent = builder.resource(handles[def.parent]); @@ -269,6 +274,8 @@ public class StreamingTransferableGraphImportProcess implements TransferableGrap } int[] getClustering() { + if (vg != null) + return null; Variant v = extensions.get(Extensions.CLUSTERING); if(v == null) return null; try { @@ -280,6 +287,8 @@ public class StreamingTransferableGraphImportProcess implements TransferableGrap } int[] getClusterSets() { + if (vg != null) + return null; Variant v = extensions.get(Extensions.CLUSTER_SETS); if(v == null) return null; try { @@ -605,7 +614,11 @@ public class StreamingTransferableGraphImportProcess implements TransferableGrap tg.forValues2(null, new ValueProcedure()); for(Resource r : existingInternalMap.valueCollection()) { - graph.deny(r, InstanceOf, null, ExternalEntity, null); + try { + graph.deny(r, InstanceOf, null, ExternalEntity, null); + } catch (DatabaseException e) { + graph.deny(r, InstanceOf, null, ExternalEntity, vg); + } } } diff --git a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/TransferableGraphImportProcess.java b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/TransferableGraphImportProcess.java index 4ec713866..6a699d81b 100644 --- a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/TransferableGraphImportProcess.java +++ b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/TransferableGraphImportProcess.java @@ -174,7 +174,11 @@ public class TransferableGraphImportProcess implements TransferableGraphImporter missingExternals.add(external); } - void prepare(ReadGraph graph) throws DatabaseException { + public Resource[] getResources() { + return resources; + } + + public void prepare(ReadGraph graph) throws DatabaseException { findBuiltins(graph); Resource[] resources = new Resource[tg.resourceCount]; @@ -338,7 +342,7 @@ public class TransferableGraphImportProcess implements TransferableGraphImporter } - void write(WriteOnlyGraph graph) throws DatabaseException { + public void write(WriteOnlyGraph graph) throws DatabaseException { Resource[] resources = this.resources; diff --git a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.target b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.target index c21ef491a..bbb4defd9 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.target +++ b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.target @@ -1,7 +1,7 @@ - + @@ -148,20 +148,20 @@ - - - - - - - - - - - + + + + + + + + + + + - + diff --git a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.tpd b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.tpd index e386cca5f..7b1ce22c0 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.tpd +++ b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition-4.13.tpd @@ -146,7 +146,7 @@ location "http://www.simantics.org/update/nebula/releases/2.2.0/release/" { org.eclipse.nebula.widgets.xviewer.feature.feature.group } -location "http://www.simantics.org/update/nebula/nattable/releases/1.5.0/repository/" { +location "http://www.simantics.org/update/nebula/nattable/releases/1.6.0/repository/" { org.eclipse.nebula.widgets.nattable.core.feature.feature.group org.eclipse.nebula.widgets.nattable.core.source.feature.feature.group org.eclipse.nebula.widgets.nattable.extension.e4.feature.feature.group diff --git a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.target b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.target index 51d63fb3b..529902e27 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.target +++ b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.target @@ -1,7 +1,7 @@ - - + + @@ -146,17 +146,17 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.tpd b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.tpd index db5848b49..2dd168a4a 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.tpd +++ b/releng/org.simantics.sdk.build.targetdefinition/org.simantics.sdk.build.targetdefinition.tpd @@ -144,7 +144,7 @@ location "http://www.simantics.org/update/nebula/releases/2.2.0/release/" { org.eclipse.nebula.widgets.xviewer.feature.feature.group } -location "http://www.simantics.org/update/nebula/nattable/releases/1.5.0/repository/" { +location "http://www.simantics.org/update/nebula/nattable/releases/1.6.0/repository/" { org.eclipse.nebula.widgets.nattable.core.feature.feature.group org.eclipse.nebula.widgets.nattable.core.source.feature.feature.group org.eclipse.nebula.widgets.nattable.extension.e4.feature.feature.group diff --git a/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.target b/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.target index e70429269..2a2f99575 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.target +++ b/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.target @@ -1,9 +1,9 @@ - + - + @@ -20,7 +20,7 @@ - + @@ -57,7 +57,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -160,16 +160,16 @@ - + - + - + @@ -395,16 +395,16 @@ - + - + - + \ No newline at end of file diff --git a/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.tpd b/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.tpd index dda61631a..6228efd13 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.tpd +++ b/releng/org.simantics.sdk.build.targetdefinition/simantics-4.13.tpd @@ -1,4 +1,4 @@ -target "Simantics 1.41.0" +target "Simantics 1.42.0" with source allEnvironments diff --git a/releng/org.simantics.sdk.build.targetdefinition/simantics.target b/releng/org.simantics.sdk.build.targetdefinition/simantics.target index 4f55a9595..974ebb718 100644 --- a/releng/org.simantics.sdk.build.targetdefinition/simantics.target +++ b/releng/org.simantics.sdk.build.targetdefinition/simantics.target @@ -1,7 +1,7 @@ - - + + @@ -146,17 +146,17 @@ - - - - - - - - - - - + + + + + + + + + + +