Example #1
0
  /** Return all DataBeans under this manager. */
  public List<DataBean> databeans() {

    LinkedList<DataBean> databeans = new LinkedList<DataBean>();
    for (DataFolder folder : folders()) {
      for (DataItem child : folder.getChildren()) {
        if (child instanceof DataBean) {
          databeans.add((DataBean) child);
        }
      }
    }
    return databeans;
  }
Example #2
0
 public List<DataFolder> folders(DataFolder parent) {
   LinkedList<DataFolder> folders = new LinkedList<DataFolder>();
   folders.add(parent);
   for (DataItem child : parent.getChildren()) {
     if (child instanceof DataFolder) {
       folders.addAll(folders((DataFolder) child));
     }
   }
   return folders;
 }
Example #3
0
  private void deleteDataFolder(DataFolder folder) {

    // remove children
    Iterable<DataItem> children = folder.getChildren();

    // make a copy of the children list to avoid concurrent modification
    List<DataItem> childrenToBeRemoved = new LinkedList<DataItem>();
    for (DataItem item : children) {
      childrenToBeRemoved.add(item);
    }

    // remove all children (recursively)
    for (DataItem item : childrenToBeRemoved) {
      delete(item);
    }

    // remove this folder (unless root)
    DataFolder parent = folder.getParent();
    if (parent != null) {
      disconnectChild(folder, parent);
    }
  }