Freigegebene Entitäten via Java API aus dem Freigabebestand löschen
Hallo,
ich möchte via Beanshell Script Entitäten aus den Datenquellen entfernen. Da diese allerdings bereits freigegeben sind, kann ich diese zwar löschen, bleiben aber weiterhin unter "Freigebene Datensätze" stehen, wenn auch mit einer Mülltonne. Wenn ich diese Entitäten über den Sitearchitekt lösche, bekomme ich das PopUp mit der Option "Auch aus dem Freigabebestand löschen". Gibt es die Möglichkeit auch via Java API im Beanshell Script?
Danke und Gruß
Marco
-
Hallo Marco,
das funktioniert im Prinzip genauso wie das Löschen der Datensätze aus dem aktuellen Stand. Man muss sich den Datensatz nur im Freigabestand holen und dann dort löschen (nachdem man diesen im aktuellen Stand gelöscht hat)
Also beispielsweise so (um alle im aktuellen Stand gelöschten Datensätze auch im Freigabestand zu löschen). Statt über alle zu iterieren, kann man sich natürlich auch einen einzelnen Datensatz (über die Release Session) im Freigabestand holen und diesen dann löschen.
import de.espirit.firstspirit.agency.StoreElementAgent;
storeElementAgent = context.requestSpecialist(StoreElementAgent.TYPE);
cs2node = storeElementAgent.loadStoreElement("<UID>",Content2.UID_TYPE,false);
schema = storeElementAgent.loadStoreElement("<UID>", Schema.UID_TYPE, false);
relSession = schema.getSession(true);
relDelDatasets = relSession.getReleasedDeleted("<entityTypeName>");
for (relDelDataset:relDelDatasets) {
dataset = cs2node.getDataset(relSession.find(relDelDataset));
try{
dataset.delete();
} catch(e) {
context.logError("Error while deleting Dataset ...", e);
}
}Viele Grüße
Holger0
Please sign in to leave a comment.
Comments
1 comment