@RequestMapping(value="/drink", method=RequestMethod.GET)
    public String drink(@RequestParam("id") String id, HttpSession session) {
        String to = "redirect:main";
        
        // check for user object
        final Object userObj = session.getAttribute(Constants.USER);
        if (userObj != null) {
            try {
                // parse the drink id
                final int intId = Integer.parseInt(id);
                // we will go to the drink view, set it at this point
                to = "drink";
            
                // see if the drink attr has already been set or whether we need
                // to retrieve it
                final Object drinkAttrObj = session.getAttribute(Constants.DRINK);
                if (drinkAttrObj == null || ((MappedDrink)drinkAttrObj).getDrinkId() != intId) {
                    session.setAttribute(Constants.DRINK, drinkService.findDrink(intId));
                }
                
            } catch (Exception e) {
                log4jLogger.error(Conca.t("Error parsing id [", id, "]"), e);
                to = "redirect:main";
            }
        } else {
            session.setAttribute(Constants.RETURN_PATH, Conca.t("redirect:drink?id=", id));
            to = "redirect:login";
        }
        
        return to;
    }