Questions & Answers

zeschke
I'm new here

Auf im MediaStore angezeigte Medien/Ordner kann nicht mit getStoreElement(uid, uidType) zugegriffen werden

Hallo Community,

aktuell haben wir ein Problem mit der API von FirstSpirit.

Ausgangssituation:

รœber eine Schnittstelle werden zahlreiche Medieninhalte importiert und durch das Modul werden die Inhalte ihren ensptechneden Ordnern und Unterordnern zugewiesen.

Fรผr das Zuordnen von Medien werden entweder vorhandene Ordner gesucht und dann verwendet, oder wenn keine Vorhanden sind Neue angelegt.

Problem:

Es kommt vor, dass Unterordner durch das Modul nicht gefunden werden, obwohl diese eindeutig im Strukturbaum der Medien-Verwaltung sichtbar sind. In diesem Fall kommt es dann zu einer DuplicateReferenceNameException.

Fรผr das Finden eines Ordners verwenden wir getStoreElement auf den jeweiligen Vaterknoten, der ebenfalls ein MediaOrdner ist.

Zum Vergleich findet eine Suche nach Kindern dieses Knotens mit getChildren() auch solche Elemente, fรผr die getStoreElement null liefert.

Fragen:

Die Frage ist nun, warum es zu einer Differenz bei den beiden Methoden kommen kann?

Woran kann es liegen das das Element durch eine gefunden wird, durch eine andere jedoch ignoriert wird?

Und warum liefert getStoreElement manchmal das richtige Element zurรผck?

Codebeispiel:

(MediaFolder) rootMediaFolder.getStore().getStoreElement(uid, UidType.MEDIASTORE_FOLDER);

      -> gibt null zurรผck

for(StoreElement se : rootMediaFolder.getChildren())

     -> gibt Element mit aus

danke schonmal fรผr das Feedback und viele GrรผรŸe,

Robert

0 Kudos
3 Replies
feddersen
Community Manager

Hallo Robert,

wahrscheinlich ist es sinnvoll, dass du dich mit einem konkreten Fall des Problems an unseren Helpdesk wendest, damit man untersuchen kann, wieso es an dem konkreten Medium/Ordner zu Problemen kommt. So allgemein wird man die Frage wohl nicht beantworten kรถnnen.

Viele GrรผรŸe

Christoph

0 Kudos
Peter_Jodeleit
Crownpeak employee

Hast du folgenden Code benutzt?

for(StoreElement se : rootMediaFolder.getChildren()) {

     if (uid.equals(se.get(uid)) && UidType.MEDIASTORE_FOLDER.equals(se.getUidType())) {

          System.out.println("found " + se);

     }

}

System.out.println("found? " + rootMediaFolder.getStore().getStoreElement(uid, UidType.MEDIASTORE_FOLDER));

Peter
0 Kudos

Danke fรผr die Hinweise,

ein Ticket mit weiteren Einzelheiten zum Projekt habe ich beim Helpdesk erstellt.

Fรผr unsrenen Test haben wir uns einige Attribute wie den Namen des Kindes ausgeben lassen, eine Prรผfung haben wir nicht eingebaut.

Inzwischen haben wir erfahren, dass der Zustand auch an den verschiedenen Stores fรผr Freigegebene und nicht freigegebene Elemente im FirstSpirit liegen kรถnnte.

0 Kudos

Type a product name