Package com.google.collide.dto.client.DtoClientImpls

Examples of com.google.collide.dto.client.DtoClientImpls.DirInfoImpl


  private static FileTreeNode getChildNode(FileTreeNode parentNode, String name) {
    if (!parentNode.isDirectory()) {
      return null;
    }

    DirInfoImpl asDirInfo = parentNode.cast();
    JsonArray<DirInfo> childDirs = asDirInfo.getSubDirectories();
    for (int i = 0, n = childDirs.size(); i < n; i++) {
      if (childDirs.get(i).getName().equals(name)) {
        return (FileTreeNode) childDirs.get(i);
      }
    }

    JsonArray<FileInfo> childFiles = asDirInfo.getFiles();
    for (int i = 0, n = childFiles.size(); i < n; i++) {
      if (childFiles.get(i).getName().equals(name)) {
        return (FileTreeNode) childFiles.get(i);
      }
    }
View Full Code Here


  }

  public final void addChild(FileTreeNode newNode) {
    assert (isDirectory()) : "You are only allowed to add new files and folders to a directory!";

    DirInfoImpl parentDir = this.cast();

    // Install the new node in our model by adding it to the child list of the
    // parent.
    if (newNode.isFile()) {
      parentDir.getFiles().add(newNode.<FileInfoImpl>cast());
    } else if (newNode.isDirectory()) {
      parentDir.getSubDirectories().add(newNode.<DirInfoImpl>cast());
    } else {
      throw new IllegalArgumentException(
          "We somehow made a new node that was neither a directory not a file.");
    }
View Full Code Here

   *
   * @return true if children have been loaded, false if not
   */
  public final boolean isComplete() {
    assert isDirectory() : "Only directories can be complete";
    DirInfoImpl dirView = this.cast();
    return dirView.isComplete();
  }
View Full Code Here

   */
  private void enusureUnifiedChildren() {
    assert isDirectory() : "Only directories have children!";

    if (!hasUnifiedChildren()) {
      DirInfoImpl dirView = this.cast();
      JsoArray<DirInfo> dirs = (JsoArray<DirInfo>) dirView.getSubDirectories();
      JsoArray<FileInfo> files = (JsoArray<FileInfo>) dirView.getFiles();
      dirs.sort(dirSortFunction);
      files.sort(fileSortFunction);
      cacheUnifiedChildren(JsoArray.concat(dirs, files).<JsoArray<FileTreeNode>>cast());
    }
  }
View Full Code Here

   *
   * <p>
   * Specified node (whose siblings are checked) itself is not checked.
   */
  static boolean hasNoPeerWithName(FileTreeNode nodeToCheck, String name) {
    DirInfoImpl parentDir = nodeToCheck.getParent().cast();
    return isNameUnique(parentDir.getSubDirectories(), nodeToCheck, name) && isNameUnique(
        parentDir.getFiles(), nodeToCheck, name);
  }
View Full Code Here

      }
    } else {
      if (oldNode == null) {
        // The old node doesn't exist, so we need to force a refresh of the target directory's
        // children by marking the target directory incomplete.
        DirInfoImpl parentDirView = parentDir.cast();
        parentDirView.setIsComplete(false);
      } else {
        // The old node exists and the target directory is loaded, so add the node to the target.
        parentDir.addChild(oldNode);
      }
View Full Code Here

      }
    }

    // Recursively search for expanded subdirectories.
    int expandedPathsCount = expandedPaths.size();
    DirInfoImpl dir = node.cast();
    JsonArray<DirInfo> subDirs = dir.getSubDirectories();
    if (subDirs != null) {
      for (int i = 0; i < subDirs.size(); i++) {
        DirInfo subDir = subDirs.get(i);
        calculateExpandedPathsRecursive((FileTreeNode) subDir, expandedPaths);
      }
View Full Code Here

        FileTreeNodeRenderer.create(context.getResources());
    Tree.View<FileTreeNode> view = new Tree.View<FileTreeNode>(context.getResources());
    Tree.Model<FileTreeNode> model =
        new Tree.Model<FileTreeNode>(dataAdapter, nodeRenderer, context.getResources());
    // An empty root directory.
    DirInfoImpl mockDirInfo = DirInfoImpl.make();
    mockDirInfo.setNodeType(TreeNodeInfo.DIR_TYPE);
    JsoArray<FileInfo> files = JsoArray.create();
    mockDirInfo.setFiles(files);
    JsoArray<DirInfo> subdirs = JsoArray.create();
    mockDirInfo.setSubDirectories(subdirs);
    mockDirInfo.setName("");
    mockDirInfo.setIsComplete(true);
    FileTreeNode root = FileTreeNode.transform(mockDirInfo);
    model.setRoot(root);
    tree = new Tree<FileTreeNode>(view, model);

    // Create all the other objects we need, or mocks for them...
View Full Code Here

    FileTreeNode parentData = getDirData(parentTreeNode);
    String newDirName =
        FileTreeUtils.allocateName(parentData.<DirInfoImpl>cast(), NEW_FILE_NAME + "Folder");

    DirInfoImpl newDir = DirInfoImpl.make()
        .setFiles(JsoArray.<FileInfo>create()).setSubDirectories(JsoArray.<DirInfo>create())
        .setIsComplete(false);
    newDir.<TreeNodeInfoImpl>cast().setNodeType(TreeNodeInfo.DIR_TYPE);
    newDir.setName(newDirName);

    handleNewNode(parentTreeNode, parentData, newDir.<FileTreeNode>cast());
  }
View Full Code Here

  private static DirInfo makeEmptyDir(NodeInfoFactory nodeInfoFactory, String name) {
    DirInfo dirInterface = nodeInfoFactory.makeDirInfo();
   
    if (dirInterface instanceof DirInfoImpl) {
      DirInfoImpl dir = (DirInfoImpl) dirInterface;
      dir.setNodeType(TreeNodeInfo.DIR_TYPE);
      dir.setName(name);
      dir.setFiles(JsoArray.<FileInfo>create());
      dir.setSubDirectories(JsoArray.<DirInfo>create());
      dir.setIsComplete(true);
    } else {
      com.google.collide.dto.server.DtoServerImpls.DirInfoImpl dir =
          (com.google.collide.dto.server.DtoServerImpls.DirInfoImpl) dirInterface;
      dir.setNodeType(TreeNodeInfo.DIR_TYPE);
      dir.setName(name);
      dir.setFiles(
          new ArrayList<com.google.collide.dto.server.DtoServerImpls.FileInfoImpl>
          ());
      dir.setSubDirectories(
          new ArrayList<com.google.collide.dto.server.DtoServerImpls.DirInfoImpl>
          ());
      dir.setIsComplete(true);
    }
   
    return dirInterface;
  }
View Full Code Here

TOP

Related Classes of com.google.collide.dto.client.DtoClientImpls.DirInfoImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.