我使用以下代码添加期刊文章(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的数字。有没有人有这方面的经验?
答案 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);
}
}
有趣的是,新文章没有小图片的工作流程如下(仅限相关部分):