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();
}