jabel
Occasional Observer

Media element löschen - IllegalStateException not locked

Jump to solution

Hallo,

ich habe ein Problem mit der IllegalStateException (not locked), wenn durch ein Modul mit media.delete() ein Medienelement gelöscht wird.

Erstmal der grundlegende Ablauf wo dieses Problem auftritt:

Es wird ein Video in den Media Store von FirstSpirit geladen. Durch den MediaStoreListener in einem Modul wird für den User ein GUI-Fenster angezeigt zur Eingabe von Titel, Beschreibung, Channel etc. des Videos. Nach der Eingabe wird das Video mit den Daten in das eigentliche externe Videoportal geladen und soll in FirstSpirit durch ein "DummyImage" mit dem Referenznamen und Metadaten des Videos ersetzt werden.

Dazu hole ich mir die Daten vom Medienelement, lösche dieses mit media.delete( ) und erstelle dann mit createMedia(...) ein Bild mit Referenznamen des Videos und füge daran ein erzeugtes Dataset als Metadaten an.

Das ganze funktioniert, wenn das Video per drag-and-drop in einen Ordner im Media Store hinzugefügt wird.

Fügt man das Video über den "Create Media"-Eingabedialog hinzu, funktioniert im Prinzip auch alles richtig und es wird das "DummyImage" mit den Metadaten erstellt, sowie das Video gelöscht. Jedoch bekomme ich ganz am Ende eine "not locked"-IllegalStateException für das gelöschte Medienelement. Ich habe bereits so ziemlich alle Möglichkeiten durchprobiert, das Medienelement vor dem Löschen zu locken/entlocken oder auch den Ordner zu locken/entlocken. Problem scheint zu sein das das Medienelement durch das erstellen automatisch im Bearbeitungsmodus ist, was bei der drag-and-drop Methode nicht der Fall ist.

Gibt es eine Möglichkeit diese Exception zu verhindern?

0 Kudos
1 Solution

Accepted Solutions
thmarx
I'm new here

Hallo Herr Abel,

Das Problem ist, dass das Medium in Bearbeitung ist. Sie müssten den Bearbeitungsmodus beenden, was aber nicht gehen dürfte.

Eine Möglichkeit wäre, den MediaStoreListener so anzupassen, dass er, sollte das Medium gerade gespeert sein, es später einfach noch einmal probiert.

Viele Grüße

Thorsten Marx

View solution in original post

0 Kudos
1 Reply
thmarx
I'm new here

Hallo Herr Abel,

Das Problem ist, dass das Medium in Bearbeitung ist. Sie müssten den Bearbeitungsmodus beenden, was aber nicht gehen dürfte.

Eine Möglichkeit wäre, den MediaStoreListener so anzupassen, dass er, sollte das Medium gerade gespeert sein, es später einfach noch einmal probiert.

Viele Grüße

Thorsten Marx

0 Kudos