On 16/03/2015 18:30, Sergey Bylokhov wrote:
Hello.
Please review the fix for jdk 9.
There are a number of public API which reference the unsupported java.awt. dnd.peer interfaces.

protected java.awt.dnd.DragSource.createDragSourceContext(java.awt.dnd.peer.DragSourceContextPeer, ...) public java.awt.dnd.DragSourceContext(java.awt.dnd.peer.DragSourceContextPeer, ...) constructor public java.awt.dnd.DropTarget.addNotify(ComponentPeer peer) and removeNotify(ComponentPeer peer) public java.awt.dnd.DropTargetContext.addNotify(DropTargetContextPeer dtcp)

There is a decision to remove these references as described: http://mail.openjdk.java.net/pipermail/awt-dev/2015-February/008924.html
Changes description:

  * DragSource.java, DragSourceContext.java, DropTarget.java : In all
    of these methods the peers are used as a parameters. In most of
    the cases these parameters are not necessary, because the peer can
    be accessed using the reference to the shared
    object(Component/DropTarget etc). Since these methods can be
    useful I did not remove them, but remove one parameter only.
  * DropTargetContext.java: addNotify() is called when we cannot get
    the information about a peer so I change type of the parameter and
    documentation of the method. It seems that these methods
    DropTargetContext.addNotify/removeNotify are not useful and I can
    change them by private version, but I don't know which way will be
    better.

Bug: https://bugs.openjdk.java.net/browse/JDK-8074763
Webrev can be found at: http://cr.openjdk.java.net/~serb/8074763/webrev.01
I'm not qualified to do a thorough review in this area but the removal of the methods with the peer types looks okay to me. As you are dropping the peer parameter (in some cases) or erasing the type (in other cases) then it's equivalent to removing old and adding new methods. The "new" methods should probably have @since 1.9. Another minor point is that IAE is not a checked exception, don't need the "throws IAE".

-Alan

Reply via email to