<AWT Dev> [OpenJDK 2D-Dev] [8] Review request for JDK-8025684 - Fix Raw and unchecked warnings java.awt.image classes

Jim Graham james.graham at oracle.com
Tue Nov 5 09:14:39 PST 2013

Unfortunately, I already exceeded my "generics pay grade" in the 
comments I gave before.  Is there a 2D reviewer with some better 
understanding of generics out there who can give a more informed approval?

FWIW, the non-properties changes are pretty straightforward and I can 
say that those are approved, but I don't understand the semantics of <?> 
and generics casting to vet the properties changes...


On 10/22/13 1:11 PM, srikalyan chandrashekar wrote:
> Hi 2D folks any 2nd take on this for approval?
> ---
> Thanks
> kalyan
> On 10/15/2013 3:23 AM, Artem Ananiev wrote:
>> On 10/15/2013 12:46 AM, srikalyan chandrashekar wrote:
>>> Hi Jim, Thanks for reviewing and apologies for the delayed response, I
>>> have made sure to set the properties type as String -> Object but mostly
>>> the public constructor(OR) setter method enforces <?, ?> where <Object,
>>> Object> being too loose is guaranteed to not break at runtime but
>>> <String, Object> is brittle and may break at runtime . But as you said
>>> if it is documented then having this hole should be OK.  I have updated
>>> the webrev and is available in same location
>>> <https://github.com/srikalyc/JDKfixes/blob/master/java.awt.image.raw_unchecked_webrev.zip>.
>> The new version is uploaded here:
>> http://cr.openjdk.java.net/~art/srikalyc/8025684.02/
>> Thanks,
>> Artem
>>> --
>>> Thanks
>>> kalyan
>>> On 10/2/13 3:13 PM, Jim Graham wrote:
>>>> I'm not the greatest expert on generics (in particular, in terms of
>>>> issues of retrofitting generics into existing public code without
>>>> breaking compatibility), but I'll note that the properties on an image
>>>> were always "documented" to be String->Object, but that was well
>>>> before generics and so we just accepted bare hash tables everywhere.
>>>> Is it possible to have at least some of the declarations of various
>>>> properties objects to be declared as <String, Object> even though we
>>>> are loose on the acceptance criteria in various constructors - or
>>>> would that just completely break compatibility.  I know that we use
>>>> type erasure so we would never break binary compatibility, but there
>>>> may be some places where we can have them more strongly typed
>>>> internally for now, but more accepting at the external API level and
>>>> then possibly consider improving the externally-visible typing in
>>>> future versions when a source incompatibility is more appropriate?
>>>> (I'm asking because I don't understand all of the compatibility issues
>>>> that this might cause...)
>>>>              ...jim
>>>> On 10/2/13 3:02 AM, Artem Ananiev wrote:
>>>>> java.awt.image is one of the Java2D packages, so I'm adding 2d-dev to
>>>>> CC. Please, wait for at least one approval from Java2D team.
>>>>> For easier review, I put the webrev here:
>>>>> http://cr.openjdk.java.net/~art/srikalyc/8025684.00/
>>>>> It looks fine to me. There is one "unchecked" warning still left, at
>>>>> BufferedImage.java:645, it can be fixed by introducing a local
>>>>> variable
>>>>> and @SuppressWarnings("unchecked"), but I'm not sure it's worth doing.
>>>>> Thanks,
>>>>> Artem
>>>>> On 10/2/2013 1:51 AM, srikalyan chandrashekar wrote:
>>>>>> Hi team ,  could someone review the fix
>>>>>>       Bug      : https://bugs.openjdk.java.net/browse/JDK-8025684
>>>>>>       Webrev   :
>>>>>> https://github.com/srikalyc/JDKfixes/blob/master/java.awt.image.raw_unchecked_webrev.zip
>>>>>>       Fix      : Raw and unchecked warnings in AWT image classes fixed

More information about the awt-dev mailing list