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