From eeee0f5dd6aed683ec915f46811c577e30593cfc Mon Sep 17 00:00:00 2001 From: Tuukka Lehtonen Date: Fri, 30 Aug 2019 10:21:40 +0300 Subject: [PATCH] Fixed typical synchronization to work without template diagram desc gitlab #370 Change-Id: I243d9baa3939234c9b31e1c8f34526b2c9fe641f --- .../modeling/typicals/rules/PageSettingsTypicalRule.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/typicals/rules/PageSettingsTypicalRule.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/typicals/rules/PageSettingsTypicalRule.java index 4ee96f75d..799579377 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/typicals/rules/PageSettingsTypicalRule.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/typicals/rules/PageSettingsTypicalRule.java @@ -23,7 +23,14 @@ public enum PageSettingsTypicalRule implements ITypicalSynchronizationRule { @Override public boolean synchronize(WriteGraph graph, Resource template, Resource instance, TypicalInfo info) throws DatabaseException { + // Diagrams should always have some sort of diagram description. + // If the template doesn't have one, the existing description + // from the instance shall not be removed. DiagramDesc mdesc = graph.syncRequest(DiagramRequests.getDiagramDesc(template)); + if (mdesc == null) { + info.messageLog.add("\t\ttemplate doesn't have any diagram page settings, doing nothing"); + return false; + } DiagramDesc idesc = graph.syncRequest(DiagramRequests.getDiagramDesc(instance)); if (mdesc.equals(idesc)) return false; -- 2.47.1