modelAndView.addObject("startTime", this.upTimeStartDate);
final double difference = System.currentTimeMillis() - this.upTimeStartDate.getTime();
modelAndView.addObject("upTime", calculateUptime(difference, new LinkedList<Integer>(Arrays.asList(NUMBER_OF_MILLISECONDS_IN_A_DAY, NUMBER_OF_MILLISECONDS_IN_AN_HOUR, NUMBER_OF_MILLISECONDS_IN_A_MINUTE, NUMBER_OF_MILLISECONDS_IN_A_SECOND, 1)), new LinkedList<String>(Arrays.asList("day","hour","minute","second","millisecond"))));
modelAndView.addObject("totalMemory", Runtime.getRuntime().totalMemory() / 1024 / 1024);
modelAndView.addObject("maxMemory", Runtime.getRuntime().maxMemory() / 1024 / 1024);
modelAndView.addObject("freeMemory", Runtime.getRuntime().freeMemory() / 1024 / 1024);
modelAndView.addObject("availableProcessors", Runtime.getRuntime().availableProcessors());
modelAndView.addObject("serverHostName", httpServletRequest.getServerName());
modelAndView.addObject("serverIpAddress", httpServletRequest.getLocalAddr());
modelAndView.addObject("casTicketSuffix", this.casTicketSuffix);