public void recorreArbol(List<Categoria> categorias) { // List<Categoria> listaCategoriasTemporal = new ArrayList<Categoria>(); // System.out.println( "entro en recorreArbol"); // contador++; // Map<String, TreeNode> rootNodes = new HashMap<String, TreeNode>(); if (!categorias.isEmpty()) { for (Categoria cate : categorias) { String nombre = cate.getNombre(); if (cate.getIdPadre() == null) { // rootNodes.put(cate.getNombre(), new // DefaultTreeNode(cate.getNombre(), cate, root)); TreeNode documents = new DefaultTreeNode(cate, root); rootNodes.put(cate.getIdcategoria().toString(), documents); recorreArbol(seleccionaHijos(cate.getIdcategoria())); } else { TreeNode documents = new DefaultTreeNode( cate, rootNodes.get(cate.getIdPadre().getIdcategoria().toString())); rootNodes.put(cate.getIdcategoria().toString(), documents); recorreArbol(seleccionaHijos(cate.getIdcategoria())); } } } // TreeNode documents = new DefaultTreeNode(new Categoria(1,"primera"), root); // TreeNode work = new DefaultTreeNode(new Categoria(2,"pakita"), documents); // TreeNode otra = new DefaultTreeNode(new Categoria(2,"otra"), documents); // TreeNode otra2 = new DefaultTreeNode(new Categoria(2,"otra2"), otra); // TreeNode otra3 = new DefaultTreeNode(new Categoria(2,"otra3"), otra2); // TreeNode otra4 = new DefaultTreeNode(new Categoria(2,"otra3"), otra3); // TreeNode otra5 = new DefaultTreeNode(new Categoria(2,"otra4"), otra4); // TreeNode otra6 = new DefaultTreeNode(new Categoria(2,"otra5"), otra5); }