Ist es möglich, eine curation task
einzuschränken, die nur ausgeführt wird, wenn sie für ein einzelnes Element aufgerufen wird und abgebrochen wird, wenn sie für eine Community, Sammlung oder den gesamten DSpace aufgerufen wird?Einschränken der Kuratierungsaufgabe auf * single * item
Ich weiß, dass es möglich ist, ein curation task
zu beschränken nur Artikel s im Gegensatz zu Gemeinden und Sammlungen zu verarbeiten, aber das ist nicht das, was ich suche.
Hintergrund:
Ich habe ein curation task
, die eine E-Mail über einen Gegenstand sendet.
Es soll für einen einzelnen Artikel aufgerufen werden.
Wenn jemand versehentlich auf eine Sammlung oder den gesamten DSpace aufruft, würde es Tausende von E-Mails senden, was natürlich ein Problem wäre.
Auf diese Weise kann ich ein 'Community' /' Collection' Objekt überspringen, aber die 'Objekte' der Community/Sammlung werden noch verarbeitet. Es scheint, dass dieses Verhalten in der 'Curator'-Klasse' Curator'-Klasse implementiert ist, die 'distribute'-Methode in' AbstractCurationTask' scheint überhaupt nicht dabei zu sein. – MartinW
Sie haben Recht!Sie können wahrscheinlich die @Suspendable-Annotation über die Curation-Aufgabe verwenden und CURATE_FAIL anstelle von CURATE_SKIP zurückgeben, wenn die Dso kein Item ist (Ich habe dies nicht getestet, aber es sollte durch Code-Inspektion funktionieren) – abollini
Ja, es funktioniert, wenn Sie 'verwenden CURATE_FAIL' anstelle von 'CURATE_SKIP', aber nur so lange, wie Sie davon ausgehen, dass das Kurationssystem den Container vor den einzelnen Elementen verarbeitet (was es im Moment tut). Aber ich habe eine bessere Lösung gefunden, indem ich die Annotation '@ Distributive' verwendet habe. Siehe meine eigene Antwort. – MartinW