Document getDocument()

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