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?