in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/CCPathElement.java [111:138]
public static List<CCPathElement> splitIntoPathElements(final String objectName) {
final List<CCPathElement> result = new ArrayList<CCPathElement>();
boolean hadVersionSeparator = false;
boolean treatMainAsVersionId = !TeamCityProperties.getBoolean(Constants.TEAMCITY_PROPERTY_DO_NOT_TREAT_MAIN_AS_VERSION_IDENTIFIER);
final List<String> subNames = StringUtil.split(normalizeSeparators(objectName), false, File.separatorChar);
for (int i = 0, size = subNames.size(); i < size; i++) {
final String subName = subNames.get(i);
if (subName.endsWith(CCParseUtil.CC_VERSION_SEPARATOR)) {
final CCPathElement currentPair = new CCPathElement(subName.substring(0, subName.length() - CCParseUtil.CC_VERSION_SEPARATOR.length()), true);
result.add(currentPair);
i = processVersion(currentPair, i, subNames);
hadVersionSeparator = true;
}
else if (hadVersionSeparator && treatMainAsVersionId && i + 1 < size && MAIN.equalsIgnoreCase(subNames.get(i + 1))) {
final CCPathElement currentPair = new CCPathElement(subName, true);
result.add(currentPair);
i = processVersion(currentPair, i, subNames);
}
else {
result.add(new CCPathElement(subName, false));
}
}
return removeDots(result);
}