RFR: 7083187: Class CSS.CssValue is missing implementations of equals() and hashCode() [v4]

Alexey Ivanov aivanov at openjdk.org
Thu May 4 12:45:19 UTC 2023


On Wed, 3 May 2023 11:00:36 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> Two CSS AttributeSet-s can be compared using the AttributeSet.isEqual() method which can fail due to missing implementation of equals method in CSS subclasses.
>> In this issue, even when two CSS AttributeSet has same 42 font size string value, Object equality fails.
>> Fixed by implementing the equality and hashCode method for CSS.FontSize class.
>> 
>> All jtreg/jck tests are ok
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   More Attrbutes added

Changes requested by aivanov (Reviewer).

test/jdk/javax/swing/text/html/CSS/CSSAttributeEqualityBug.java line 119:

> 117:             System.out.println("b = " + b);
> 118:             throw new RuntimeException("CSS.Attribute.Color a is not equal to b");
> 119:         }

Does it make sense to introduce a new method which compares the two attributes sets `a` and `b`, prints messages and throws the exception? You'll need to pass the CSS attribute name to it. The code will be cleaner.

-------------

PR Review: https://git.openjdk.org/jdk/pull/13405#pullrequestreview-1413005794
PR Review Comment: https://git.openjdk.org/jdk/pull/13405#discussion_r1184960471



More information about the client-libs-dev mailing list