Statistics
| Branch: | Tag: | Revision:

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
}