in server/src/jetbrains/buildServer/serverSide/priority/PriorityClassManagerImpl.java [173:194]
public PriorityClass createPriorityClass(@NotNull final String name, @NotNull final String description, int priority,
@NotNull Set<SBuildType> buildTypes)
throws InvalidPriorityClassNameException, InvalidPriorityClassDescriptionException, DuplicatePriorityClassNameException {
final PriorityClassImpl priorityClass;
myLock.writeLock().lock();
try {
PriorityClass sameNamePriorityClass = findPriorityClassByName(name);
if (sameNamePriorityClass != null) {
throw new DuplicatePriorityClassNameException("The priority class name '" + name + "' already exists");
}
String id = "pc" + getNextSequenceId();
priorityClass = new PriorityClassImpl(myServer.getProjectManager(), id, name, description, priority, getBuildTypeIds(buildTypes));
myPriorityClasses.put(priorityClass.getId(), priorityClass);
for (SBuildType bt : priorityClass.getBuildTypes()) {
myBuildTypePriorityClasses.put(bt.getExternalId(), priorityClass.getId());
}
} finally {
myLock.writeLock().unlock();
}
savePriorityClasses();
return priorityClass;
}