public JournalArticle copyArticle(
      long groupId, String oldArticleId, String newArticleId, boolean autoArticleId, double version)
      throws PortalException, SystemException {

    JournalPermission.check(getPermissionChecker(), groupId, ActionKeys.ADD_ARTICLE);

    return journalArticleLocalService.copyArticle(
        getUserId(), groupId, oldArticleId, newArticleId, autoArticleId, version);
  }
  public JournalArticle approveArticle(
      long groupId,
      String articleId,
      double version,
      String articleURL,
      ServiceContext serviceContext)
      throws PortalException, SystemException {

    User user = getUser();

    JournalPermission.check(getPermissionChecker(), groupId, ActionKeys.APPROVE_ARTICLE);

    return journalArticleLocalService.approveArticle(
        user.getUserId(), groupId, articleId, version, articleURL, serviceContext);
  }
  public JournalArticle addArticle(
      long groupId,
      String articleId,
      boolean autoArticleId,
      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,
      String articleURL,
      ServiceContext serviceContext)
      throws PortalException, SystemException {

    JournalPermission.check(getPermissionChecker(), groupId, ActionKeys.ADD_ARTICLE);

    return journalArticleLocalService.addArticle(
        getUserId(),
        groupId,
        articleId,
        autoArticleId,
        title,
        description,
        content,
        type,
        structureId,
        templateId,
        displayDateMonth,
        displayDateDay,
        displayDateYear,
        displayDateHour,
        displayDateMinute,
        expirationDateMonth,
        expirationDateDay,
        expirationDateYear,
        expirationDateHour,
        expirationDateMinute,
        neverExpire,
        reviewDateMonth,
        reviewDateDay,
        reviewDateYear,
        reviewDateHour,
        reviewDateMinute,
        neverReview,
        indexable,
        false,
        null,
        null,
        null,
        articleURL,
        serviceContext);
  }