public ConfigSpecStandardRule()

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


  public ConfigSpecStandardRule(final String scope, final String scopePattern, final String versionSelectorWithOptions) {
    String scopeTypeName = scope.substring(0, scope.indexOf(':'));
    if (ConfigSpecRuleTokens.STANDARD_FILE.equalsIgnoreCase(scopeTypeName)) {
      myScopeType = ScopeType.FILE;
    } else if (ConfigSpecRuleTokens.STANDARD_DIRECTORY.equalsIgnoreCase(scopeTypeName)) {
      myScopeType = ScopeType.DIRECTORY;
    } else if (ConfigSpecRuleTokens.STANDARD_ELTYPE.equalsIgnoreCase(scopeTypeName)) {
      myScopeType = ScopeType.ANY; //todo
    } else {
      myScopeType = ScopeType.ANY;
    }
    myScopePattern = createPattern(removeFirstSeparatorIfNeeded(scopePattern.trim()), false);
    if (versionSelectorWithOptions.startsWith("{")) {
      //todo
    }
    final String versionSelector = ConfigSpecParseUtil.extractFirstWord(versionSelectorWithOptions);
    myMkBranchOption = getMkBranchOption(versionSelectorWithOptions.substring(versionSelector.length()).trim());
    final String normalizedVersionSelector = CCPathElement.normalizeSeparators(versionSelector.trim());
    int lastSeparatorPos = normalizedVersionSelector.lastIndexOf(File.separatorChar);
    if (lastSeparatorPos == -1) {
      myBranchPattern = Pattern.compile(".*");
    }
    else {
      final String branchPathSelector = normalizedVersionSelector.substring(0, lastSeparatorPos);
      myBranchPattern = createPattern(branchPathSelector, true);
      detectPrimaryBranch(branchPathSelector);
    }
    myVersion = normalizedVersionSelector.substring(lastSeparatorPos + 1);
    if (myVersion.startsWith("{")) {
      //todo
    }
    myIsLabelSelector = isLabelBasedSelector();
  }