in slingshot/src/main/java/org/apache/sling/sample/slingshot/comments/impl/CommentPostServlet.java [59:96]
protected void doPost(final SlingHttpServletRequest request,
final SlingHttpServletResponse response)
throws ServletException, IOException {
final String title = request.getParameter(CommentsUtil.PROPERTY_TITLE);
final String text = request.getParameter(CommentsUtil.PROPERTY_TEXT);
final String userId = request.getRemoteUser();
logger.debug("New comment from {} : {} - {}", new Object[] {userId, title, text});
// TODO - check values
// save comment
ResourceResolver resolver = null;
try {
resolver = factory.getServiceResourceResolver(null);
final Resource reqResource = resolver.getResource(request.getResource().getPath());
final Comment c = new Comment();
c.setTitle(title);
c.setText(text);
c.setCreatedBy(userId);
this.commentsService.addComment(reqResource, c);
// send redirect at the end
final String path = request.getResource().getPath();
response.sendRedirect(resolver.map(request.getContextPath() + path + ".html"));
} catch ( final LoginException le ) {
throw new ServletException("Unable to login", le);
} finally {
if ( resolver != null ) {
resolver.close();
}
}
}