Java 如何在OpenCms中从CmsResource获取上次发布的日期

Java 如何在OpenCms中从CmsResource获取上次发布的日期,java,opencms,Java,Opencms,我无法获取资源的最后发布日期。使用OpenCMSAPI无法做到这一点。 这很奇怪,它必须存储在某个地方,因为OpenCms Workplace在历史记录选项中显示了这些信息 CmsResource类中的getDateReleased()方法始终返回DATE_RELEASED_DEFAULT,直到您设置资源的可用性 有什么想法吗? 谢谢 最后,我通过挖掘OpenCms的源代码实现了这一点。 我在getListItems方法中找到了解决方案: 因此,我构建此方法是为了从任何资源中获取上次发布的

我无法获取资源的最后发布日期。使用OpenCMSAPI无法做到这一点。

这很奇怪,它必须存储在某个地方,因为OpenCms Workplace在历史记录选项中显示了这些信息

CmsResource类中的getDateReleased()方法始终返回DATE_RELEASED_DEFAULT,直到您设置资源的可用性

有什么想法吗?
谢谢

最后,我通过挖掘OpenCms的源代码实现了这一点。 我在getListItems方法中找到了解决方案:

因此,我构建此方法是为了从任何资源中获取上次发布的日期:

public static Date getLastPublishedDate(CmsJspActionElement cms, CmsResource resource) throws Exception {
    CmsObject cmso = cms.getCmsObject();
    String sitePath = cmso.getSitePath(resource);

    if (cmso.readAllAvailableVersions(sitePath).size() > 0) {
        I_CmsHistoryResource histRes = cmso.readAllAvailableVersions(sitePath).get(0);
        int publishTag = histRes.getPublishTag();
        CmsHistoryProject project = cmso.readHistoryProject(publishTag);            
        return new Date(project.getPublishingDate());                                   
    } else {
        return null;
    }   
}
如果返回NULL,则资源尚未发布