in src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigServlet.java [77:97]
public Response<SubmitConfig> apply(ProjectResource resource, SubmitConfig inConfig)
throws PermissionBackendException, AuthException, BadRequestException, ConfigInvalidException,
IOException {
Project.NameKey projectName = resource.getNameKey();
permissionBackend
.user(resource.getUser())
.project(resource.getNameKey())
.check(ProjectPermission.WRITE_CONFIG);
IdentifiedUser user = resource.getUser().asIdentifiedUser();
try (MetaDataUpdate md = metaDataUpdateFactory.get().create(projectName, user)) {
ProjectConfig projectConfig = projectConfigFactory.read(md);
configTranslator.applyTo(inConfig, projectConfig);
projectConfig.commit(md);
projectCache.evictAndReindex(projectName);
}
ProjectState projectState =
projectCache.get(projectName).orElseThrow(illegalState(projectName));
return Response.ok(configTranslator.convertFrom(projectState));
}