public File getObject()

in vault-connection/src/jetbrains/buildServer/buildTriggers/vcs/vault/impl/VaultConnectionImpl.java [57:90]


  public File getObject(@NotNull String path, @NotNull String version) throws VcsException {
    final File cached = getCachedFile(path, version);

    if (cached.isFile()) {
      return cached;
    } else {

      FileUtil.delete(cached);

      if (isExistingFile(path)) {

        final Long fileVersion = getFileDisplayVersion(path, version);

        if (fileVersion == null) {
          return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
        } else {
          getObject(path, fileVersion, false, cached);
          return cached.exists() ? cached : null;
        }
      } else if (isExistingFolder(path)) {

        final Long folderVersion = getFolderDisplayVersion(path, version);

        if (folderVersion == null) {
          return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
        } else {
          getObject(path, folderVersion, true, cached);
          return cached.exists() ? cached : null;
        }
      } else {
        return getObjectFromParent(cached.getName(), getObject(getRepoParentPath(path), version));
      }
    }
  }