Package net.baguajie.web.mvc.interceptors

Source Code of net.baguajie.web.mvc.interceptors.PreferenceInterceptor

package net.baguajie.web.mvc.interceptors;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.baguajie.constants.ApplicationConstants;
import net.baguajie.constants.UserStatus;
import net.baguajie.domains.User;
import net.baguajie.domains.UserPreference;
import net.baguajie.repositories.UserPreferenceRepository;
import net.baguajie.web.utils.SessionUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class PreferenceInterceptor extends HandlerInterceptorAdapter {

  @Autowired
  UserPreferenceRepository userPreferenceRepository;
  @Autowired
  private SessionUtil sessionUtil;

  public boolean preHandle(HttpServletRequest request,
      HttpServletResponse response, Object handler) throws Exception {
    HttpSession session = request.getSession(true);
    User signInUser = sessionUtil.getSignInUser(session);
    UserPreference up = sessionUtil.getSignInUserPrefer(session);
    if (signInUser != null && signInUser.getStatus() == UserStatus.INVALID) {
      session.removeAttribute(ApplicationConstants.SESSION_SIGNIN_USER);
    } else {
      if (signInUser != null && up == null) {
        up = userPreferenceRepository.getByUser(signInUser);
        sessionUtil.setSignInUserPrefer(up, session);
      } else if (signInUser == null && up == null) {
        up = sessionUtil.getDefaultPrefer();
        sessionUtil.setSignInUserPrefer(up, session);
      } else {
        ;// nothing
      }
    }
    return true;
  }
}
TOP

Related Classes of net.baguajie.web.mvc.interceptors.PreferenceInterceptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.