Description
Some random modeler issues:
1. When typing some bogus string in the root dropdown of the SelectQuery, I am getting an exception below.
I wonder why the query root is editable at all? Was there a reason we did it?
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: org.apache.cayenne.query.SelectQuery: "setRoot(..)" takes a DataMap, String, ObjEntity, DbEntity, Procedure, or Class. It was passed a null
at org.apache.cayenne.query.AbstractQuery.setRoot(AbstractQuery.java:100)
at org.apache.cayenne.modeler.editor.SelectQueryMainTab$RootSelectionHandler.actionPerformed(SelectQueryMainTab.java:348)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1197)
at javax.swing.JComboBox.actionPerformed(JComboBox.java:1254)
at javax.swing.JTextField.fireActionPerformed(JTextField.java:487)
at javax.swing.JTextField.postActionEvent(JTextField.java:668)
at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:783)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1576)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2807)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
at java.awt.Component.processEvent(Component.java:5379)
at java.awt.Container.processEvent(Container.java:2010)
at java.awt.Component.dispatchEventImpl(Component.java:4068)
at java.awt.Container.dispatchEventImpl(Container.java:2068)
at java.awt.Component.dispatchEvent(Component.java:3903)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
2. I can't reproduce this now, but the error happened when I tried typing a qulaifier for the SelectQuery without an entity root (or any root)
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.apache.cayenne.map.DataMap
at org.apache.cayenne.modeler.editor.SelectQueryMainTab.createQualifier(SelectQueryMainTab.java:248)
at org.apache.cayenne.modeler.editor.SelectQueryMainTab.setQueryQualifier(SelectQueryMainTab.java:215)
at org.apache.cayenne.modeler.editor.SelectQueryMainTab$2.updateModel(SelectQueryMainTab.java:101)
at org.apache.cayenne.modeler.util.TextAdapter.updateModel(TextAdapter.java:143)
at org.apache.cayenne.modeler.util.TextAdapter$2.verify(TextAdapter.java:84)
at javax.swing.InputVerifier.shouldYieldFocus(InputVerifier.java:114)
at javax.swing.JComponent.runInputVerifier(JComponent.java:1400)
at javax.swing.JComponent.requestFocus(JComponent.java:1452)
at java.awt.Component.nextFocusHelper(Component.java:6819)
at java.awt.Container.nextFocusHelper(Container.java:3113)
at java.awt.Component.doAutoTransfer(Component.java:6732)
at java.awt.Component.autoTransferFocus(Component.java:6724)
at java.awt.Component.autoTransferFocus(Component.java:6702)
at java.awt.Component.hide(Component.java:1334)
at java.awt.Component.show(Component.java:1304)
at java.awt.Component.setVisible(Component.java:1255)
at javax.swing.JComponent.setVisible(JComponent.java:2544)
at apple.laf.CUIAquaTabbedPaneCopyFromBasic.setVisibleComponent(CUIAquaTabbedPaneCopyFromBasic.java:1310)
at apple.laf.CUIAquaTabbedPaneCopyFromBasic$TabbedPaneLayout.layoutContainer(CUIAquaTabbedPaneCopyFromBasic.java:2111)
at java.awt.Container.layout(Container.java:1401)
at java.awt.Container.doLayout(Container.java:1390)
at java.awt.Container.validateTree(Container.java:1473)
at java.awt.Container.validateTree(Container.java:1480)
at java.awt.Container.validateTree(Container.java:1480)
at java.awt.Container.validate(Container.java:1448)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:379)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:113)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)