From f708d10ea54c417ca6861769ad16fc018750ab72 Mon Sep 17 00:00:00 2001 From: Maxime Porhel Date: Fri, 20 May 2016 15:12:22 +0200 Subject: [cleanup] Avoid potential IllegalArgumentException During diagram initialization and first vertical layout pass, regarding the VSM configuration, lifelines might not be correctly sized yet to respect the default minimum gaps, causing an invalid Range creation during layout preparation. Change-Id: Ic818e2ce2af56262e2bc9d065f53e757ea22a34e Signed-off-by: Maxime Porhel --- .../internal/layout/vertical/SequenceVerticalLayout.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/layout') diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/layout/vertical/SequenceVerticalLayout.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/layout/vertical/SequenceVerticalLayout.java index 1e15ce0a83..1480fa3da1 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/layout/vertical/SequenceVerticalLayout.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/layout/vertical/SequenceVerticalLayout.java @@ -119,6 +119,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout> eventEndToSequenceEvents = new Function>() { + @Override public Collection apply(EventEnd from) { return endToISequencEvents.get(from); } @@ -134,6 +135,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout instanceRoleHeight = new Function() { + @Override public Integer apply(Lifeline from) { InstanceRole irep = from.getInstanceRole(); if (irep != null) { @@ -150,6 +152,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout heightOrdering = Ordering.natural().onResultOf(instanceRoleHeight); private final Function> oldRangeFunction = new Function>() { + @Override public Option apply(ISequenceEvent from) { Range range = oldLayoutData.get(from); if (range == null) { @@ -160,6 +163,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout> oldFlaggedRange = new Function>() { + @Override public Option apply(ISequenceEvent from) { Rectangle rect = oldFlaggedLayoutData.get(from); Range result = null; @@ -807,7 +811,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout isMaxRangeCandidate = new Predicate() { + @Override public boolean apply(Lifeline input) { InstanceRole irep = input.getInstanceRole(); if (irep != null) { @@ -859,6 +864,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout endOfLifes = Lists.newArrayList(Iterables.filter(node.getOwnedBorderedNodes(), new Predicate() { + @Override public boolean apply(DNode input) { return input.isVisible() && EndOfLife.viewpointElementPredicate().apply(input); } @@ -887,6 +893,7 @@ public class SequenceVerticalLayout extends AbstractSequenceOrderingLayout isMinRangeCandidate = new Predicate() { + @Override public boolean apply(Lifeline input) { InstanceRole irep = input.getInstanceRole(); if (irep != null) { -- cgit v1.2.3