Home › Forum › Allgemeines › Allgemeines zu Nuclos › NullPointerException bei Combobox-Regeln
- Dieses Thema hat 5 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 10 Jahre, 10 Monaten von
Frank Pavlic.
-
AutorBeiträge
-
15 März 2012 um 04:08 Uhr #5229
Frank Pavlic
TeilnehmerHallo zusammen,
bin soeben über ein Combobox-Problem mit NullPointerException in 3.3 gestoßen.
In einer Maske ist eine Combobox mit einem selbst definierten Valuelist-Provider eingebettet. Die Werteliste erscheint auch beim Anklicken der Werteliste, und wenn keine Regeln bei der Combobox hinterlegt sind, funktioniert diese wie gewünscht.Wenn allerdings eine Regel hinterlegt ist mit der Aktion „Nachgeschlagenen Wert übertragen“ , führt das Auswählen eines Eintrags aus der Combobox-Liste zu einer NullPointerException.
Ist das ein bekanntes Problem? JIRA öffnen?Gruß
Frank
Stack-Trace bzgl. NullPointerException:
java.lang.NullPointerException
at org.nuclos.common.dal.DalSupportForMD.wrapEntityObjectVO(DalSupportForMD.java:93)
at org.nuclos.client.common.Utils.getReferencedCollectable(Utils.java:397)
at org.nuclos.client.common.Utils$CollectableLookupProvider.lookup(Utils.java:415)
at org.nuclos.client.common.Utils$CollectableLookupProvider.lookup(Utils.java:1)
at org.nuclos.common.caching.GenCache.get(GenCache.java:48)
at org.nuclos.client.ui.layoutml.LayoutMLParser$BuildFormHandler$Rule$1.collectableFieldChangedInModel(LayoutMLParser.java:437)
at org.nuclos.client.ui.collect.component.model.CollectableComponentModelHelper.fireCollectableFieldChangedEvent(CollectableComponentModelHelper.java:61)
at org.nuclos.client.ui.collect.component.model.CollectableComponentModelHelper.fireCollectableFieldChanged(CollectableComponentModelHelper.java:48)
at org.nuclos.client.ui.collect.component.model.CollectableComponentModel.fireFieldChanged(CollectableComponentModel.java:240)
at org.nuclos.client.ui.collect.component.model.CollectableComponentModel.setField(CollectableComponentModel.java:200)
at org.nuclos.client.ui.collect.component.model.CollectableComponentModel.setField(CollectableComponentModel.java:150)
at org.nuclos.client.ui.collect.component.model.DetailsComponentModel$1.run(DetailsComponentModel.java:72)
at org.nuclos.client.ui.UIUtils.invokeOnDispatchThread(UIUtils.java:1134)
at org.nuclos.client.ui.collect.component.model.DetailsComponentModel.setField(DetailsComponentModel.java:68)
at org.nuclos.client.ui.collect.component.AbstractCollectableComponent.viewToModel(AbstractCollectableComponent.java:577)
at org.nuclos.client.ui.collect.component.CollectableComboBox$3.run(CollectableComboBox.java:466)
at org.nuclos.client.ui.collect.component.AbstractCollectableComponent.runLocked(AbstractCollectableComponent.java:406)
at org.nuclos.client.ui.collect.component.CollectableComboBox.viewToModel(CollectableComboBox.java:456)
at org.nuclos.client.ui.collect.component.CollectableComboBox$1.actionPerformed(CollectableComboBox.java:120)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1240)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:567)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:603)
at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:818)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
at java.awt.Component.processMouseEvent(Component.java:6288)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:482)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
28 März 2012 um 17:46 Uhr #5372Claudia Mangstl
TeilnehmerHallo Frank,
das Problem ist schon im Ticketsystem eingetragen.
Danke fürs Melden !
Viele Grüße,
Claudia28 März 2012 um 18:03 Uhr #5379Frank Pavlic
TeilnehmerHallo Claudia,
wäre super, wenn Du noch die Ticket-Nummer angeben könntest, vereinfacht das Suchen für weitere Leser 😉Danke.
Gruß
Frank
28 März 2012 um 18:23 Uhr #5384Claudia Mangstl
TeilnehmerDie Ticketnummer lautet NUCLOSINT-1452. Ist allerdings intern, aber du hast recht, dann kann man sich später darauf beziehen.
Grüße,
Claudia12 Juli 2012 um 15:41 Uhr #5761Stefan Geiling
TeilnehmerDer Fehler wurde mittlerweile in der aktuellen 3.5 behoben.
Der Auslöser war dass der hinterlegte Valuelistprobider eine Id zurückgegibt, dessen Wert nicht mit zu dem erwarteten referenzierenden Object übereinstimmt. sprich es wird eine Id zurückgeben, die in der referenzierenden Entität nicht existiert.
Das Verhalten ist nun, dass in diesem Fall Wert nachschlagen von einem leeren Objekt ausgeht, also die Zielkomponente zurücksetzt.
Grüße,
Stefan12 Juli 2012 um 16:44 Uhr #5762Frank Pavlic
TeilnehmerHallo Stefan,
super, danke für die Info.Gruß
Frank
-
AutorBeiträge