@Override
  public void doView(RenderRequest request, RenderResponse response)
      throws IOException, PortletException {
    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long groupId = themeDisplay.getScopeGroupId();

    PortletPreferences preferences = request.getPreferences();
    boolean showAnnouncer = false;
    if (themeDisplay.isSignedIn()) {
      String articleVersionId = preferences.getValue(ARTICLE_ID_CONSECUTIVE, LR_EMPTY_VALUE);
      String articleIds = preferences.getValue(ARTICLE_ID, LR_EMPTY_VALUE);
      if (!articleIds.equals(LR_EMPTY_VALUE)) {
        for (String articleId : articleIds.split(ARTICLE_SELECTION_DELIMITER)) {
          if (!AnnouncerTools.isArticle(groupId, articleId)) {
            AnnouncerTools.removeArticle(preferences, themeDisplay, articleId);
          }
          try {
            String layoutPK = String.valueOf(themeDisplay.getLayout().getPrimaryKey());
            showAnnouncer =
                AnnouncerTools.showAnnouncer(
                    themeDisplay.getRealUser().getUuid(), layoutPK, articleVersionId);
            request.setAttribute(ARTICLE_VERSION_ID, articleVersionId);
          } catch (SystemException e) {
            LOG.error(e);
          }
        }
      }
    }
    request.setAttribute(GROUP_ID, groupId);
    request.setAttribute(SHOW_ANNOUNCER, showAnnouncer);
    request.setAttribute(SIGNED_IN, themeDisplay.isSignedIn());
    String defaultArticle = preferences.getValue(DEFAULT_ARTICLE, LR_EMPTY_VALUE);
    request.setAttribute(DEFAULT_ARTICLE, defaultArticle);

    super.doView(request, response);
  }