private void processAddedElements()

in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/structure/WriteCorrectingVersionProcessor.java [112:138]


  private void processAddedElements(final ChangedElementInfo changedElement,
                                    final WriteVersionProcessor writeProcessor,
                                    final ClearCaseConnection clearCaseConnection, final String parentDirFullPath)
    throws VcsException {
    final String parentPathWithNewVersion = getParentWithNewVersion(parentDirFullPath, changedElement, clearCaseConnection);

    for (ChangedElementInfo addedElem : changedElement.getAddedElements()) {

      if (addedElem.myChangeType == ChangedElementInfo.ChangeType.ADDED_FILE) {
        final String fileName = new File(addedElem.myRelativePath).getName();
        final ClearCaseFileAttr attr = clearCaseConnection.loadFileAttr(parentPathWithNewVersion + File.separator + fileName + CCParseUtil.CC_VERSION_SEPARATOR);
        writeProcessor.writeFile(addedElem.myVersion, fileName, attr.isIsText(), attr.isIsExecutable());
      }
      else if (addedElem.myChangeType == ChangedElementInfo.ChangeType.ADDED_DIR) {
        writeProcessor.writeDirOpen(addedElem.myVersion, new File(addedElem.myRelativePath).getName());
        try {
          final String addedDirName = new File(addedElem.myRelativePath).getName();
          final String addedFileElementFullPath =
            parentPathWithNewVersion + File.separator + addedDirName + CCParseUtil.CC_VERSION_SEPARATOR + addedElem.myVersion;
          processAddedElements(addedElem, writeProcessor, clearCaseConnection, addedFileElementFullPath);
        } finally {
          writeProcessor.writeDirClose();
        }
        
      }
    }
  }