View Javadoc
1   /*
2    * JBoss, Home of Professional Open Source
3    * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
4    * contributors by the @authors tag. See the copyright.txt in the
5    * distribution for a full listing of individual contributors.
6    *
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   * http://www.apache.org/licenses/LICENSE-2.0
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.jboss.as.quickstarts.kitchensinkjsp.servlet;
18  
19  import java.io.IOException;
20  
21  import javax.inject.Inject;
22  import javax.servlet.RequestDispatcher;
23  import javax.servlet.ServletException;
24  import javax.servlet.annotation.WebServlet;
25  import javax.servlet.http.HttpServlet;
26  import javax.servlet.http.HttpServletRequest;
27  import javax.servlet.http.HttpServletResponse;
28  
29  import org.jboss.as.quickstarts.kitchensinkjsp.controller.MemberRegistration;
30  import org.jboss.as.quickstarts.kitchensinkjsp.data.MemberListProducer;
31  import org.jboss.as.quickstarts.kitchensinkjsp.model.Member;
32  
33  /**
34   * Servlet implementation class MemberRegistrationServlet
35   */
36  @WebServlet("/register.do")
37  public class MemberRegistrationServlet extends HttpServlet {
38      private static final long serialVersionUID = 1L;
39  
40      @Inject
41      MemberRegistration registrationService;
42  
43      @Inject
44      MemberListProducer memberListService;
45  
46      /**
47       * Default constructor.
48       */
49      public MemberRegistrationServlet() {
50          // TODO Auto-generated constructor stub
51      }
52  
53      /**
54       * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
55       */
56      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
57  
58          StringBuilder errorMessage = new StringBuilder();
59  
60          try {
61  
62              System.out.println("EMAIL='" + request.getParameter("email") + "'");
63              Member member;
64              // create a new member, remember :) the memberservice do not
65              // call the initMethod if an error occur during the previous persist request
66  
67              while ((member = registrationService.getNewMember()) == null) {
68                  registrationService.initNewMember();
69              }
70  
71              String value;
72  
73              if ((value = request.getParameter("name")).length() < 1) {
74                  errorMessage.append("Name can not be null\n");
75              } else {
76                  member.setName(value);
77  
78                  if ((value = request.getParameter("email")).length() < 1) {
79                      errorMessage.append("email required!\n");
80                  } else {
81                      member.setEmail(value);
82  
83                      if ((value = request.getParameter("phoneNumber")).length() < 1) {
84                          errorMessage.append("phoneNumber required \n");
85                      } else // all parameters are filled, register
86                      {
87                          member.setPhoneNumber(value);
88  
89                          log("\n*****************Try Registration of Member=" + member);
90                          registrationService.register();
91                          request.setAttribute("infoMessage", member.getName() + " Registered!");
92                      }
93                  }
94              }
95  
96          } catch (Exception e) {
97  
98              Throwable t = e;
99              while ((t.getCause()) != null) {
100                 t = t.getCause();
101             }
102 
103             errorMessage.append("Error========>" + t.getMessage());
104             request.setAttribute("infoMessage", "");
105             e.printStackTrace();
106         } finally {
107             request.setAttribute("errorMessage", errorMessage.toString());
108             RequestDispatcher resultView = request.getRequestDispatcher("index.jsp");
109             resultView.forward(request, response);
110         }
111     }
112 
113 }