protected void doPost()

in server/src/jetbrains/buildServer/serverSide/priority/controllers/EditPriorityClassController.java [71:113]


  protected void doPost(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response, @NotNull final Element xmlResponse) {
    PriorityClass priorityClass = getPriorityClass(request);
    ActionErrors errors = new ActionErrors();
    if (priorityClass == null) {
      ActionMessages.getOrCreateMessages(request).addMessage("priorityClassNotFound", "Selected priority class does not exist anymore");
      errors.addError("priorityClassNotFound", "Selected priority class does not exist anymore");
      //redirect to priority class list?
    } else {
      final EditPriorityClassBean pb = new EditPriorityClassBean();
      FormUtil.bindFromRequest(request, pb);

      try {
        if (myPriorityClassManager.isDefaultPriorityClass(priorityClass)) {
          //do nothing
        } else if (myPriorityClassManager.isPersonalPriorityClass(priorityClass)) {
          PriorityClass updatedPersonal = priorityClass.setPriority(pb.getPriorityClassPriorityInt());
          myPriorityClassManager.savePriorityClass(updatedPersonal);
        } else {
          pb.validate();
          PriorityClass updatedPriorityClass = priorityClass.update(pb.getPriorityClassName(),
                                                                    pb.getPriorityClassDescription(),
                                                                    pb.getPriorityClassPriorityInt());
          myPriorityClassManager.savePriorityClass(updatedPriorityClass);
        }
      } catch (DuplicatePriorityClassNameException e) {
        errors.addError("priorityClassName", e.getMessage());
      } catch (InvalidPriorityClassNameException e) {
        errors.addError("priorityClassName", e.getMessage());
      } catch (InvalidPriorityClassDescriptionException e) {
        errors.addError("priorityClassDescription", e.getMessage());
      } catch (InvalidPriorityClassPriorityException e) {
        errors.addError("priorityClassPriority", e.getMessage());
      } catch (PriorityClassException e) {
        errors.addError("editPriorityClass", e.getMessage());
      }
    }

    errors.serialize(xmlResponse);

    if (errors.hasNoErrors()) {
      ActionMessages.getOrCreateMessages(request).addMessage("priorityClassUpdated", "Priority Class has been updated.");
    }
  }