防止在Alfresco Share中添加Aspect

时间:2015-02-03 08:24:43

标签: java alfresco alfresco-share

大多数教程都没有考虑到这一点,但我想在很多情况下节点不能满足自定义方面的所有要求。

我发现这种情况的唯一方法是开发一个行为,并在beforeAddAspect中抛出一个Alfresco运行时异常。

通过将一个前添加方面分类注册为FIRST_EVENT

来实现这一点
this.beforeAddAspect = new JavaBehaviour(this, BEFORE_ADD_ASPECT, NotificationFrequency.FIRST_EVENT);

然后抛出错误本身:

@Override
    public void beforeAddAspect(NodeRef nodeRef, QName aspectTypeQName) {
        if(!hasRequirements())) {
           throw AlfrescoRuntimeException.create("error.my.message", new Object[]{......});
        }

    }

我想知道我是否做得对,或者是否有任何其他解决方案不会引发错误。

这种"错误方法"也有一个缺点,错误信息无法自定义,用户正在获得标准错误。

基本上,如上所述,这是一个自定义方面,在开发时是一个标记方面(暂时)。根据要求,让我提供一些有关该主题的详细信息:

  • Aspect只适用于内容类型,并且可选地(希望)仅适用于特定的mimetype。
  • 通过应用方面,启动节点上的一些操作:标记,计算变量等。用户希望如果节点有方面,则会发生其他一些事情。
  • 一切都发生在共享UI外围,用户以经典方式应用方面,但他也有很少的节点视图可用的快捷方式操作,它们执行相同的操作/删除方面。唯一的区别是该操作会向用户提供自定义的反馈错误/成功。

我正在使用Alfresco 4.2f

1 个答案:

答案 0 :(得分:0)

关于错误信息。您可以通过以下方式实现。

您可以从hasRequirements函数返回错误代码。根据错误代码或成功代码,您可以显示消息。

您的方法是实现业务需求的最佳方法。您只能使用政策来实现。

希望这有助于:)