[521393] In the model handler, when creating a new lane, verify a valid flow element container and lane set
Change-Id: I78e0704dffda0299ba2c6afee8438d9ad9ca1374
Signed-off-by: Paul Leacu <pleacu@redhat.com>
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
index f32b051..7167eb3 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/model/ModelHandler.java
@@ -597,12 +597,19 @@
public Lane createLane(Object target) {
Lane lane = createObject(Lane.class);
FlowElementsContainer container = getFlowElementContainer(target);
- if (container.getLaneSets().isEmpty()) {
+ if (container == null)
+ return null;
+
+ List<LaneSet> laneSets = container.getLaneSets();
+ if (laneSets == null)
+ return null;
+
+ if (laneSets.isEmpty()) {
LaneSet laneSet = createObject(LaneSet.class);
laneSet.setName(Messages.ModelHandler_Lane_Set+ModelUtil.getIDNumber( laneSet.getId() ));
- container.getLaneSets().add(laneSet);
+ laneSets.add(laneSet);
}
- container.getLaneSets().get(0).getLanes().add(lane);
+ laneSets.get(0).getLanes().add(lane);
return lane;
}