« Return to Thread: [core] New Desktop Database Application Wizard resulting application behaviour

Re: [core] New Desktop Database Application Wizard resulting application behaviour (new)

by ics :: Rate this Message:

Reply to Author | View in Thread

few days ago i tested it in windows 2003 (two different computers) and run well. with differents databases, with relations (master/detail ) and whitout, always MySql.

2007/12/5, RobertPage < page@...>:

Hi All,

I'm still having problems with the code the Dialog/Wizard generates.
In some cases on my slower Windows 2000 machine it stops before the final
building step and
leaves me with references to placeholders like:
        Collection<tp2.ReqQue> rs = s.get_joinCollectionCapital _();
in the newDetailRecord() and the deleteDetailRecord() methods.

I couldn't reproduce that on my new Windows XP Pro machine. Instead, while I
was trying, I ran into
a different problem that I can reproduce.

While I was using a form to change some data in a detail record, I
encountered an exception.
(A test case is included below.)

Exception in thread "AWT-EventQueue-0"
org.jdesktop.beansbinding.PropertyResolutionException :
Error evaluating EL expression ValueExpression[${albumname}] on
dialogtest.Book[albumId=103]

OS: Windows 2000 and XP Pro
NetBeans release 6.0

Steps to reproduce:

1. Create and populate the following tables.


CREATE TABLE AUTHOR
    (
    AUTHOR_ID INT NOT NULL,
    FIRSTNAME VARCHAR(200) NOT NULL,
    SURNAME VARCHAR(200) NOT NULL,
        PRIMARY KEY (AUTHOR_ID)
);

CREATE TABLE BOOK
    (
    ALBUM_ID INT NOT NULL,
    ALBUMNAME VARCHAR(200) NOT NULL,
        AUTHOR_INH INT,
    FOREIGN KEY (AUTHOR_INH) REFERENCES AUTHOR (AUTHOR_ID),
        PRIMARY KEY (ALBUM_ID)
);

insert into author values (1, 'Larry', 'Niven');
insert into author values (2, 'Berke', 'Brethed');
insert into author values (3, 'Douglas', 'Adams');
insert into author values (4, 'Pierre', 'Burton');

insert into book values (101, 'N Space', 1);
insert into book values (102, 'Ringworld', 1);
insert into book values (103, 'HHG', 3);
insert into book values (104, 'So Long', 3);
insert into book values (105, 'Vimy', 4);

2. Generate the application as a New Project (Java - Java Desktop
Application | Database Application).
AUTHOR is the master table, BOOK is the detail table.

3. Fix the binding on the detail table. (See earlier posts in this thread
re: binding/elements/advanced)

4. Start the application.
You should see 4 authors.
Click on 'Niven'. You should see 2 books.
Click on 'Brethed'. You should see no books.
Click on 'Adams'. You should see 2 books.
Click on Burton. You should see 1 book.
Click on 'Adams' again. You should see 2 books.
Double-click on the Albumname 'HHG' to invoke the editor.
Append the words ' to the' after the 'HHG'.
Click on the Album ID for that record (103) to force parsing of the
Albumname.
You should see an Exception.
Exception in thread "AWT-EventQueue-0"
org.jdesktop.beansbinding.PropertyResolutionException :
     Error evaluating EL expression ValueExpression[${albumname}] on
dialogtest.Book[albumId=103]
(See below).
The Save button becomes hilighted. If you click it, every exisiting first
book appears to be changed to that same albumname.
If you click the Refresh button, they still look changed (but they aren't
really changed in the database).

5.Stop the application and restart it to verify that only 1 record has
changed.
Fortunately, only the changes to Album ID 103 are are saved to the database.
The others are back to normal.

The EL Exception:

[TopLink Info]: 2007.12.05 11:20:39.921--ServerSession(4875224)--TopLink,
version: Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))
[TopLink Info]: 2007.12.05
11:20:40.500--ServerSession(4875224)--file:/C:/Documents%20and%20Settings/default/My%20Documents/NetBeansProjects/DialogTest/build/classes/-DialogTestPU
login successful
5-Dec-2007 11:20:41 AM org.jdesktop.application.SessionStorage restoreTree
WARNING: No saved state for
javax.swing.JTable[detailTable,0,0,419x0,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor= javax.swing.plaf.ColorUIResource[r=128,g=128,b=128],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=192,g=220,b=192],selectionForeground= javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],showHorizontalLines=true,showVerticalLines=true]
Exception in thread "AWT-EventQueue-0"
org.jdesktop.beansbinding.PropertyResolutionException:
Error evaluating EL expression ValueExpression[${albumname}] on
dialogtest.Book[albumId=103]
        at
org.jdesktop.beansbinding.ELProperty.setValue(ELProperty.java:507)
        at
org.jdesktop.beansbinding.Binding.saveUnmanaged(Binding.java:1275)
        at
org.jdesktop.swingbinding.JTableBinding$ColumnBinding.saveUnmanaged0 (JTableBinding.java:654)
        at
org.jdesktop.swingbinding.JTableBinding$ColumnBinding.access$1800(JTableBinding.java:542)
        at
org.jdesktop.swingbinding.JTableBinding$BindingTableModel.setValueAt(JTableBinding.java :745)
        at javax.swing.JTable.setValueAt(JTable.java:2676)
        at javax.swing.JTable.editingStopped(JTable.java:4675)
        at
javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java :125)
        at
javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultCellEditor.java:330)
        at
javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:215)
        at
javax.swing.JTable$GenericEditor.stopCellEditing (JTable.java:5429)
        at
javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:986)
        at
java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
        at java.awt.Component.processMouseEvent (Component.java:6035)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java :2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3983)
        at java.awt.LightweightDispatcher.dispatchEvent (Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java :4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at
java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:183)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Caused by: org.jdesktop.el.ELException: java.lang.NullPointerException
        at org.jdesktop.el.BeanELResolver.setValue(BeanELResolver.java:335)
        at
org.jdesktop.beansbinding.TempELContext$BeanDelegateELResolver.setValue(TempELContext.java:87)
        at
org.jdesktop.el.CompositeELResolver.setValue (CompositeELResolver.java:265)
        at
org.jdesktop.el.impl.parser.AstIdentifier.setValue(AstIdentifier.java:81)
        at
org.jdesktop.el.impl.ValueExpressionImpl.setValue(ValueExpressionImpl.java:259)
        at
org.jdesktop.beansbinding.ELProperty.setValue(ELProperty.java:505)
        ... 32 more
Caused by: java.lang.NullPointerException
        at
org.jdesktop.beansbinding.ELProperty$SourceEntry.sourceChanged (ELProperty.java:324)
        at
org.jdesktop.beansbinding.ELProperty$SourceEntry.propertyChange(ELProperty.java:333)
        at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
        at
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
        at dialogtest.Book.setAlbumname(Book.java:70)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke (Method.java:597)
        at org.jdesktop.el.BeanELResolver.setValue(BeanELResolver.java:330)
        ... 37 more


Since this part of NetBeans is a work in progress, and NetCAT is winding
down, where's the best
place to post about any future problems? (I'm assuming another Netbeans.org
group).
Also, in terms of IssueZilla, what components would this be classed under?
Core/dialog?

Thanks for the help,
Robert
--
View this message in context: http://www.nabble.com/-core--New-Desktop-Database-Application-Wizard-resulting-application-behaviour-tf4828905.html#a14174679
Sent from the NetBeans - NetCAT mailing list archive at Nabble.com.

 « Return to Thread: [core] New Desktop Database Application Wizard resulting application behaviour