- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Beanshell: freigegebene Version eines Datensatzes (Entity) holen
Hallo Community!
Gibt es einen performanten Weg sich die letzte freigegebene Version eines Datensatzes aus einer Datenquelle zu holen?
Mein Weg, durch die History des de.espirit.firstspirit.access.store.contentstore.Dataset zu iterieren, das jeweilige de.espirit.or.schema.Entity zu holen, und zu prรผfen ob es freigegeben ist, ist, wie mir scheint, nicht sehr performant, oder tรคusche ich mich da?
// de.espirit.firstspirit.store.access.contentstore.Content2Impl
e = context.getStoreElement();
// de.espirit.or.impl.EntityImpl
row = context.getSelectedRow();
releasedEntity = null;
for (revision : e.getDataset(row).getHistory()) {
entity = e.getInRevision(revision).getEntity(row.getValue("fs_id"));
if (entity.isReleased()) {
releasedEntity = entity;
break;
}
}
print(releasedEntity.isReleased());
Danke!
Grรผรe Jan
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dazu sollten sie รผber die release Session gehen
row = context.getSelectedRow();
dataSet =e.getDataset(row);
currentEntity =
dataSet
.getEntity();
schema = dataSet.getTableTemplate().getSchema();
Session releaseSession = schema.getSession(true);
Entity releasedEntity = releaseSession.find(currentEntity.getKeyValue());
if (releasedEntity != null) {
// found
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Heiรt "letzte" freigegebene Version die aktuell freigegebene Version oder die Version davor?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dieser oben aufgefรผhrte Code wรผrde nur zum Einsatz kommen, wenn ein Entity nicht freigegeben ist.
Hier ein kleines Beispiel:
Entity Revision 5 - nicht freigegeben
Entity Revision 4 - nicht freigegeben
Entity Revision 3 - freigegeben - diese Version des entities mรถchte ich haben
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dazu sollten sie รผber die release Session gehen
row = context.getSelectedRow();
dataSet =e.getDataset(row);
currentEntity =
dataSet
.getEntity();
schema = dataSet.getTableTemplate().getSchema();
Session releaseSession = schema.getSession(true);
Entity releasedEntity = releaseSession.find(currentEntity.getKeyValue());
if (releasedEntity != null) {
// found
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke!

