<AWT Dev> <Swing Dev> [9] Review Request: 8143077 Deprecate InputEvent._MASK in favor of InputEvent._DOWN_MASK

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Oct 25 14:41:38 UTC 2016


On 20.10.16 10:04, Semyon Sadetsky wrote:
> The same is necessary for the user code. Look at the spec you propose:
>
>   63     /**
>   64      * The Shift key modifier constant.
>   65      *
>   66      * @deprecated It is recommended that SHIFT_DOWN_MASK be used
> instead.
>   67      */
>   68     @Deprecated(since = "9")
>   69     public static final int SHIFT_MASK = Event.SHIFT_MASK;
>
> After your fix developer gets deprecation warning, read your
> recommendation and simply replace SHIFT_MASK with SHIFT_DOWN_MASK which
> may cause wrong app behavior. You should add something to the spec to
> make developer pay attention.

I wonder why he should decide that the old code can be "simply replaced" 
by the new one? I suppose that at least he should read the specification 
of the new extended API. There is no notion that this api is replaced by 
the new one, there is a recommendation that the new one should be used 
instead.

>> We already have a notions that these "extended modifier constant"
>> should be used in the constructor of InputEvent and moreover in spec
>> of getModifiersEx() we have an additional examples how to use this
>> constants. This is why we will have a reference from old constans to
>> the new, and from getModifiers() to the getModifiersEx();
>>
>>>>>>>>>>> And, please, limit the length of the changed line in
>>>>>>>>>>> VMPanel.java
>>>>>>>>>>> to 80
>>>>>>>>>>> chars.
>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 10/2/2016 4:53 PM, Sergey Bylokhov wrote:
>>>>>>>>>>>>>>>> Thanks for the comments.
>>>>>>>>>>>>>>>> The new version:
>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~serb/8143077/webrev.01
>>>>>>>>>>>>>>>> The specification of Event class and
>>>>>>>>>>>>>>>> InputEvent.getModifiers()
>>>>>>>>>>>>>>>> are
>>>>>>>>>>>>>>>> updated.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 30.09.16 19:08, Jonathan Bluett-Duncan wrote:
>>>>>>>>>>>>>>>>> Hi Sergey,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I'm not a reviewer, but after reading the deprecation
>>>>>>>>>>>>>>>>> messages in
>>>>>>>>>>>>>>>>> Event.java
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     * @deprecated It is recommended that {@code AWTEvent}
>>>>>>>>>>>>>>>>> class
>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>> its
>>>>>>>>>>>>>>>>>     subclasses
>>>>>>>>>>>>>>>>>     *             be used instead.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I get the impression they would read better without the
>>>>>>>>>>>>>>>>> redundant
>>>>>>>>>>>>>>>>> "class" in the middle, like so.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     * @deprecated It is recommended that {@code AWTEvent}
>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>> its
>>>>>>>>>>>>>>>>> subclasses
>>>>>>>>>>>>>>>>>     *             be used instead.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Kind regards,
>>>>>>>>>>>>>>>>> Jonathan
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 30 September 2016 at 16:45, Sergey Bylokhov
>>>>>>>>>>>>>>>>> <Sergey.Bylokhov at oracle.com
>>>>>>>>>>>>>>>>> <mailto:Sergey.Bylokhov at oracle.com>>
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     Hello.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     Please review the fix for jdk9.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     This is request to deprecate the obsolete flags inside
>>>>>>>>>>>>>>>>> InputEvent.
>>>>>>>>>>>>>>>>>     This constants were marked as obsolete in jdk1.4 and
>>>>>>>>>>>>>>>>> were
>>>>>>>>>>>>>>>>> replaced
>>>>>>>>>>>>>>>>>     by the new one. In jdk1.4 the documentation were
>>>>>>>>>>>>>>>>> update
>>>>>>>>>>>>>>>>> with
>>>>>>>>>>>>>>>>> notion
>>>>>>>>>>>>>>>>>     that the new constants should be used. And this bug is
>>>>>>>>>>>>>>>>> about
>>>>>>>>>>>>>>>>>     official deprecation of them.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     We can replace old constants by the new one in the
>>>>>>>>>>>>>>>>> whole
>>>>>>>>>>>>>>>>> jdk,
>>>>>>>>>>>>>>>>> but I
>>>>>>>>>>>>>>>>>     updated only the code in InputEvent to make change
>>>>>>>>>>>>>>>>> smaller and
>>>>>>>>>>>>>>>>>     safer. So at least the new code in jdk and the code in
>>>>>>>>>>>>>>>>> applications
>>>>>>>>>>>>>>>>>     will start to use the new constants.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     The changes in jconsole are necessary to fix
>>>>>>>>>>>>>>>>> deprecation
>>>>>>>>>>>>>>>>> warning.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     jprt build passed, no new issues were found by
>>>>>>>>>>>>>>>>> jck/jtreg
>>>>>>>>>>>>>>>>> tests.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     Bug: https://bugs.openjdk.java.net/browse/JDK-8143077
>>>>>>>>>>>>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8143077>
>>>>>>>>>>>>>>>>>     Webrev can be found at:
>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~serb/8143077/webrev.00
>>>>>>>>>>>>>>>>> <http://cr.openjdk.java.net/~serb/8143077/webrev.00>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>     --
>>>>>>>>>>>>>>>>>     Best regards, Sergey.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Best regards, Sergey.


More information about the awt-dev mailing list