@RequestMapping(value = "/string/{language}/{name}", method = RequestMethod.GET) public void getStringContent( @PathVariable String language, @PathVariable String name, HttpServletResponse response) throws IOException { LOG.info(String.format("Getting resource for : string:%s:%s", language, name)); PrintWriter writer = null; try { writer = response.getWriter(); StringContent stringContent = cmsLiteService.getStringContent(language, name); response.setContentLength(stringContent.getValue().length()); response.setContentType("text/plain"); response.setStatus(HttpServletResponse.SC_OK); writer.print(stringContent.getValue()); } catch (Exception e) { LOG.error( String.format( "Content not found for : string:%s:%s%n:%s", language, name, Arrays.toString(e.getStackTrace()))); response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, NOT_FOUND_RESPONSE); } finally { IOUtils.closeQuietly(writer); } }
@RequestMapping(value = "/resource/string/{language}/{name}", method = RequestMethod.POST) @ResponseStatus(HttpStatus.OK) public void editStringContent( @PathVariable String language, @PathVariable String name, @RequestParam String value) throws ContentNotFoundException, CMSLiteException, IOException { StringContent stringContent = cmsLiteService.getStringContent(language, name); stringContent.setValue(value); cmsLiteService.addContent(stringContent); }