public void execute()

in src/net/sourceforge/transparent/StatusMultipleProcessor.java [70:122]


  public void execute()
  {
    deletedFiles = new HashSet<>();
    nonexistingFiles = new HashSet<>();
    checkoutFiles = new HashSet<>();
    hijackedFiles = new HashSet<>();
    locallyDeleted = new HashSet<>();

    int currFileIndex = 0;
    int batchStartIndex = 0;
    int cmdLineLen;
    LinkedList<String> options = new LinkedList<>();
    while( currFileIndex < files.length )
    {
      cmdLineLen = 0;
      options.clear();

      options.add(STATUS_COMMAND);
      cmdLineLen += STATUS_COMMAND.length() + 1;
      if (myRecursive) {
        options.add(RECURSE_SWITCH);
        cmdLineLen += RECURSE_SWITCH.length() + 1;
      } else {
        options.add(DIR_SWITCH);
        cmdLineLen += DIR_SWITCH.length() + 1;
      }
      if (myViewOnly) {
        options.add(VIEW_ONLY);
        cmdLineLen += VIEW_ONLY.length() + 1;
      }

      while( currFileIndex < files.length && cmdLineLen < CMDLINE_MAX_LENGTH )
      {
        String path = files[ currFileIndex++ ];
        options.add( path );
        cmdLineLen += path.length() + 1;
      }

      String[] aOptions = ArrayUtil.toStringArray(options);
      String out = TransparentVcs.cleartoolWithOutput( aOptions );
      try
      {
        parseCleartoolOutput( out, batchStartIndex );
      }
      catch( Exception e )
      {
        TransparentVcs.LOG.info( "Failed to parse LS output (possible unknown message format):" );
        TransparentVcs.LOG.info( out );
        throw new ClearCaseException( "Failed to parse LS output (possible unknown message format):" + e.getMessage() );
      }
      batchStartIndex = currFileIndex;
    }
  }