From 90d81068363c53b76fb0c09719f754a4eae7aacf Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Thu, 3 Dec 2009 11:50:07 +0100 Subject: [PATCH] ItEr37S11CUAdministracionMateriaisItEr36S13: Fix find category in tree (insert new category under new category -> NullPointerException) --- .../web/materials/MaterialsController.java | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/materials/MaterialsController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/materials/MaterialsController.java index 1c20602bc..3dd6ff31a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/materials/MaterialsController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/materials/MaterialsController.java @@ -327,7 +327,7 @@ public class MaterialsController extends } private boolean locateAndSelectMaterialCategory(MaterialCategory materialCategory) { - Treeitem treeitem = findTreeItemByMaterialCategory(categoriesTree.getRoot(), materialCategory); + Treeitem treeitem = findTreeItemByMaterialCategory(categoriesTree, materialCategory); if (treeitem != null) { treeitem.setSelected(true); return true; @@ -335,23 +335,14 @@ public class MaterialsController extends return false; } - private Treeitem findTreeItemByMaterialCategory(Component node, MaterialCategory materialCategory) { - if (node instanceof Treeitem) { - final Treeitem treeitem = (Treeitem) node; + private Treeitem findTreeItemByMaterialCategory(Tree tree, MaterialCategory materialCategory) { + for (Iterator i = tree.getItems().iterator(); i.hasNext();) { + final Treeitem treeitem = (Treeitem) i.next(); final MaterialCategory _materialCategory = (MaterialCategory) treeitem.getValue(); - if (_materialCategory.getId().equals(materialCategory.getId())) { + if (_materialCategory.getId() != null && _materialCategory.getId().equals(materialCategory.getId())) { return treeitem; } } - for (Iterator i = node.getChildren().iterator(); i.hasNext(); ) { - Object obj = i.next(); - if (obj instanceof Component) { - Treeitem treeitem = findTreeItemByMaterialCategory((Component) obj, materialCategory); - if (treeitem != null) { - return treeitem; - } - } - } return null; }