private void processTestConnectionRequest()

in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/PublisherSettingsController.java [176:206]


  private void processTestConnectionRequest(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response, @NotNull final CommitStatusPublisherSettings settings, @NotNull final Map<String, String> params) {
    new AjaxRequestProcessor().processRequest(request, response, new AjaxRequestProcessor.RequestHandler() {
      public void handleRequest(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Element xmlResponse) {
        XmlResponseUtil.writeTestResult(xmlResponse, "");
        ActionErrors errors = new ActionErrors();
        try {
          BasePropertiesBean propBean = new BasePropertiesBean(params);
          PluginPropertiesUtil.bindPropertiesFromRequest(request, propBean);
          Map<String, String> props = propBean.getProperties();
          BuildTypeIdentity buildTypeOrTemplate = getBuildTypeOrTemplate(request.getParameter("id"));
          PropertiesProcessor processor = settings.getParametersProcessor(buildTypeOrTemplate);
          if (null != processor) {
            Collection<InvalidProperty> invalidProps = processor.process(props);
            if (invalidProps != null) {
              for (InvalidProperty prop : invalidProps) {
                errors.addError("testConnectionFailed", prop.getInvalidReason());
              }
            }
          }
          if (!errors.hasErrors()) {
            testConnection(settings, props, request, errors);
          }
        } catch (PublisherException ex) {
          reportTestConnectionFailure(ex, errors);
        }
        if (errors.hasErrors()) {
          XmlResponseUtil.writeErrors(xmlResponse, errors);
        }
      }
    });
  }