我需要为 Liferay 文档库中的大量文件更改文档类型 (FileEntryType),但我无法这样做。
经过数小时的谷歌搜索、测试和熟悉 Liferay Github 存储库后,我决定来这里寻求帮助。
这是我用过的:
ServiceContext serviceContext = new ServiceContext();
List<DLFileEntry> filesToBeUpdated = DLFileEntryServiceUtil.getFileEntries(
groupId, 0, fileEntryTypeId,
0, 10000, OrderByComparator);
for (DLFileEntry file : filesToBeUpdated) {
System.out.println("Changing file: "+ file.getName());
serviceContext.setAttribute("fileEntryTypeId", fileEntryTypeId);
DLAppServiceUtil.updateFileEntry(file.getFileEntryId(), file.getName(),
file.getMimeType(), null, file.getDescription(),
null, false, null, file.getSize(), serviceContext);
}
我用于测试的文件已正确找到。问题在于 for 循环中的更新:它总是抛出 PortletException。如何正确更改 FileEntryType?