Я хочу обновить Liferay Web Content, создав новую версию, поэтому я написал этот скрипт Groovy:
import com.liferay.portal.service.ServiceContext
import com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil
long companyId=10154
long userId=12328
long groupId=17074933
long folderId = 0
String articleId="17075078"
double version=1
String content='<?xml version="1.0"?><root available-locales="en_US" default-locale="en_US"><static-content language-id="en_US"><![CDATA[Bonjour]]></static-content></root>'
ServiceContext serviceContext = new com.liferay.portal.service.ServiceContext()
serviceContext.setAddCommunityPermissions(true)
serviceContext.setAddGuestPermissions(true)
serviceContext.setScopeGroupId(groupId)
serviceContext.setCompanyId(companyId)
serviceContext.setUserId(userId)
JournalArticleLocalServiceUtil.updateArticle(
userId, groupId, folderId, articleId, version, content, serviceContext)
К сожалению, консоль скрипта Groovy не работает, и catalina.out
содержит только эту минималистическую отладкуинформация:
null
Идентификаторы - это те, которые я нашел в веб-интерфейсе Liferay.Просто чтобы проверить, я проверил содержимое MySQL, значения верны:
mysql> select companyId, userId, groupId, folderId, articleId, version from JournalArticle order by createDate desc limit 1;
+-----------+--------+----------+----------+-----------+---------+
| companyId | userId | groupId | folderId | articleId | version |
+-----------+--------+----------+----------+-----------+---------+
| 10154 | 12328 | 17074933 | 0 | 17075078 | 1 |
+-----------+--------+----------+----------+-----------+---------+
Что я делаю не так?
Я использую Liferay Portal Enterprise Edition 6.2.10 EE GA1.Тот же код хорошо работает на Liferay Portal Community Edition 6.2 CE GA6, поэтому мне может потребоваться обходной путь для достижения того, чего я хочу.
Когда я использую JournalArticleLocalServiceUtil.updateContent
, вместо этого он работает, но я не могу использовать его какон не создает новую версию веб-контента (он просто заменяет версию).