protected void doPost()

in server/src/jetbrains/buildServer/serverSide/priority/controllers/AttachBuildTypesController.java [67:97]


  protected void doPost(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response, @NotNull final Element xmlResponse) {
    AttachConfigurationsBean bean = getBean(request);
    bindFromRequest(request, bean);

    if (isAttachConfigurationsRequest(request)) {
      List<String> selectedConfigurations = bean.getConfigurationId();

      ActionErrors errors = new ActionErrors();
      try {
        if (selectedConfigurations != null && !selectedConfigurations.isEmpty()) {
          Set<String> newBuildTypeIds = new HashSet<String>(selectedConfigurations);
          PriorityClass oldPriorityClass = bean.getPriorityClass();
          Set<String> oldBuildTypeIds = getBuildTypeIds(oldPriorityClass);
          newBuildTypeIds.addAll(oldBuildTypeIds);

          PriorityClass updatedPriorityClass = oldPriorityClass.addBuildTypes(selectedConfigurations);
          myPriorityClassManager.savePriorityClass(updatedPriorityClass);

          ActionMessages messages = ActionMessages.getOrCreateMessages(request);
          int addedCount = newBuildTypeIds.size() - oldBuildTypeIds.size();
          if (addedCount == 1) {
            messages.addMessage("buildTypesAssigned", "1 configuration was successfully assigned to the priority class");
          } else {
            messages.addMessage("buildTypesAssigned", "{0} configurations were successfully assigned to the priority class", String.valueOf(addedCount));
          }
        }
      } catch (PriorityClassException e) {
        errors.addError("attachToClass", e.getMessage());
      }
    }
  }