Search the FirstSpirit Knowledge Base
Hallo,
nach der Migration von FirstSpirit 4 auf FirstSpirit 5 kommt es bei uns zu Fehlern beim Speichern von Datenquelleneinträgen mit einer CMS_INPUT_TOGGLE Formularkomponente, wenn die Checkbox nicht explizit durch den Redakteur aktiviert bzw. deaktiviert wurde.
de.espirit.or.ORException: value 'null' not valid for attribute 'xyz'
at de.espirit.or.impl.EntityImpl.setValue(EntityImpl.java:907)
at de.espirit.or.impl.EntityImpl.setValue(EntityImpl.java:841)
at de.espirit.or.impl.EntityImpl.setValue(EntityImpl.java:279)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.setValue(ContentUtil.java:447)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.storeDataValue(ContentUtil.java:322)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.storeData(ContentUtil.java:265)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.storeData(ContentUtil.java:257)
at de.espirit.firstspirit.store.access.contentstore.ContentUtil.nStoreData(ContentUtil.java:243)
at de.espirit.firstspirit.store.access.contentstore.DatasetImpl.setData(DatasetImpl.java:362)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.AbstractGuiXmlPanel.save(AbstractGuiXmlPanel.java:497)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.persist(ContentGuiXmlPanel.java:479)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.persist(ContentGuiXmlPanel.java:449)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentGuiXmlPanel.save(ContentGuiXmlPanel.java:444)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.AbstractGuiXmlPanel.unlock(AbstractGuiXmlPanel.java:343)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.ContentViewComponent.setLockStatus(ContentViewComponent.java:1164)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.CSContentView.setLockStatus(CSContentView.java:146)
at de.espirit.firstspirit.client.gui.tree.store.contentstore.GuiContent.setLock(GuiContent.java:1117)
at de.espirit.firstspirit.client.gui.tree.store.AbstractGuiStoreElement.unlock(AbstractGuiStoreElement.java:1479)
at de.espirit.firstspirit.client.action.ToggleEditAction.unlock(ToggleEditAction.java:203)
at de.espirit.firstspirit.client.action.ToggleEditAction.actionPerformed(ToggleEditAction.java:76)
Wir konnten das Problem vorerst mit einer Regel beheben.
Viele Grüße
Nick
Hier noch die Regel. Die Checkbox wird hier beim Speichern explizit auf FALSE gesetzt, wenn sie EMPTY bzw. null ist.
<ON_SAVE>
<IF>
<PROPERTY source="feld_name" name="EMPTY"/>
</IF>
<WITH>
<FALSE/>
</WITH>
<DO>
<PROPERTY source="feld_name" name="VALUE"/>
</DO>
</ON_SAVE>
Nick
Noch ein Nachtrag:Wir haben noch weitere CMS_INPUT_TOGGLE in Datenquellen, bei denen der Fehler aber nicht auftritt. Im Unterschied zur problematischen Checkbox sind diese sprachspezifisch und bei der problematsichen-Komponente ist mir aufgefallen, dass diese in der darunterliegenden Datenbank zwar nullable ist aber auch 0 als Defaultwert besitzt.
Hallo Nick,
ist diese Frage noch aktuell oder konntest du das beschriebene Problem bereits lösen?
Ich habe über die Exception ein Posting in unserem internen Ticketsystem gefunden (interne ID #141320). Dort wurde versucht, für eine Combobox einen "null"-Wert zu speichern, wobei die Combobox jedoch keine "null"-Werte erlaubte.
Viele Grüße
Michaela
Hallo zusammen,
ich habe das oben beschriebene Problem und leider ist hier keine Lösung.
Hat jemand eine Lösung dazu oder muss ich dafür eine neue Nachricht schreiben?
Viele Grüße,
Aissam