afida
Nov 10th, 2004, 05:41 AM
I have a Wizard with a one WizardPage and a Form. It use to work fine but i have updated to new spring lib and I am starting to get some really strange errors.
I have a RefreshableValueHolder that updates ComboBox items on show(). As the model is changing so I need to update combobox model.
Following is the exception that Iam getting on wizard.execute().
03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Setting newly selected item on value holder to Accounting
03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Notifying combo box view selected value changed; new value is 'Accounting'
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Firing contents change event; selected item may have changed
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Fired contents change event!
03:39:51,508 ERROR [org.springframework.richclient.application.config .ApplicationAdvisor]
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEnt ry(LinkedHashMap.java:354)
at java.util.LinkedHashMap$KeyIterator.next(LinkedHas hMap.java:365)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.Buffered ValueModel.onWrappedValueChanged(BufferedValueMode l.java:82)
at org.springframework.binding.value.support.Buffered ValueModel$WrappedModelValueChangeHandler.valueCha nged(BufferedValueModel.java:70)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.Property Adapter$DomainObjectChangeHandler.valueChanged(Pro pertyAdapter.java:70)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.ValueHol der.setValue(ValueHolder.java:52)
at org.springframework.binding.form.support.AbstractF ormModel.setFormObject(AbstractFormModel.java:69)
at org.springframework.richclient.forms.CompoundForm. setFormObject(CompoundForm.java:55)
at com.vaau.rbacx.client.ui.view.businessunitsview.Ne wNewBusinessUnitWizard.execute(NewNewBusinessUnitW izard.java:53)
at com.vaau.rbacx.client.ui.view.businessunitsview.Ne wNewBusinessUnitWizard.execute(NewNewBusinessUnitW izard.java:61)
at org.springframework.richclient.command.TargetableA ctionCommand.doExecuteCommand(TargetableActionComm and.java:97)
at org.springframework.richclient.command.ActionComma nd.execute(ActionCommand.java:188)
at org.springframework.richclient.command.ActionComma nd$1.actionPerformed(ActionCommand.java:123)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton. java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Bas icMenuItemUI.java:1113)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputH andler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.jav a:5134)
at java.awt.Component.processEvent(Component.java:493 1)
at java.awt.Container.processEvent(Container.java:156 6)
at java.awt.Component.dispatchEventImpl(Component.jav a:3639)
at java.awt.Container.dispatchEventImpl(Container.jav a:1623)
at java.awt.Component.dispatchEvent(Component.java:34 80)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3095)
at java.awt.Container.dispatchEventImpl(Container.jav a:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1590 )
at java.awt.Component.dispatchEvent(Component.java:34 80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 450)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:99)
Here is my wizard.execute()
public void execute() {
if (wizardDialog == null) {
wizardDialog = new WizardDialog(this);
wizardDialog.setResetMessagePaneOnDisplay(true);
wizardForm = new CompoundForm();
}
wizardForm.setFormObject(new BusinessUnit());
wizardDialog.showDialog();
}
Here is my form.createControl()
protected JComponent createFormControl() {
FormLayout layout = new FormLayout("left:pref, 5dlu, pref:grow");
JGoodiesBeanFormBuilder formBuilder = new JGoodiesBeanFormBuilder(getFormModel(), layout);
businessUnitNameField =(JTextField) formBuilder.add("businessUnitName")[1];
refreshableValueHolder = new RefreshableValueHolder(new Block() {
public Object call(Object object) {
return getFlattenedBusinessUnits();
}
}, true);
parentBusinessUnitComboBox =
getFormModel().createBoundComboBox("parentBusinessUnit", refreshableValueHolder, "businessUnitName");
formBuilder.getWrappedFormBuilder().add(PARENT_BUS INESS_UNIT_LABEL_ID, parentBusinessUnitComboBox);
return formBuilder.getForm();
}
I am going nuts over this, please any help will be really appreciated.
Amad
I have a RefreshableValueHolder that updates ComboBox items on show(). As the model is changing so I need to update combobox model.
Following is the exception that Iam getting on wizard.execute().
03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Setting newly selected item on value holder to Accounting
03:39:51,448 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Notifying combo box view selected value changed; new value is 'Accounting'
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Firing contents change event; selected item may have changed
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Returning selected item Accounting
03:39:51,498 DEBUG [org.springframework.richclient.list.DynamicComboB oxListModel] Fired contents change event!
03:39:51,508 ERROR [org.springframework.richclient.application.config .ApplicationAdvisor]
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEnt ry(LinkedHashMap.java:354)
at java.util.LinkedHashMap$KeyIterator.next(LinkedHas hMap.java:365)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.Buffered ValueModel.onWrappedValueChanged(BufferedValueMode l.java:82)
at org.springframework.binding.value.support.Buffered ValueModel$WrappedModelValueChangeHandler.valueCha nged(BufferedValueModel.java:70)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.Property Adapter$DomainObjectChangeHandler.valueChanged(Pro pertyAdapter.java:70)
at org.springframework.binding.value.support.Abstract ValueModel.fireValueChanged(AbstractValueModel.jav a:64)
at org.springframework.binding.value.support.ValueHol der.setValue(ValueHolder.java:52)
at org.springframework.binding.form.support.AbstractF ormModel.setFormObject(AbstractFormModel.java:69)
at org.springframework.richclient.forms.CompoundForm. setFormObject(CompoundForm.java:55)
at com.vaau.rbacx.client.ui.view.businessunitsview.Ne wNewBusinessUnitWizard.execute(NewNewBusinessUnitW izard.java:53)
at com.vaau.rbacx.client.ui.view.businessunitsview.Ne wNewBusinessUnitWizard.execute(NewNewBusinessUnitW izard.java:61)
at org.springframework.richclient.command.TargetableA ctionCommand.doExecuteCommand(TargetableActionComm and.java:97)
at org.springframework.richclient.command.ActionComma nd.execute(ActionCommand.java:188)
at org.springframework.richclient.command.ActionComma nd$1.actionPerformed(ActionCommand.java:123)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1764)
at javax.swing.AbstractButton$ForwardActionEvents.act ionPerformed(AbstractButton.java:1817)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:419)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:257)
at javax.swing.AbstractButton.doClick(AbstractButton. java:289)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Bas icMenuItemUI.java:1113)
at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputH andler.mouseReleased(BasicMenuItemUI.java:943)
at java.awt.Component.processMouseEvent(Component.jav a:5134)
at java.awt.Component.processEvent(Component.java:493 1)
at java.awt.Container.processEvent(Container.java:156 6)
at java.awt.Component.dispatchEventImpl(Component.jav a:3639)
at java.awt.Container.dispatchEventImpl(Container.jav a:1623)
at java.awt.Component.dispatchEvent(Component.java:34 80)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:3450)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3165)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3095)
at java.awt.Container.dispatchEventImpl(Container.jav a:1609)
at java.awt.Window.dispatchEventImpl(Window.java:1590 )
at java.awt.Component.dispatchEvent(Component.java:34 80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 450)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:99)
Here is my wizard.execute()
public void execute() {
if (wizardDialog == null) {
wizardDialog = new WizardDialog(this);
wizardDialog.setResetMessagePaneOnDisplay(true);
wizardForm = new CompoundForm();
}
wizardForm.setFormObject(new BusinessUnit());
wizardDialog.showDialog();
}
Here is my form.createControl()
protected JComponent createFormControl() {
FormLayout layout = new FormLayout("left:pref, 5dlu, pref:grow");
JGoodiesBeanFormBuilder formBuilder = new JGoodiesBeanFormBuilder(getFormModel(), layout);
businessUnitNameField =(JTextField) formBuilder.add("businessUnitName")[1];
refreshableValueHolder = new RefreshableValueHolder(new Block() {
public Object call(Object object) {
return getFlattenedBusinessUnits();
}
}, true);
parentBusinessUnitComboBox =
getFormModel().createBoundComboBox("parentBusinessUnit", refreshableValueHolder, "businessUnitName");
formBuilder.getWrappedFormBuilder().add(PARENT_BUS INESS_UNIT_LABEL_ID, parentBusinessUnitComboBox);
return formBuilder.getForm();
}
I am going nuts over this, please any help will be really appreciated.
Amad