Hallo,
ich will über einen Auftrag eine Linkliste (CMS_INPUT_LINKLIST) in einer Tabellenvorlage füllen/leeren. Bisher hat das geklappt. nun bekomme ich eine
java.lang.UnsupportedOperationException
die ich nicht zuordnen kann.
Der Auszug befindet sich in einer Klasse, und die in einem Modul. In der Klasse hab ich nichts geänderte.
Die Methoden this.debug ist eigenes Logging
Im Anhang die Logausgaben des Scripts sowie der Stacktrace.
hier mein Script:
// zuerst die Tabellenvorlage und daten des Datensatz holen
ContentStoreRoot cs = (ContentStoreRoot) us.getStore(de.espirit.firstspirit.access.store.Store.Type.forName("CONTENTSTORE"), false);
this.debug("contentSourceName: " + contentSourceName);
Content2 contentSource = this.cs.getContent2ByName(contentSourceName);
this.debug("contentSource: " + contentSource);
Session session = contentSource.getSchema().getSession();
this.debug("session: " + session);
Data hb_entityData = contentSource.getDataObject(dbRow);
this.debug("hb_entityData: " + hb_entityData);
//nun die Linkliste holen und leeren
LinkListEditorValue linklist_mev = (LinkListEditorValue) hb_entityData.get("st_vdlink").getEditor();
NotifyingList linklistvalue_mev = (NotifyingList) linklist_mev.get(lang);
int old_mev = linklistvalue_mev.size();
linklistvalue_mev.clear();
this.debug("bisherige Anzahl MEV: " + old_mev + "/neu: " + linklistvalue_mev.size());
//speichern und freigeben
this.debug("Listen speichern speichern ...");
linklist_mev.set(lang, linklistvalue_mev);
this.debug("\tmev gesetzt");
contentSource.setDataObject(dbRow, hb_entityData);
this.debug("\tdataObject gesetzt");
this.debug("\tspeichern");
session.commit();
this.debug("freigeben: " + release);
if(release) {
session.release(dbRow);
session.commit();
}
Der Fehler tritt bei
session.commit()
auf.
An was kann es liegen, dass der fehler auftritt?