public void everythingFinishedImpl()

in src/com/intellij/vssSupport/commands/DirectoryCommandListener.java [44:98]


  public void everythingFinishedImpl( final String output )
  {
    if( output.indexOf( NOT_EXISTING_MESSAGE ) != -1 )
    {
      myErrors.add( new VcsException( VssBundle.message( "message.text.path.is.not.existing.filename.or.project", startFolder )) );
      return;
    }

    String localPath = startFolder;

    String[] lines = LineTokenizer.tokenize( output, false );
    int offset = 0;
    while( offset < lines.length )
    {
      String line = lines[ offset ];
      if( line.length() > 0 )
      {
        //  First process lines that denote VSS project path like
        //  --- cut ---
        //  !$/vsstest/SRC/Dir5:
        //  --- end cut ---
        //  or (in the case of spanning to the next line:
        //  --- cut ---
        //  !$/vsstest/SRC/Dir5/SomeVeryLongPath/
        //  !withContinuation:
        //  --- end cut ---

        LineType lineType = whatSubProjectLine( lines, offset );
        if( lineType != LineType.NO_PROJECT )
        {
          localPath = constructLocalFromSubproject( lines, offset );
          localPath = VssUtil.getLocalPath( localPath, project );

          offset += (lineType == LineType.SIMPLE_FORMAT) ? 0 : 1;
        }
        else
        {
          //  If the line starts with '$' and does not end with ':' then it
          //  denotes subfolder under the given VSS [sub]project (see above).
          //  --- cut ---
          //    $/vsstest/SRC/Dir5:
          // ==>$foo
          //  --- cut ---
          if( !( line.charAt( 0 ) == '$' && (line.charAt(line.length() - 1) != ':') ) &&
              //  Skip lines with no useful information.
              line.indexOf( TOTAL_SIG ) == -1 &&
              line.indexOf( NO_ITEMS_FOUND_SIG ) == -1 )
          {
            extractFileAndCheckoutInfo( localPath, line );
          }
        }
      }
      offset++;
    }
  }