From ecb8f09c0babc62a2477d1d1b10264a61488ce44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Tue, 28 Jul 2009 20:17:49 +0200 Subject: [PATCH] ItEr18S09CUCreacionProxectoPlanificacionItEr17S10: Avoiding throwing of exception when adding an empty list at MutableTreeModel --- .../org/zkoss/ganttz/util/MutableTreeModel.java | 2 ++ .../zkoss/ganttz/util/MutableTreeModelTest.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/util/MutableTreeModel.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/util/MutableTreeModel.java index 05d855214..91472722e 100644 --- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/util/MutableTreeModel.java +++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/util/MutableTreeModel.java @@ -172,6 +172,8 @@ public class MutableTreeModel extends AbstractTreeModel { } private void add(Node parent, Integer position, List> children) { + if (children.isEmpty()) + return; int indexFrom = position == null ? parent.children.size() : position; int indexTo = indexFrom + children.size() - 1; parent.addAll(position, children); diff --git a/navalplanner-gantt-zk/src/test/java/org/zkoss/ganttz/util/MutableTreeModelTest.java b/navalplanner-gantt-zk/src/test/java/org/zkoss/ganttz/util/MutableTreeModelTest.java index 20a4ff7e3..e3836d5d3 100644 --- a/navalplanner-gantt-zk/src/test/java/org/zkoss/ganttz/util/MutableTreeModelTest.java +++ b/navalplanner-gantt-zk/src/test/java/org/zkoss/ganttz/util/MutableTreeModelTest.java @@ -236,6 +236,21 @@ public class MutableTreeModelTest { assertThat(model.getChildCount(model.getRoot()), equalTo(2)); } + @Test + public void addingAnEmptyListOfElementsDontDoNothing() { + MutableTreeModel model = MutableTreeModel.create(Prueba.class); + final List events = new ArrayList(); + model.addTreeDataListener(new TreeDataListener() { + + @Override + public void onChange(TreeDataEvent event) { + events.add(event); + } + }); + model.add(model.getRoot(), new ArrayList()); + assertThat(events.size(), equalTo(0)); + } + @Test public void aNodeCanBeRemoved() { MutableTreeModel model = MutableTreeModel.create(Prueba.class);