Questions & Answers

SOLVED
benjamin_nagel
I'm new here

Store Elemente in Reihenfolge auslesen / Read Store Element in order

Jump to solution

FS-Version: 5.0.318.57504

Hallo liebe Community,

ich versuche gerade den PageStore auszulesen. An sich ist das natรผrlich nicht schwer und funktioniert auch soweit ohne Probleme.

Nur die Sortierung ist nicht so ganz wie erwartet. Ich hรคtte gerne die Sortierung die man auch im JavaClient sieht. Wenn ich aber mit getChildren() die Liste aller Elemente bekomme, ist die Reihenfolge "willkรผrlich". Ich vermute, dass es nach dem Erzeugungsdatum sortiert ist.

Gibt es eine andere mit unbekannte Mรถglichkeit einen Store auszulesen und dabei die selbe Sortierung zu bekommen wie im JavaClient?

Liebe GrรผรŸe

Benjamin

------- English Version ---------------

Hello dear community,

I'm trying to read the PageStore. In itself this is of course not hard and works well so far without problems.

Only the sorting is not quite as expected. I would like to get the same ordering like in the JavaClient. But when I get the list of elements with the getChildren() method, I will get an "arbitary" order.
I suspect that it is sorted by creation date.

Is there another way to read a store and to get the same order as in the Java client?

Kind regards

Benjamin

Code example:

import de.espirit.firstspirit.agency.StoreAgent;

import de.espirit.firstspirit.access.store.pagestore.PageStoreRoot;

import java.util.List;

import de.espirit.firstspirit.access.store.StoreElement;

StoreAgent storeAgent = context.requestSpecialist(StoreAgent.TYPE);

PageStoreRoot store = (PageStoreRoot) storeAgent.getStore(Type.PAGESTORE);

List children = store.getChildren().toList();

for (StoreElement element : children) {

    // do something

}

0 Kudos
1 Solution

Accepted Solutions

Hallo Benjamin,

da der PageStore keine wirkliche Reihenfolge hat (im Client alphabetisch und nicht fachlich), gibt es auch keine Mรถglichkeit diese Reihenfolge per API abzufragen.

GrรผรŸe

Jan

View solution in original post

0 Kudos
5 Replies
tklein
I'm new here

Hallo Benjamin,

vorab:

Niemals: List children = store.getChildren().toList();

getChildren liefert dir ein Iterable zurรผck. รœber dass du per iterator() oder auch for-each iterieren kannst. Das toList() lรคd aber alle Objekte in den Speicher!

Nun zu deinem eigentlichen Problem:

Hilft es dir die Position mit StoreElement.getChildIndex(StoreElement child) abzufragen? Siehe dazu: http://www.e-spirit.com/odfs50/access/de/espirit/firstspirit/access/store/StoreElement.html#getChild...

Viele GrรผรŸe

Tobias

0 Kudos

Hallo Benjamin,

konnte Tobias' Antwort Dein Problem lรถsen oder benรถtigst Du noch weitere Antworten?

Sollte Tobias' Antwort bereits zu einer Lรถsung gefรผhrt haben, wรคre es nett, wenn Du sie als "richtige Antwort" kennzeichnest.

Viele GrรผรŸe

Michaela

0 Kudos

Hallo,

ich war leider im Urlaub. Ich habe die Funktionalitรคt geprรผft. Leider gibt die Methode getChildIndex die selbe Sortierung zurรผck.

Ich kann leider damit auch nicht die selbe Sortierung reproduzieren die im PageStore vorhanden ist.

Mit freundlichen GrรผรŸen

Benjamin

0 Kudos

Hallo Benjamin,

da der PageStore keine wirkliche Reihenfolge hat (im Client alphabetisch und nicht fachlich), gibt es auch keine Mรถglichkeit diese Reihenfolge per API abzufragen.

GrรผรŸe

Jan

0 Kudos

Hallo Jan,

jetzt verstehe ich es! Danke fรผr die Info. Irgendwie bin ich nicht auf den gedanken gekommen das es alphabetisch sortiert ist.

Liebe GrรผรŸe

Benjamin

0 Kudos

Type a product name