Search the FirstSpirit Knowledge Base
Hallo,
wir sind gerade dabei einen Upload-Hook zu implementieren. Dabei soll geprüft werden, ob im aktuellen Verzeichnis bereits eine Datei mit demselben Dateinamen existiert. Falls ja, so soll das bereits in der Medienverwaltung liegende Medium aktualisiert werden:
Das Überschreiben klappt soweit auch, allerdings sollte dann das durch den User hochgeladene Medium nach Abschluss der Aktualisierung wieder gelöscht werden:
Durch das Werfen einer UploadRejectedException klappt das zwar, sieht aber für den User natürlich sehr unschön aus.
Ich hatte stattdessen versucht das Medium in der postProcess-Methode zu löschen, dann tritt aber eine "java.lang.IllegalStateException: node 'visual_home_slider_5' (ID=9109016) not locked" Exception auf, obwohl das Medium explizit gelockt worden ist.
=> Frage: Geht das wirklich nur durch Werfen einer UploadRejectedException ? Oder geht es auch irgendwie schöner?
Viele Grüße,
Marc
Hallo Marc,
wenn ich den Code der delete Methode richtig verstehe, dann werden alle Locks des gelöschten Elementes in dieser Operation aufgehoben.
Die IllegalStateException fliegt laut Screenshot nicht in deinem Code. Ich vermute nach der Ausführung der postProcess Methode wird auf dem Bild noch etwas gemacht, wodurch der Fehler erzeugt wird.
Kannst du die Logik vielleicht umdrehen und das alte Medium löschen, anstatt das gerade hochgeladene?
Viele Grüße
Tim
Die Exception zu werfen finde auch alles andere als Elegant. Jetzt gerade fällt mir keine schönere Lösung ein -> das heißt nicht dass es sie nicht gibt, sondern dass ich zu faul bin zu suchen
Dass die Items nicht gelockt sind sollte eigentlich nicht passieren.... Aber eine Ferndiagnose ohne Quellcode gestaltet sich schwierig....
Wie wär's mit ein paar Zeilen code für die Community?
Viele Grüße
Martin
Der Code sieht im Prinzip dann wie folgt aus:
Dies führt dann zu folgender Fehlermeldung:
Wenn ich den Code für das Löschen des Medium auskommentiere, dann wird keine Exception geworfen, aber das Medium verbleibt dann natürlich in der Medienverwaltung.
Durch das Werfen der UploadRejectedException wird das Medium dann wie gewünscht entfernt, sieht aber für den User unschön aus:
Hallo Marc,
wenn ich den Code der delete Methode richtig verstehe, dann werden alle Locks des gelöschten Elementes in dieser Operation aufgehoben.
Die IllegalStateException fliegt laut Screenshot nicht in deinem Code. Ich vermute nach der Ausführung der postProcess Methode wird auf dem Bild noch etwas gemacht, wodurch der Fehler erzeugt wird.
Kannst du die Logik vielleicht umdrehen und das alte Medium löschen, anstatt das gerade hochgeladene?
Viele Grüße
Tim
Hallo Marc,
benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Tim bereits geholfen?
In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.
Viele Grüße
Martin