<Swing Dev> [14] RFR JDK-8190763 - Class cast exception on (CompoundEdit) UndoableEditEvent.getEdit()

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Mon Nov 11 11:04:47 UTC 2019


dispose is called from createTextArea when CCE is thrown so ideally the 
EDT should be inside dispose() function. I guess it will be clean if you 
remove dispose() from CCE and add frame.dispose() under try-finally 
clause in main() itself. I guess frame.setIconImage() also is not needed.

Also, please add @Override annotation to run() method of EDT.

On 11-Nov-19 3:07 PM, Tejpal Rebari wrote:
> Hi all,
> I have removed GridBagLayout() ,GridBagConstraints and author tag ,
> moved dispose() call to EDT
> and changed the test name to TestCCEOnEditEvet.
>
> Please find the updated webrev
> http://cr.openjdk.java.net/~trebari/swing/8190763/webrev2/
>
> Regards
> Tejpal
>
>> On 11-Nov-2019, at 12:02 PM, Pankaj Bansal 
>> <pankaj.b.bansal at oracle.com <mailto:pankaj.b.bansal at oracle.com>> wrote:
>>
>> The fix look good to me.
>> Some points about test case.
>> 1.No need for author tag. This is not followed now.
>> 2.The test case name should be something meaningful instead of bug***.
>> 3.You should not need the GridBagConstraints code anywhere to 
>> reproduce the issue.  You should remove this.
>> Regards,
>> Pankaj
>> *From:*Prasanta Sadhukhan
>> *Sent:*Monday, November 11, 2019 11:47 AM
>> *To:*Tejpal Rebari
>> *Cc:*swing-dev at openjdk.java.net <mailto:swing-dev at openjdk.java.net>
>> *Subject:*Re: <Swing Dev> [14] RFR JDK-8190763 - Class cast exception 
>> on (CompoundEdit) UndoableEditEvent.getEdit()
>>
>> Fix looks ok to me. Regarding the test, dispose() should be called 
>> under EDT, just as you have done for createAndShowGUI().Also, I don't 
>> think createGridBagLayout() code is necessary to recreate the issue.
>>
>> Regards
>> Prasanta
>> On 08-Nov-19 3:56 PM, Tejpal Rebari wrote:
>>
>>     Hi Prasanta ,
>>     I have added a  test to the fix.
>>     Updated webrev :
>>     http://cr.openjdk.java.net/~trebari/swing/8190763/webrev1/
>>     Regards
>>     Tejpal
>>
>>
>>         On 31-Oct-2019, at 1:58 PM, Prasanta Sadhukhan
>>         <prasanta.sadhukhan at oracle.com
>>         <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>         Hi tejpal,
>>         Can you add a testcase to the fix? I guess one is there in
>>         the JBS itself.
>>         Regards
>>         Prasanta
>>         On 24-Oct-19 10:31 AM, Tejpal Rebari wrote:
>>
>>             Hi All,
>>             Please review the following fix for jdk14.
>>             Bug: https://bugs.openjdk.java.net/browse/JDK-8190763
>>             Webrev:
>>             http://cr.openjdk.java.net/~trebari/swing/8190763/webrev0/
>>             Issue : This issue is a regression of
>>             https://bugs.openjdk.java.net/browse/JDK-8030702.
>>             When UndoableEditEvent.getEdit() is casted to
>>             CompoundEdit, it throws class cast exception.
>>             Fix :  In JDK-8030702
>>             <https://bugs.openjdk.java.net/browse/JDK-8030702> a new
>>             class DefaultDocumentEventUndoableWrapper was introduced.
>>             UndoableEditEvent.getEdit() returns an object of
>>             DefaultDocumentEventUndoableWrapper and when it is casted
>>             to CompoundEdit it throws class cast exception because
>>             it doesn’t inherit CompoundEdit.
>>             Before the fix of JDK-8030702
>>             <https://bugs.openjdk.java.net/browse/JDK-8030702> ,
>>             UndoableEditEvent.getEdit()  used to return an object of
>>             DefaultDocumentEvent which inherits CompoundEdit so the
>>             class cast exception was not thrown.
>>             The solution is to make
>>             DefaultDocumentEventUndoableWrapper a subclass of
>>             DefaultDocumentEvent.
>>             Testing : I have tested it on Mac, Windows and Ubuntu.
>>             Regards
>>             Tejpal
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20191111/de33d47c/attachment-0001.html>


More information about the swing-dev mailing list