in server/src/jetbrains/buildServer/serverSide/priority/PriorityClassManagerImpl.java [437:466]
Document getDocument() {
Document document = new Document();
Element rootElement = new Element(PRIORITY_CLASS_ROOT_ELEMENT);
document.setRootElement(rootElement);
myLock.readLock().lock();
try {
myPriorityClasses.values().stream()
.sorted(Comparator.comparing(pc -> myIdPattern.matcher(pc.getId()).matches() ? Integer.parseInt(pc.getId().substring(2)) : 0))
.forEach(priorityClass -> {
if (isDefaultPriorityClass(priorityClass)) return;
Element priorityClassElement = new Element(PRIORITY_CLASS_ELEMENT);
priorityClassElement.setAttribute(ID_ATTRIBUTE, priorityClass.getId());
priorityClassElement.setAttribute(NAME_ATTRIBUTE, priorityClass.getName());
priorityClassElement.setAttribute(PRIORITY_ATTRIBUTE, String.valueOf(priorityClass.getPriority()));
priorityClassElement.setAttribute(DESCRIPTION_ATTRIBUTE, priorityClass.getDescription());
for (String btId : priorityClass.getExternalIds()) {
final Element buildTypeElement = new Element(BUILD_TYPE_ELEMENT);
buildTypeElement.setAttribute(BUILD_TYPE_ID_ATTRIBUTE, btId);
priorityClassElement.addContent((Content)buildTypeElement);
}
rootElement.addContent((Content)priorityClassElement);
});
} finally {
myLock.readLock().unlock();
}
return document;
}