public Resource getResourceFromRequest()

in server/src/jetbrains/buildServer/sharedResources/pages/ResourceHelper.java [83:109]


  public Resource getResourceFromRequest(@NotNull final String projectId, @NotNull final HttpServletRequest request) {
    final String resourceName = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_NAME);
    final String resourceId = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_ID);
    final ResourceType resourceType = ResourceType.fromString(request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_TYPE));
    Resource resource = null;
    if (isEmptyOrSpaces(resourceId)) {
      return null;
    }
    if (ResourceType.QUOTED.equals(resourceType)) {
      final String resourceQuota = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_QUOTA);
      if (!isEmptyOrSpaces(resourceQuota)) { // we have quoted resource
        try {
          int quota = Integer.parseInt(resourceQuota);
          resource = ResourceFactory.newQuotedResource(resourceId, projectId, resourceName, quota, true);
        } catch (IllegalArgumentException e) {
          LOG.warn("Illegal argument supplied in quota for resource [" + resourceName + "]");
        }
      } else {
        resource = ResourceFactory.newInfiniteResource(resourceId, projectId, resourceName, true);
      }
    } else if (ResourceType.CUSTOM.equals(resourceType)) {
      final String values = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_VALUES);
      final List<String> strings = StringUtil.split(values, true, '\r', '\n');
      resource = ResourceFactory.newCustomResource(resourceId, projectId, resourceName, strings, true);
    }
    return resource;
  }