/* =================================================================== * RegisterConfirmController.java * * Created Oct 5, 2004 8:45:27 PM * * Copyright (c) 2004 Matt Magoffin (spamsqr@msqr.us) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA * =================================================================== * $Id: RegisterConfirmController.java 28 2009-05-04 01:19:45Z msqr $ * =================================================================== */ package magoffin.matt.ieat.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import magoffin.matt.ieat.AuthorizationException; import magoffin.matt.ieat.biz.BizContext; import magoffin.matt.ieat.domain.User; import magoffin.matt.ieat.util.LogonCommand; import org.springframework.validation.BindException; import org.springframework.web.servlet.ModelAndView; /** * Controller for handing the registration confirmation request. * * @author Matt Magoffin (spamsqr@msqr.us) * @version $Revision: 28 $ $Date: 2009-05-04 13:19:45 +1200 (Mon, 04 May 2009) $ */ public class RegisterConfirmController extends AbstractEatCommandController { @Override protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { LogonCommand logonCommand = (LogonCommand)command; BizContext context = WebUtil.getBizContext(request, false); User user = null; try { user = userBiz.confirmRegisteredUser(logonCommand.getLogin(),logonCommand.getCode(), context); } catch ( AuthorizationException e ) { switch ( e.getReason() ) { case AuthorizationException.REGISTRATION_ALREADY_CONFIRMED: errors.reject("error.already.confirmed.registration","Registration already confirmed."); break; default: errors.reject("error.not.confirmed.registration", "Unable to confirm registration."); break; } return new ModelAndView(getErrorView(),errors.getModel()); } // log the user in WebUtil.saveUserSessionData(request,getDomainObjectFactory(),user); return new ModelAndView(getSuccessView(),errors.getModel()); } }