Example #1
0
 private static void registerFolder(String scope, String name, String description) {
   Folder folder = new Folder(extractName(name), description, VarType.folder);
   Folder scopeFolder = getScopeFolder(scope);
   scopeFolder.getParent(name).add(folder);
 }
Example #2
0
  /**
   * Method used to transfer the nodes of a LibrayNode based tree to a BaseTreeModel based tree of
   * Folder and Document objects for use in a GXT display
   *
   * @param node A LibraryNode object that was returned from the server
   * @return The equivalent BaseTreeModel node (Folder or Document) for display in a GXT Widget.
   */
  private BaseTreeModel parseLibraryNode(
      LibraryNode node, TreeModel parent, DrakeGeneticsServiceAsync drakeGeneticsService) {
    BaseTreeModel displayNode = null;

    if (node.isDocument()) {

      GWT.log(node.getDisplayName() + "--" + node.getFileName());
      final Document document = new Document(node.getDisplayName(), node.getFileName());
      if (parent != null) {
        document.setParent(parent);
      }

      // Add code here to actually fetch the document and add it to
      // the Document object
      List<String> path = new ArrayList<String>();
      path.add(document.getDocument());
      Folder fParent = (Folder) parent;
      if (!fParent.getName().equals("/Library/")) {
        path.add(fParent.getName());
        Folder curParent = (Folder) parent.getParent();
        while (curParent != null) {
          if (!curParent.getName().equals("/Library/")) path.add(curParent.getName());
          curParent = (Folder) curParent.getParent();
        }
      }
      Collections.reverse(path);
      GWT.log(path.toString());

      drakeGeneticsService.getPublication(
          path,
          new AsyncCallback<String>() {
            public void onSuccess(String documentUrl) {
              GWT.log(document.getName());
              GWT.log(" Node URL = " + documentUrl);
              document.setUrl(documentUrl);
              tree.repaint();
            }

            public void onFailure(Throwable caught) {
              getTreeModelFailed(caught);
            }
          });
      displayNode = document;

    } else if (node.isLeaf()) {
      displayNode = new Folder(node.getData());
      if (parent != null) {
        displayNode.setParent(parent);
      }

    } else {
      displayNode = new Folder(node.getData());
      if (parent != null) {
        displayNode.setParent(parent);
      }
      for (int i = 0; i < node.getChildCount(); i++) {
        displayNode.add(
            parseLibraryNode((LibraryNode) node.getChild(i), displayNode, drakeGeneticsService));
      }
    }

    return displayNode;
  }