Hi Robert,
It's really reproducible and seems to be beansbinding library issue. Our
developer will do some investigation and then enter issue agains this
library. ( issuzilla for beansbiding is placed there :
https://beansbinding.dev.java.net/issues/query.cgi) Thanks for
reproducible usecase.
You are right, 60cat is going to be closed but if you have any
other question you can subscript yourself in nbusers mailing list.
(
http://www.netbeans.org/community/lists/top.html) where your questions
will be answered.
Regards
Janie
RobertPage napsal(a):
> 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
>