// updates the paths of all descendents of the given folder
private void updatePathTree(WeblogBookmarkFolder folder) throws WebloggerException {
log.debug("Updating path tree for folder "+folder.getPath());
WeblogBookmarkFolder childFolder = null;
Iterator childFolders = folder.getFolders().iterator();
while(childFolders.hasNext()) {
childFolder = (WeblogBookmarkFolder) childFolders.next();
log.debug("OLD child folder path was "+childFolder.getPath());
// update path and save
if("/".equals(folder.getPath())) {
childFolder.setPath("/" + childFolder.getName());
} else {
childFolder.setPath(folder.getPath() + "/" +
childFolder.getName());
}
saveFolder(childFolder);
log.debug("NEW child folder path is "+ childFolder.getPath());
// then make recursive call to update this folders children
updatePathTree(childFolder);
}
}