root / src / gr / ebs / gss / server / Invitations.java @ 28be8c05
History | View | Annotate | Download (2.7 kB)
1 | 2f551abc | Panagiotis Astithas | /*
|
---|---|---|---|
2 | 2f551abc | Panagiotis Astithas | * Copyright 2010 Electronic Business Systems Ltd.
|
3 | 2f551abc | Panagiotis Astithas | *
|
4 | 2f551abc | Panagiotis Astithas | * This file is part of GSS.
|
5 | 2f551abc | Panagiotis Astithas | *
|
6 | 2f551abc | Panagiotis Astithas | * GSS is free software: you can redistribute it and/or modify
|
7 | 2f551abc | Panagiotis Astithas | * it under the terms of the GNU General Public License as published by
|
8 | 2f551abc | Panagiotis Astithas | * the Free Software Foundation, either version 3 of the License, or
|
9 | 2f551abc | Panagiotis Astithas | * (at your option) any later version.
|
10 | 2f551abc | Panagiotis Astithas | *
|
11 | 2f551abc | Panagiotis Astithas | * GSS is distributed in the hope that it will be useful,
|
12 | 2f551abc | Panagiotis Astithas | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 | 2f551abc | Panagiotis Astithas | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14 | 2f551abc | Panagiotis Astithas | * GNU General Public License for more details.
|
15 | 2f551abc | Panagiotis Astithas | *
|
16 | 2f551abc | Panagiotis Astithas | * You should have received a copy of the GNU General Public License
|
17 | 2f551abc | Panagiotis Astithas | * along with GSS. If not, see <http://www.gnu.org/licenses/>.
|
18 | 2f551abc | Panagiotis Astithas | */
|
19 | 2f551abc | Panagiotis Astithas | package gr.ebs.gss.server; |
20 | 2f551abc | Panagiotis Astithas | |
21 | 2f551abc | Panagiotis Astithas | import gr.ebs.gss.client.exceptions.RpcException; |
22 | 2f551abc | Panagiotis Astithas | import gr.ebs.gss.server.domain.Invitation; |
23 | 2f551abc | Panagiotis Astithas | |
24 | 2f551abc | Panagiotis Astithas | import java.io.IOException; |
25 | 2f551abc | Panagiotis Astithas | |
26 | 2f551abc | Panagiotis Astithas | import javax.servlet.http.HttpServletRequest; |
27 | 2f551abc | Panagiotis Astithas | import javax.servlet.http.HttpServletResponse; |
28 | 2f551abc | Panagiotis Astithas | |
29 | 2f551abc | Panagiotis Astithas | import org.apache.commons.logging.Log; |
30 | 2f551abc | Panagiotis Astithas | import org.apache.commons.logging.LogFactory; |
31 | 2f551abc | Panagiotis Astithas | |
32 | 2f551abc | Panagiotis Astithas | /**
|
33 | 2f551abc | Panagiotis Astithas | * The servlet that handles registration invitations.
|
34 | 2f551abc | Panagiotis Astithas | *
|
35 | 2f551abc | Panagiotis Astithas | * @author past
|
36 | 2f551abc | Panagiotis Astithas | */
|
37 | 978061e3 | Panagiotis Astithas | public class Invitations extends BaseServlet { |
38 | 2f551abc | Panagiotis Astithas | /**
|
39 | 2f551abc | Panagiotis Astithas | * The request parameter name for the invitation code.
|
40 | 2f551abc | Panagiotis Astithas | */
|
41 | 2f551abc | Panagiotis Astithas | private static final String CODE_PARAM = "code"; |
42 | 2f551abc | Panagiotis Astithas | |
43 | 2f551abc | Panagiotis Astithas | /**
|
44 | 2f551abc | Panagiotis Astithas | * The serial version UID of the class.
|
45 | 2f551abc | Panagiotis Astithas | */
|
46 | 2f551abc | Panagiotis Astithas | private static final long serialVersionUID = 1L; |
47 | 2f551abc | Panagiotis Astithas | |
48 | 2f551abc | Panagiotis Astithas | /**
|
49 | 2f551abc | Panagiotis Astithas | * The logger.
|
50 | 2f551abc | Panagiotis Astithas | */
|
51 | 2f551abc | Panagiotis Astithas | private static Log logger = LogFactory.getLog(Invitations.class); |
52 | 2f551abc | Panagiotis Astithas | |
53 | 2f551abc | Panagiotis Astithas | @Override
|
54 | 2f551abc | Panagiotis Astithas | public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { |
55 | 2f551abc | Panagiotis Astithas | String code = request.getParameter(CODE_PARAM);
|
56 | 2f551abc | Panagiotis Astithas | response.setContentType("text/html");
|
57 | 2f551abc | Panagiotis Astithas | |
58 | 2f551abc | Panagiotis Astithas | // Validate input parameters.
|
59 | 2f551abc | Panagiotis Astithas | if (code == null || code.isEmpty()) { |
60 | edf24a21 | Panagiotis Astithas | response.sendRedirect("invites.jsp?error=" + encode("No code was specified")); |
61 | 2f551abc | Panagiotis Astithas | return;
|
62 | 2f551abc | Panagiotis Astithas | } |
63 | 2f551abc | Panagiotis Astithas | |
64 | 2f551abc | Panagiotis Astithas | try {
|
65 | 2f551abc | Panagiotis Astithas | Invitation invite = getService().findInvite(code); |
66 | 2f551abc | Panagiotis Astithas | if (invite == null) { |
67 | edf24a21 | Panagiotis Astithas | response.sendRedirect("invites.jsp?code=&error=" + encode("The specified code was not found")); |
68 | 2f551abc | Panagiotis Astithas | return;
|
69 | 2f551abc | Panagiotis Astithas | } |
70 | 46268014 | Panagiotis Astithas | String firstname = invite.getFirstname() == null? "": invite.getFirstname(); |
71 | 46268014 | Panagiotis Astithas | String lastname = invite.getLastname() == null? "": invite.getLastname(); |
72 | 2f551abc | Panagiotis Astithas | String email = invite.getEmail() == null? "": invite.getEmail(); |
73 | edf24a21 | Panagiotis Astithas | response.sendRedirect("register.jsp?firstname=" + encode(firstname) +
|
74 | edf24a21 | Panagiotis Astithas | "&lastname=" + encode(lastname) + "&email=" + encode(email)); |
75 | 2f551abc | Panagiotis Astithas | } catch (RpcException e) {
|
76 | edf24a21 | Panagiotis Astithas | logger.error(e); |
77 | edf24a21 | Panagiotis Astithas | handleException(response, encode("An error occurred while communicating with the service"));
|
78 | 2f551abc | Panagiotis Astithas | } |
79 | 2f551abc | Panagiotis Astithas | } |
80 | edf24a21 | Panagiotis Astithas | |
81 | edf24a21 | Panagiotis Astithas | private void handleException(HttpServletResponse response, String error) throws IOException { |
82 | edf24a21 | Panagiotis Astithas | String errorUrl = "invites.jsp?username=&firstname=&lastname=&email=&error=" + error; |
83 | edf24a21 | Panagiotis Astithas | response.sendRedirect(errorUrl); |
84 | edf24a21 | Panagiotis Astithas | } |
85 | 2f551abc | Panagiotis Astithas | } |