public ResultType isVersionIsInsideView()

in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/configSpec/ConfigSpecStandardRule.java [46:73]


  public ResultType isVersionIsInsideView(final Version version) {
    final String versionFullName = version.getWholeName();
    int lastSepPos = versionFullName.lastIndexOf(File.separatorChar);
    final String branch = lastSepPos == -1 ? "" : versionFullName.substring(0, lastSepPos);

    if (!myBranchPattern.matcher(branch).matches()) return ResultType.DOES_NOT_MATCH;

    final String versionNumber = versionFullName.substring(lastSepPos + 1);
    ResultType result;

    if (Util.isDigit(myVersion)/*StringUtil.isNumber(myVersion)*/) {
      result = myVersion.equals(versionNumber) ? ResultType.MATCHES : ResultType.DOES_NOT_MATCH;
    }
    else {
      if (ConfigSpecRuleTokens.CHECKEDOUT.equalsIgnoreCase(myVersion)) {
        result = ResultType.DOES_NOT_MATCH; //todo
      } else if (ConfigSpecRuleTokens.LATEST.equalsIgnoreCase(myVersion)) {
        result = ResultType.MATCHES;
      } else { // label
        result = version.containsComment(myVersion) ? ResultType.MATCHES : ResultType.DOES_NOT_MATCH;
      }
    }

    if (ResultType.DOES_NOT_MATCH.equals(result)) return ResultType.DOES_NOT_MATCH;
    if (myMkBranchOption == null) return ResultType.MATCHES;

    return makeBranch(version);
  }