public List get()

in src/org/jetbrains/tfsIntegration/core/tfs/VersionControlServer.java [920:968]


  public List<GetOperation> get(final String workspaceName,
                                final String workspaceOwner,
                                List<GetRequestParams> requests,
                                Object projectOrComponent,
                                String progressTitle)
    throws TfsException {
    OperationOnList<GetRequestParams, List<GetOperation>> operation = new OperationOnList<GetRequestParams, List<GetOperation>>() {
      @Override
      public List<GetOperation> execute(List<GetRequestParams> items, Credentials credentials, ProgressIndicator pi)
        throws RemoteException, HostNotApplicableException {
        List<GetRequest> getRequests = new ArrayList<>(items.size());
        for (GetRequestParams getRequestParams : items) {
          final GetRequest getRequest = new GetRequest();
          getRequest.setItemSpec(createItemSpec(getRequestParams.serverPath, getRequestParams.recursionType));
          getRequest.setVersionSpec(getRequestParams.version);
          getRequests.add(getRequest);
        }
        final ArrayOfGetRequest arrayOfGetRequests = new ArrayOfGetRequest();
        arrayOfGetRequests.setGetRequest(getRequests.toArray(new GetRequest[0]));
        Get param = new Get();
        param.setWorkspaceName(workspaceName);
        param.setOwnerName(workspaceOwner);
        param.setRequests(arrayOfGetRequests);
        param.setForce(true);
        param.setNoGet(false);
        ArrayOfArrayOfGetOperation response = myBeans.getRepositoryStub(credentials, pi).get(param).getGetResult();
        TFSVcs.assertTrue(response.getArrayOfGetOperation() != null && response.getArrayOfGetOperation().length >= items.size());

        List<GetOperation> results = new ArrayList<>();
        for (ArrayOfGetOperation arrayOfGetOperation : response.getArrayOfGetOperation()) {
          if (arrayOfGetOperation.getGetOperation() != null) {
            ContainerUtil.addAll(results, arrayOfGetOperation.getGetOperation());
          }
        }
        return results;
      }

      @Override
      public List<GetOperation> merge(Collection<List<GetOperation>> results) {
        List<GetOperation> merged = new ArrayList<>();
        for (List<GetOperation> r : results) {
          merged.addAll(r);
        }
        return merged;
      }
    };

    return execute(operation, projectOrComponent, requests, progressTitle);
  }