package ua.sergiishapoval.carrental.command; import org.apache.commons.beanutils.BeanUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ua.sergiishapoval.carrental.model.User; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Created by Сергей on 22.12.2014. */ public class CommandTemplate implements Command { private static final Logger logger = LoggerFactory.getLogger(CommandTemplate.class); @Override public void execute(HttpServletRequest request, HttpServletResponse response) { infoRedirect(request, response, "BAD_COMMAND" ); } public void infoRedirect(HttpServletRequest request, HttpServletResponse response, String message){ RequestDispatcher requestDispatcher = request.getRequestDispatcher("/info.tiles"); request.setAttribute("info", message); dispatcherForward(request, response, requestDispatcher); } public void dispatcherForward(HttpServletRequest request, HttpServletResponse response, RequestDispatcher requestDispatcher) { try { requestDispatcher.forward(request, response); } catch (Exception e) { logger.error("Forward", e); } } public boolean isAccessNotPermitted(HttpServletRequest request, HttpServletResponse response) { User user = (User) request.getSession().getAttribute("user"); if (user == null || !user.getIsAdmin() ) { infoRedirect(request, response, "LOG_IN_WARN"); return true; } return false; } public User getUserFromParameters(HttpServletRequest request) { User user = new User(); try { BeanUtils.populate(user, request.getParameterMap()); } catch (ReflectiveOperationException e) { logger.error("BeanUtilsError", e); } return user; } public RequestDispatcher getSamePageDispatcher(HttpServletRequest request) { String[] path = request.getServletPath().split("/"); if (path.length < 2) return request.getRequestDispatcher("/index" +".tiles"); return request.getRequestDispatcher("/"+ path[1] +".tiles"); } }