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

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Tue Nov 12 06:00:21 UTC 2019


Please remove ununsed imports from the test(no need for new webrev for 
me), other than that, looks ok to me.

Regards
Prasanta
On 12-Nov-19 11:24 AM, Tejpal Rebari wrote:
> Hi Prasanta,
> I have added try-finally in the main and called frame.dispose from 
> finally clause.
> Please find the updated webrev
> http://cr.openjdk.java.net/~trebari/swing/8190763/webrev3/
>
> Regards
> Tejpal
>
>> On 11-Nov-2019, at 4:34 PM, Prasanta Sadhukhan 
>> <prasanta.sadhukhan at oracle.com 
>> <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>
>> 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/20191112/27715d69/attachment-0001.html>


More information about the swing-dev mailing list