在liferay中添加期刊文章时添加了小图片ID?

时间:2013-12-11 11:21:56

标签: liferay-6

我使用以下代码添加期刊文章(liferay 6.1):

JournalArticle ja = JournalArticleLocalServiceUtil.addArticle(
userId, groupId, 0, 0, StringPool.BLANK, true,
JournalArticleConstants.VERSION_DEFAULT, titleMap, descriptionMap,
content, "general", structureId, templateId, StringPool.BLANK,
1, 1, 2008, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, 0, 0, 0, true,
true, false, StringPool.BLANK, null, null, StringPool.BLANK,
serviceContext);

为简单起见,我省略了代码的某些部分。如参数中指定的那样,smallImage = false。但是,在添加新的期刊文章时,在journalarticle表中,SmallImageId列总是添加一个我期望为0的数字。有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

Reaseon逃避了我,但是由于JournalArticleLocalServiceUtil.addArticle方法的这一部分

,这种行为与预期的一致(如编程)
article.setSmallImage(smallImage);
article.setSmallImageId(counterLocalService.increment());
article.setSmallImageURL(smallImageURL);

仅在方法的后期

saveImages(smallImage, article.getSmallImageId(), smallImageFile, smallImageBytes);

这只是检查smallImage布尔参数

的一部分
protected void saveImages(
        boolean smallImage, long smallImageId, File smallImageFile,
        byte[] smallImageBytes)
    throws PortalException, SystemException {

    if (smallImage) {
        if ((smallImageFile != null) && (smallImageBytes != null)) {
            imageLocalService.updateImage(smallImageId, smallImageBytes);
        }
    }
    else {
        imageLocalService.deleteImage(smallImageId);
    }
}

有趣的是,新文章没有小图片的工作流程如下(仅限相关部分):

  1. 制作新文章
  2. 保存图像(您不想要的),它会尝试删除您没有的图像