Coverage report

  %line %branch
net.sf.mindoro.web.LoginFormController
0% 
0% 

 1  
 /*
 2  
  * Created on Jun 1, 2005
 3  
  *
 4  
  * TODO To change the template for this generated file go to
 5  
  * Window - Preferences - Java - Code Style - Code Templates
 6  
  */
 7  
 package net.sf.mindoro.web;
 8  
 
 9  
 import java.util.Date;
 10  
 import java.util.Hashtable;
 11  
 import java.util.Map;
 12  
 
 13  
 import javax.servlet.http.HttpServletRequest;
 14  
 import javax.servlet.http.HttpServletResponse;
 15  
 
 16  
 import net.sf.mindoro.commons.util.Sha256Util;
 17  
 import net.sf.mindoro.domain.SecurityFacade;
 18  
 import net.sf.mindoro.model.SystemUser;
 19  
 
 20  
 import org.springframework.validation.BindException;
 21  
 import org.springframework.validation.Errors;
 22  
 import org.springframework.validation.Validator;
 23  
 import org.springframework.web.servlet.ModelAndView;
 24  
 import org.springframework.web.servlet.mvc.SimpleFormController;
 25  
 
 26  
 
 27  
 /**
 28  
  * TODO change the description of LoginFormController
 29  
  * 
 30  
  * @author aisrael
 31  
  */
 32  
 public final class LoginFormController extends SimpleFormController {
 33  
 
 34  
     /**
 35  
      * LoginFormValidator
 36  
      * 
 37  
      * @author aisrael
 38  
      */
 39  
     class LoginFormValidator implements Validator {
 40  
 
 41  
         /**
 42  
          * (non-Javadoc)
 43  
          * 
 44  
          * @see org.springframework.validation.Validator#supports(java.lang.Class)
 45  
          */
 46  
         public boolean supports(final Class c) {
 47  0
             return (LoginForm.class == c);
 48  
         }
 49  
 
 50  
         /**
 51  
          * (non-Javadoc)
 52  
          * 
 53  
          * @see org.springframework.validation.Validator#validate(java.lang.Object,
 54  
          *      org.springframework.validation.Errors)
 55  
          */
 56  
         public void validate(final Object o, class="keyword">final Errors errors) {
 57  
             final LoginForm loginForm = (LoginForm) o;
 58  
             if (null == loginForm.getUsername() || loginForm.getUsername().trim().length() == 0) {
 59  
                 errors.rejectValue("username", "error.login.usernameRequired");
 60  
             }
 61  
             if (null == loginForm.getPassword() || loginForm.getPassword().trim().length() == 0) {
 62  
                 errors.rejectValue("password", "error.login.passwordRequired");
 63  
             }
 64  
         }
 65  
 
 66  
     }
 67  
 
 68  0
     private final LoginFormValidator loginFormValidator = new LoginFormValidator();
 69  
 
 70  
     private final SecurityFacade securityFacade;
 71  
 
 72  
     /**
 73  
      * @param securityFacade
 74  
      *            SecurityFacade
 75  
      */
 76  0
     public LoginFormController(final SecurityFacade securityFacade) {
 77  0
         setCommandClass(LoginForm.class);
 78  0
         setValidateOnBinding(true);
 79  0
         setValidator(this.loginFormValidator);
 80  0
         this.securityFacade = securityFacade;
 81  0
     }
 82  
 
 83  
     /**
 84  
      * (non-Javadoc)
 85  
      * 
 86  
      * @see org.springframework.web.servlet.mvc.SimpleFormController#onSubmit(javax.servlet.http.HttpServletRequest,
 87  
      *      javax.servlet.http.HttpServletResponse, java.lang.Object,
 88  
      *      org.springframework.validation.BindException)
 89  
      */
 90  
     protected ModelAndView onSubmit(final HttpServletRequest request, class="keyword">final HttpServletResponse response,
 91  
             final Object command, class="keyword">final BindException errors) throws Exception {
 92  0
         final LoginForm loginForm = (LoginForm) command;
 93  
         final ModelAndView result;
 94  0
         final SystemUser user = new SystemUser(null, loginForm.getUsername(), Sha256Util.hash(loginForm.getPassword()));
 95  0
         if (null != securityFacade.authenticate(user)) {
 96  0
             errors.reject("error.login.invalidLogin");
 97  0
             result = showForm(request, response, errors);
 98  
         } else {
 99  0
             final Map map = new Hashtable();
 100  0
             map.put("now", new Date());
 101  0
             map.put("loggedInUser", loginForm.getUsername());
 102  0
             map.put("properties", WebUtil.getRequestProperties(request));
 103  0
             result = new ModelAndView(getSuccessView(), map);
 104  
         }
 105  0
         return result;
 106  
     }
 107  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.