阔叶 AdminAuditableListener 中的 NullPointerException

NullPointerException in broadleaf AdminAuditableListener

在 5.0.x 版本中,AdminAuditable 字段已从 类 中删除,例如 PageImpl 或 StructuredContentImpl,但它们保留了

@EntityListeners(value = { AdminAuditableListener.class })

..这导致 AdminAuditableListener 中出现 NullPointerException,因为反射的可审计字段不存在

因为在 5.0.2 中添加一个页面在管理中导致相同的错误,但在 5.0.3 中已修复。 现在,添加结构化内容项也会发生同样的事情。

基于两者之间的比较(我不理解所有阔叶注释 - 稀疏的非企业文档)我通过扩展 StructuredContentImpl 并用

注释成功地克服了这个问题
@DirectCopyTransformMember(templateTokens = DirectCopyTransformTypes.AUDITABLE_ONLY)

我的问题是:它真的是一个 bug 还是我遗漏了什么,因为对 broadleaf 的熟悉程度低,开发人员制造和测试人员监督可审计重构的多个相同 bug 的可能性很小?

@Zildyan 正如您发现的那样,您在 5.0.2 中描述的 PageImpl 问题已在 5.0.3 中修复。您对 DirectCopyTransformMember/AUDITABLE_ONLY 的评价是正确的。这将是必需的,以便在涉及 Auditable 侦听器时可以使用适当的列。您对 StructuredContent 的解决方法也是正确的。

已删除使用 StructuredContentImpl 的方法作为内容的默认方法以支持 ContentItems (Enterprise)。这可能就是为什么这没有在测试中浮出水面的原因。我会将其添加为要在社区版中修复的项目。