/** * Adds nodes to the specified parent node recurrsively. * * @param parent_node the parent node. * @param list the list of child node names. */ protected void addNode(DefaultMutableTreeNode parent_node, Vector list) { SortableArray array = null; if (mode == DATE_ORIENTED && parent_node.getLevel() <= 2) { array = new Array(list.size()); for (int i = 0; i < list.size(); i++) ((Array) array).set(i, Integer.parseInt((String) list.elementAt(i))); } else { array = new StringArray(list.size()); for (int i = 0; i < list.size(); i++) ((StringArray) array).set(i, (String) list.elementAt(i)); } ArrayIndex index = array.sortAscendant(); for (int i = 0; i < array.getArraySize(); i++) { String name = (String) list.elementAt(index.get(i)); // Converts 1...12 to January...December. if (mode == DATE_ORIENTED && parent_node.getLevel() == 1) { int month = Integer.parseInt(name); name = JulianDay.getFullSpellMonthString(month); } DefaultMutableTreeNode node = new DefaultMutableTreeNode(name); parent_node.add(node); } }