<Swing Dev> [10][JDK-8190281] Code cleanup in src\java.desktop\share\classes\javax\swing\tree\VariableHeightLayoutCache.java
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Sat Dec 9 14:23:43 UTC 2017
Hi Krishna,
This seems good to me except one thing. You are checking getRowCount()
== 0 but there is a chance of test extending VariableHeightLayoutCache
and overriding getRowCount to return -ve also as it is an int. In that
case, I guess this function will not return -1 which spec mandates [If
there are no rows, -1 is returned] so I guess we should check for <=0.
Also, there is no need of calling getRowCount() twice as it will not
change between 929, 936.
Regards
Prasanta
On 12/7/2017 4:41 PM, Krishna Addepalli wrote:
>
> Hi Sergey,
>
> Per our conversation, I have done the following changes:
>
> 1.Found that the .class size increases by 1kb when streams are used,
> so reverted the changes related to it.
>
> 2.Moved the “++nextIndex” into the conditional, so that there is no
> logical change.
>
> Here is the updated webrev:
> http://cr.openjdk.java.net/~kaddepalli/8190281/webrev01/
> <http://cr.openjdk.java.net/%7Ekaddepalli/8190281/webrev01/>
>
> Thanks,
>
> Krishna
>
> *From:* Krishna Addepalli
> *Sent:* Wednesday, December 6, 2017 2:43 PM
> *To:* swing-dev at openjdk.java.net
> *Subject:* [10][JDK-8190281] Code cleanup in
> src\java.desktop\share\classes\javax\swing\tree\VariableHeightLayoutCache.java
>
> Hi All,
>
> Please review the fix for bug:
>
> Bug: JDK-8190281 https://bugs.openjdk.java.net/browse/JDK-8190281
>
> JDK 10 Webrev:
> http://cr.openjdk.java.net/~kaddepalli/8190281/webrev00/
> <http://cr.openjdk.java.net/%7Ekaddepalli/8190281/webrev00/>
>
> This bug was created while root causing JDK-8187936, and the following
> refactoring points have been addressed:
>
> 1. Line 927: Uninitialized variables, checking for trivial reject case
> multiple times.
> 2. Line 999: Traditional code written to find maximum size of
> components, which can be done without any local variables and explicit
> looping by replacing with streams.
> 3. Line 1365: Code repetition for differenct conditions, which can be
> ored together to reduce the repetition.
> 4. Line 1482: A large code block gets repeated only because of
> different values need to be passed in one line. This can be moved to a
> variable initialization, and the repeating code blocks can be reduced
> to one.
> 5. Line 1505: Variable initialization can be simplified by combining
> different conditions.
> 6. Line 1540: An explicit loop to apply a function over a collection,
> can be achieved in one line by a forEach construct. – This is
> producing some visual artifacts, so ignored.
> 7. Line 1747: Combine all the trivial reject cases into one condition,
> and also, a potential bug which increments the "nextIndex" value
> beyond the length of the containing elements. The increment should
> happen only if the trivial reject case fails.
>
> Thanks,
>
> Krishna
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20171209/45dc49ed/attachment.html>
More information about the swing-dev
mailing list