protected void fillFeedWithCurrent(GuiFeed feed) {
    List<StaleGroup> groups = dao.retrieveCurrentStale();
    log.debug("Got " + groups.size() + " stale groups");

    if (!groups.isEmpty()) {
      feed.setUpdated(new Date(groups.get(0).getUpdated()));
      Long fromUpdated =
          dao.updatedLessThanUpdatedOf(Long.valueOf(groups.get(groups.size() - 1).getUpdated()));
      if (fromUpdated != null) {
        feed.setPrevArchive(feed.getId() + "archive/" + fromUpdated);
      }
    }
    feed.setEntries(new ArrayList<GuiEntry>());
    for (StaleGroup g : groups) {
      GuiEntry ge = transformToGuiEntry(g);
      feed.getEntries().add(ge);
    }
  }
 protected GuiFeed createFeedWithDefaults(HttpServletRequest req) {
   GuiFeed feed = new GuiFeed();
   int lifetimeSeconds = dao.resolveLifetimeSeconds();
   feed.setLifetime(lifetimeSeconds);
   feed.setPrecision(StaleGroupMongoDao.RESOLUTION_SECONDS);
   feed.setSelf(req.getRequestURL().toString());
   feed.setUpdated(new Date());
   /*
          log.info("--------------- *-PathTranslated: "+req.getPathTranslated()+
           "\nContextPath: "+req.getContextPath()+
           "\nPathInfo: "+req.getPathInfo()+
           "\nreqURI: "+req.getRequestURI()+
           "\nServletPath(): "+req.getServletPath()+
           "\nRequestURL(): "+req.getRequestURL()
   );
   */
   String pathInfo = req.getPathInfo();
   if (pathInfo == null) {
     pathInfo = req.getServletPath();
   }
   // Id shall typically be http://somewhere:port/atomizer/event/
   feed.setId(feed.getSelf().substring(0, (feed.getSelf().indexOf(pathInfo)) + 1) + "event/");
   feed.setTitle("Atomizer");
   feed.setEntries(new ArrayList<GuiEntry>());
   String host = null;
   try {
     host = new URL(req.getRequestURL().toString()).getHost();
   } catch (MalformedURLException ex) {
     log.error(
         "Could not extract hostname from the requestURL. Defaulting to localhost. Masked exception: "
             + ex);
     host = "localhost";
   }
   feed.setAuthor(host);
   return feed;
 }