- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Datenquelle per Skript aktualisieren?
Hallo zusammen,
ich importiere Daten aus XML-Dateien in eine Datenquelle, das funktioniert auch prima.
Allerdings bekomme ich die Datenquelle nach erfolgreichem Import nicht aktualisiert, ich mรถchte quasi das manuelle F5 drรผcken simulieren.
Am Ende des Skripts lasse ich mir die Anzahl der Datensรคtze ausgeben, dort bekomme ich immer 0 zurรผck.
Wenn ich die Datenquelle manuell per F5 aktualisiere und das Skript anschlieรend nochmal laufen lasse, dann bekomme ich wie erwartet 292 ausgegeben.
//! Beanshell
import javax.swing.JOptionPane;
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.IDProvider;
// Methods in Beanshell Scripts
showInfo(String message) {
JOptionPane.showMessageDialog(null, message, "", JOptionPane.INFORMATION_MESSAGE);
}
// Storelement holen (e ist nur auf Beanshell verfรผgbar)
project = context.getProject();
lang = project.getMasterLanguage();
us = project.getUserService();
store = us.getStore(Store.Type.CONTENTSTORE, true, true);
db = store.getStoreElement("datenquelle", IDProvider.UidType.CONTENTSTORE);
dataList = db.getData(lang);
showInfo(dataList.size()+"");
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Auf dem Schema gibt es keine rollback-Methode. Aber ich habe das als Denkansatz genutzt und jetzt scheint es zu funktionieren. Wenn ich die XML-Dateien importiere und anschlieรend das Skript ablaufen lasse, dann wird mir nicht mehr 0, sondern die korrekte Anzahl ausgegeben. ๐ Der Praxistext folgt dann demnรคchst.
//! Beanshell
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.IDProvider;
// helper objects
project = context.getProject();
lang = project.getMasterLanguage();
us = project.getUserService();
// get datasource store element
store = us.getStore(Store.Type.CONTENTSTORE, false);
db = store.getStoreElement("datasource", IDProvider.UidType.CONTENTSTORE);
// refresh datasource
schema = db.getSchema();
schema.resetReadTimestamp();
schema.getSession().rollback();
db.refresh();


- ยซ Previous
-
- 1
- 2
- Next ยป
- ยซ Previous
-
- 1
- 2
- Next ยป