protected void doProcess()

in server/src/jetbrains/buildServer/sharedResources/pages/actions/EnableDisableResourceAction.java [45:68]


  protected void doProcess(@NotNull final HttpServletRequest request,
                           @NotNull final HttpServletResponse response,
                           @NotNull final Element ajaxResponse) {
    final String resourceId = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_ID);
    final String projectId = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_PROJECT_ID);
    final boolean newState = StringUtil.isTrue(request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_STATE));
    final SProject project = myProjectManager.findProjectById(projectId);
    if (project != null) {
      ResourceProjectFeature feature = myProjectFeatures.getOwnFeatures(project).stream()
                                                        .filter(rf -> rf.getId().equals(resourceId))
                                                        .findFirst()
                                                        .orElse(null);
      if (feature != null && feature.getResource() != null) {
        final Resource resource = feature.getResource();
        final Resource resourceInState = myResourceHelper.getResourceInState(projectId, resource, newState);
        myProjectFeatures.updateFeature(project, resourceInState.getId(), resourceInState.getParameters());
        final String changed = newState ? "enabled" : "disabled";
        project.schedulePersisting(myConfigActionFactory.createAction(project, "'" + resource.getName() + "' shared resource was " + changed));
        addMessage(request, "Resource " + resource.getName() + " was " + changed);
      }
    } else {
      LOG.error("Project [" + projectId + "] no longer exists!");
    }
  }