in server/src/jetbrains/buildServer/sharedResources/pages/ResourceHelper.java [36:71]
public Map<String, String> getNewResourceFromRequest(@NotNull final HttpServletRequest request) {
final Map<String, String> result = new HashMap<>();
final String resourceName = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_NAME);
result.put(SharedResourcesPluginConstants.ProjectFeatureParameters.NAME, resourceName);
final String type = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_TYPE);
result.put(SharedResourcesPluginConstants.ProjectFeatureParameters.TYPE, type);
final ResourceType resourceType = ResourceType.fromString(type);
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);
result.put(SharedResourcesPluginConstants.ProjectFeatureParameters.QUOTA, Integer.toString(quota));
return validate(result);
} catch (IllegalArgumentException e) {
LOG.warn("Illegal argument supplied in quota for resource [" + resourceName + "]");
return null;
}
} else {
result.put(SharedResourcesPluginConstants.ProjectFeatureParameters.QUOTA, "-1");
return validate(result);
}
} else if (ResourceType.CUSTOM.equals(resourceType)) {
final String values = request.getParameter(SharedResourcesPluginConstants.WEB.PARAM_RESOURCE_VALUES);
if (!isEmptyOrSpaces(values)) {
final List<String> strings = StringUtil.split(values, true, '\r', '\n');
if (!strings.isEmpty()) {
result.put(SharedResourcesPluginConstants.ProjectFeatureParameters.VALUES, String.join("\n", strings));
return validate(result);
}
}
} else {
return null;
}
return null;
}