public JournalArticle getArticle(long groupId, String articleId, double version)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);

    return journalArticleLocalService.getArticle(groupId, articleId, version);
  }
  public JournalArticle updateContent(
      long groupId, String articleId, double version, String content)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);

    return journalArticleLocalService.updateContent(groupId, articleId, version, content);
  }
  public JournalArticle removeArticleLocale(
      long groupId, String articleId, double version, String languageId)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);

    return journalArticleLocalService.removeArticleLocale(groupId, articleId, version, languageId);
  }
  public String getArticleContent(
      long groupId, String articleId, double version, String languageId, ThemeDisplay themeDisplay)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.VIEW);

    return journalArticleLocalService.getArticleContent(
        groupId, articleId, version, null, languageId, themeDisplay);
  }
  public JournalArticle getArticleByUrlTitle(long groupId, String urlTitle)
      throws PortalException, SystemException {

    JournalArticle article = journalArticleLocalService.getArticleByUrlTitle(groupId, urlTitle);

    JournalArticlePermission.check(getPermissionChecker(), article, ActionKeys.VIEW);

    return article;
  }
  public void expireArticle(
      long groupId,
      String articleId,
      double version,
      String articleURL,
      ServiceContext serviceContext)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.EXPIRE);

    journalArticleLocalService.expireArticle(
        groupId, articleId, version, articleURL, serviceContext);
  }
  public JournalArticle updateArticle(
      long groupId,
      String articleId,
      double version,
      boolean incrementVersion,
      String title,
      String description,
      String content,
      String type,
      String structureId,
      String templateId,
      int displayDateMonth,
      int displayDateDay,
      int displayDateYear,
      int displayDateHour,
      int displayDateMinute,
      int expirationDateMonth,
      int expirationDateDay,
      int expirationDateYear,
      int expirationDateHour,
      int expirationDateMinute,
      boolean neverExpire,
      int reviewDateMonth,
      int reviewDateDay,
      int reviewDateYear,
      int reviewDateHour,
      int reviewDateMinute,
      boolean neverReview,
      boolean indexable,
      boolean smallImage,
      String smallImageURL,
      File smallFile,
      Map<String, byte[]> images,
      String articleURL,
      ServiceContext serviceContext)
      throws PortalException, SystemException {

    JournalArticlePermission.check(getPermissionChecker(), groupId, articleId, ActionKeys.UPDATE);

    return journalArticleLocalService.updateArticle(
        getUserId(),
        groupId,
        articleId,
        version,
        incrementVersion,
        title,
        description,
        content,
        type,
        structureId,
        templateId,
        displayDateMonth,
        displayDateDay,
        displayDateYear,
        displayDateHour,
        displayDateMinute,
        expirationDateMonth,
        expirationDateDay,
        expirationDateYear,
        expirationDateHour,
        expirationDateMinute,
        neverExpire,
        reviewDateMonth,
        reviewDateDay,
        reviewDateYear,
        reviewDateHour,
        reviewDateMinute,
        neverReview,
        indexable,
        smallImage,
        smallImageURL,
        smallFile,
        images,
        articleURL,
        serviceContext);
  }