2013-12-11 44 views
0

我用下面的代碼來添加期刊文章(liferay的6.1):在liferay中添加期刊文章時添加了小圖像ID auto?

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。但是,在添加新期刊文章時,在日記表中,SmallImageId列總是添加一個我期待的數字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. 保存圖像(你不想),這actualy嘗試,你不刪除圖片有