From: Tuukka Lehtonen Date: Mon, 7 Aug 2017 05:24:00 +0000 (+0300) Subject: Merge "Redirect document commandRelation and commandExecutorRelation terminals" X-Git-Tag: v1.31.0~264^2~3 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=f9e11892b65f0bcc1b9e5967101888568eb1f264;hp=f712cd66d4398ef4c6023f822dacbd571f9023de Merge "Redirect document commandRelation and commandExecutorRelation terminals" --- diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/RVI.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/RVI.java index daae9b9c3..a5f22c83c 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/RVI.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/RVI.java @@ -407,8 +407,8 @@ public class RVI extends Bean { } } } - if (str.indexOf(":", pos+1) > -1) { - String x = str.substring(pos+1, end); + if (str.indexOf(":", pos) > -1) { + String x = str.substring(pos, end); if (!x.isEmpty()) { String[] parts = x.split(":"); if (parts.length == 3) { diff --git a/bundles/org.simantics.document.server.io/src/org/simantics/document/server/io/CommandContextImpl.java b/bundles/org.simantics.document.server.io/src/org/simantics/document/server/io/CommandContextImpl.java index 5b49810fa..5fb3a283e 100644 --- a/bundles/org.simantics.document.server.io/src/org/simantics/document/server/io/CommandContextImpl.java +++ b/bundles/org.simantics.document.server.io/src/org/simantics/document/server/io/CommandContextImpl.java @@ -66,6 +66,12 @@ public class CommandContextImpl implements CommandContextMutable { if (context != null) { Map>> from = context.getData(); for (Map.Entry>> entry : from.entrySet()) { + String key = entry.getKey(); + Object existing = getValue(key); + Object newValue = context.getValue(key); + // Do not merge duplicates! + if (newValue != null && newValue.equals(existing)) + continue; List> rows = ensureRowsAvailable(entry.getKey()); rows.addAll(entry.getValue()); } diff --git a/bundles/org.simantics.modeling/scl/Simantics/Diagram.scl b/bundles/org.simantics.modeling/scl/Simantics/Diagram.scl index 554a25eda..0ee3e9d28 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/Diagram.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/Diagram.scl @@ -149,9 +149,15 @@ hasRandomIdentifier entity = runProc (claimRelatedValue_ entity L0.identifier GU """Returns all diagrams of the given model.""" diagramsOf :: Model -> [Diagram] -diagramsOf model = recurse - DIA.Diagram - (configurationOf model) +diagramsOf model = diagramsUnder $ configurationOf model + +""" +Returns all diagrams under the specified diagram folder. +The parameter can also be the configuration root `configurationOf` +in which case this function returns the same as `diagramsOf model`. +""" +diagramsUnder :: DiagramFolder -> [Resource] +diagramsUnder folder = recurse DIA.Diagram folder where recurse t r = do cs = children r