Skip to main content

Freigegebene Entitäten via Java API aus dem Freigabebestand löschen

Comments

1 comment

  • Holger Höbbel

    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
    Holger

    0

Please sign in to leave a comment.