in slingshot/src/main/java/org/apache/sling/sample/slingshot/ratings/impl/RatingPostServlet.java [63:97]
protected void doPost(final SlingHttpServletRequest request,
final SlingHttpServletResponse response)
throws ServletException, IOException {
final String rating = request.getParameter(RatingsUtil.PROPERTY_RATING);
final String userId = request.getRemoteUser();
logger.debug("New rating from {} : {}", userId, rating);
// save rating
ResourceResolver resolver = null;
try {
resolver = factory.getServiceResourceResolver(null);
final Resource reqResource = resolver.getResource(request.getResource().getPath());
ratingsService.setRating(reqResource, userId, Double.valueOf(rating));
} catch ( final LoginException le ) {
throw new ServletException("Unable to login", le);
} finally {
if ( resolver != null ) {
resolver.close();
}
}
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.setStatus(200);
final PrintWriter pw = response.getWriter();
pw.print("{ ");
pw.print(" \"rating\" : ");
pw.print(String.valueOf(ratingsService.getRating(request.getResource())));
pw.print("}");
}