diff options
| author | Dirk Fauth | 2022-06-03 09:42:16 +0000 |
|---|---|---|
| committer | Dirk Fauth | 2022-06-03 09:42:16 +0000 |
| commit | 33b78c3a31ea524a048681fef9095e55ccfbd121 (patch) | |
| tree | f09bafcf0f4a38290c81b9d7d4dc31f6c621baa5 | |
| parent | cd7b01258cdd4db372369cb919e0e87d011a380d (diff) | |
| download | org.eclipse.nebula.widgets.nattable-33b78c3a31ea524a048681fef9095e55ccfbd121.tar.gz org.eclipse.nebula.widgets.nattable-33b78c3a31ea524a048681fef9095e55ccfbd121.tar.xz org.eclipse.nebula.widgets.nattable-33b78c3a31ea524a048681fef9095e55ccfbd121.zip | |
Bug 579303 - HierarchicalHelper dumps parent if children collection is
empty
Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com>
Change-Id: Ie31f4a49662c2557c89ff57052be5a00599cc0a3
2 files changed, 23 insertions, 3 deletions
diff --git a/org.eclipse.nebula.widgets.nattable.core.test/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTest.java b/org.eclipse.nebula.widgets.nattable.core.test/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTest.java index df9c59d2..f3d4117d 100644 --- a/org.eclipse.nebula.widgets.nattable.core.test/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTest.java +++ b/org.eclipse.nebula.widgets.nattable.core.test/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalTest.java @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (c) 2018, 2020 Dirk Fauth. + * Copyright (c) 2018, 2022 Dirk Fauth. * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 @@ -261,4 +261,24 @@ public class HierarchicalTest { } + @Test + public void testCreationWithEmptyChildCollection() { + List<Car> input = new ArrayList<>(); + + Car car1 = new Car("BMW", "3er"); + car1.setMotors(new ArrayList<Motor>()); + + Car car = new Car("Mercedes", "C Klasse"); + Motor motor1 = new Motor("C320", "160", "KW", 250); + Motor motor2 = new Motor("C200", "100", "KW", 215); + car.setMotors(Arrays.asList(motor1, motor2)); + + input.add(car1); + input.add(car); + + List<HierarchicalWrapper> result = HierarchicalHelper.deNormalize(input, false, Arrays.asList(CarService.getPropertyNames())); + + assertEquals(3, result.size()); + } + } diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalHelper.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalHelper.java index 45f3f62e..5620bce5 100644 --- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalHelper.java +++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/hierarchical/HierarchicalHelper.java @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (c) 2018, 2020 Dirk Fauth. + * Copyright (c) 2018, 2022 Dirk Fauth. * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 @@ -165,7 +165,7 @@ public final class HierarchicalHelper { if (level < nested.length) { Object child = getDataValue(parent.getObject(level), nested[level], propertyDescriptorMap); - if (child instanceof Collection<?>) { + if (child instanceof Collection<?> && !((Collection<?>) child).isEmpty()) { ArrayList<HierarchicalWrapper> result = new ArrayList<>(); Collection<?> children = (Collection<?>) child; |
