ClassNotFoundException in modeler
---------------------------------
Key: CAY-1196
URL: https://issues.apache.org/cayenne/browse/CAY-1196
Project: Cayenne
Issue Type: Bug
Components: CayenneModeler GUI
Affects Versions: 3.0M5
Environment: Ubuntu Linux
Reporter: Michael Shea
Priority: Minor
To duplicate:
1. Open an existing project with the Cayenne Modeler.
2. Select an existing attribute on an existing object entity. Delete the Java
Type field.
3. Navigate to some other object entity.
4. Go back to the original one and click the "attributes" tab. You will see
that the GUI doesn't get updated when you switch to that tab.
It looks like the modeler is calling Class.forName( "" ).
I have managed to work around this by manually editing the map.xml file and
filling in a valid java classname for the attribute in question.
The following stacktrace is printed to the console:
Exception in thread "AWT-EventQueue-0"
org.apache.cayenne.CayenneRuntimeException: [v.3.0M5 Dec 09 2008 00:19:19]
Failed to load class for name '':
at
org.apache.cayenne.map.ObjAttribute.getJavaClass(ObjAttribute.java:79)
at
org.apache.cayenne.modeler.editor.ObjAttributeTableModel.getValueAt(ObjAttributeTableModel.java:174)
at javax.swing.JTable.getValueAt(JTable.java:2695)
at javax.swing.JTable.prepareRenderer(JTable.java:5712)
at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2075)
at
javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1977)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1773)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
at javax.swing.JComponent.paintComponent(JComponent.java:763)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JViewport.paint(JViewport.java:747)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5122)
at
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:277)
at javax.swing.RepaintManager.paint(RepaintManager.java:1217)
at javax.swing.JComponent._paintImmediately(JComponent.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent.java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:803)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at
javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
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)
Caused by: java.lang.ClassNotFoundException:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.cayenne.util.Util.getJavaClass(Util.java:588)
at
org.apache.cayenne.map.ObjAttribute.getJavaClass(ObjAttribute.java:76)
... 31 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.