getTemplate() auf ein gelöschtes Page-Element
Author: novomind
Publication Date: 7/1/2013 15:46
Hallo.
Ich versuche für einen Export-Bericht programmatisch herauszufinden, welche Elemente im Sitestore gelöscht worden sind. Dabei soll es sich jedoch nur um Elemente eines bestimmten Templates handeln.
Mittlerweile bin ich schon so weit:
List<DeletedElementsInfo> deletedElements = siteStore.getDeletedChildren(fromRevision.getId(), 0);
for (DeletedElementsInfo deletedElementsInfo : deletedElements) {
for(ElementInfo info : deletedElementsInfo.getDeletedElements()) {
String deletedUid = info.getUid();
}
}
Mit der UID dachte ich nun, kann ich mir das Element holen und über
pageRef.getPage().getTemplate().getUid()
Prüfen, ob genau das Template das Richtige ist.
Leider komme ich nicht soweit, denn
PageRef pageRef = (PageRef) siteStore.getStoreElement(deleteRootElement.getUid(), IDProvider.UidType.SITESTORE_LEAF);
liefert null, macht ja auch Sinn, denn das Element ist ja auch eigentlich gelöscht.
Wie komme ich aber nun an ein gelöschtes Element ran, ohne es widerherstellen zu müssen?
Danke und Gruß
-
Author: thmarx - 7/2/2013 10:05
Hallo Ronny,
das Problem hier ist einfach, dass du in dem Store suchst, in dem das Objekt gelöscht ist. Du kannst dir aber einfach den richtigen Store holen:
for(ElementInfo info : deletedElementsInfo.getDeletedElements()) {
...
// userservice für die revision holen
revisionUserService = project.getUserService(info.getRevisionId() - 1);
// korrekten Store holen
siteStore = revisionUserService.getStore(Store.Type.SITESTORE);
// Seite laden
pageRef = siteStore.getStoreElement(info.getUid(), IDProvider.UidType.SITESTORE_LEAF);
}
Gruß
Thorsten
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar