1

ターゲットの関連付けを持つカスタム コンテンツ タイプがあります。関連付けが削除されたときに何らかのアクションを実行するポリシーを設定したいと考えています。いつも別のポリシーを書いているので、このポリシーを書きましたが、何らかの理由で機能しません。OnDeleteAssociationPolicy 実装の私の init() は次のようになります。

policyComponent.bindClassBehaviour(
    QNAME,
    PublishModel.pubWebContent,
    new JavaBehaviour(this, QNAME.toPrefixString(), NotificationFrequency.EVERY_EVENT)
);

PublishModel.pubWebContent は、カスタム コンテンツ タイプの qname です。onDeleteAssociation() が呼び出されたときに、どの関連付けが削除されたかを確認する必要があると思います。しかし、このメソッドは、関連付けの削除後に呼び出されることはありません:(。このポリシーを設定するにはどうすればよいですか? PublishModel.pubWebContent の代わりに PublishModel.pubMyAssociation を提供する必要があります (これも機能しません)。

4

1 に答える 1

0

少しグーグルで検索したところ、動作するコードが見つかりました。これは、そのポリシーを機能させるのに役立ちました。ポイントは、 bindClassBehavior メソッドの代わりに bindAssociationBehaviorを使用することです。したがって、作業ビンギングは次のようになります。

policyComponent.bindAssociationBehaviour(
    QNAME,
    PublishModel.pubWebContent,
    PublishModel.pubGroupAssociation,
    onDeleteAssociation
);
于 2012-09-19T09:29:55.970 に答える