01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package org.libresource.web.controllers.bugtracker;
34:
35: import org.libresource.Libresource;
36:
37: import org.libresource.bugtracker.BugTrackerConstants;
38: import org.libresource.bugtracker.interfaces.LibresourceBugTrackerService;
39:
40: import org.libresource.kernel.KernelConstants;
41: import org.libresource.kernel.LibresourceSecurityException;
42: import org.libresource.kernel.interfaces.KernelService;
43:
44: import org.libresource.web.Controller;
45:
46: import java.net.URI;
47:
48: import javax.servlet.http.HttpServletRequest;
49: import javax.servlet.http.HttpServletResponse;
50:
51: public class PostCommentInIssueController implements Controller {
52: public Object process(URI uri, HttpServletRequest request,
53: HttpServletResponse response) throws Exception {
54: if (request.getParameter("cancel") != null) {
55: return uri;
56: }
57:
58: KernelService kernelService = (KernelService) Libresource
59: .getService(KernelConstants.SERVICE);
60:
61: if (!kernelService.checkSecurity(uri,
62: BugTrackerConstants.SECURITY_POSTCOMMENT)) {
63: throw new LibresourceSecurityException(uri,
64: BugTrackerConstants.SECURITY_POSTCOMMENT);
65: }
66:
67: if (request.getParameter("body").trim().equals("")) {
68: return uri;
69: }
70:
71: LibresourceBugTrackerService libresourceBugTrackerService = (LibresourceBugTrackerService) Libresource
72: .getService(BugTrackerConstants.SERVICE);
73: String title = "Comment of : "
74: + libresourceBugTrackerService.getIssue(uri)
75: .getSummary();
76: libresourceBugTrackerService.addCommentInIssue(uri, title,
77: request.getParameter("body"));
78:
79: return uri;
80: }
81: }
|