<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hello,<div><br></div><div>I've updated the fix. The new version is located here:</div><div><a href="http://cr.openjdk.java.net/~pchelko/9/8037485/webrev.01/">http://cr.openjdk.java.net/~pchelko/9/8037485/webrev.01/</a></div><div><br></div><div>I've reverted RMI changes as they will be handled separately. </div><div>Also I've changed package names, now the internal part of the datatransfer module is called sun.datatransfer. This allowed to make less renamings and leave sun.awt.datatransfer package as is. </div><div><br></div><div>With best regards. Petr.</div><div><br><div><div>On 18 июля 2014 г., at 13:15, Alan Bateman <<a href="mailto:Alan.Bateman@oracle.com">Alan.Bateman@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 17/07/2014 12:07, Petr Pchelko
      wrote:<br>
    </div>
    <blockquote cite="mid:AC897956-F1CC-457F-B99D-24082558C011@oracle.com" type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>Hello,<br>
        <br>
        Please review the fix for the issue:<br>
        <a moz-do-not-send="true" href="https://bugs.openjdk.java.net/browse/JDK-8037485">https://bugs.openjdk.java.net/browse/JDK-8037485</a><br>
        The fix is available at:<br>
        <a moz-do-not-send="true" href="http://cr.openjdk.java.net/%7Epchelko/9/8037485/webrev.00">http://cr.openjdk.java.net/~pchelko/9/8037485/webrev.00</a><br>
        <br>
        This fix separates the public datatransfer API from the desktop
        module. The datatransfer module would contain
        java.awt.datatransfer and sun.awt.datatransfer packages.<br>
        The sun.awt.datatransfer.desktop contains platform-dependent
        features of the datatransfer system and belongs to the desktop
        module. So, most of the changes are just package renaming.<br>
        <br>
        DataTransferer class was split into 2 parts:<br>
        1. Utilities to work with the DataFlavor is moved to the
        DataFlavorUtil class. It's just a collection of uility functions
        and classes<br>
        2. Java objects to native representation converters are left in
        the DataTransferer class and moved to the desktop module. It's
        needed only with DnD and system clipboard API, so it naturally
        belong to desktop.<br>
        <br>
        DesktopDatatransferServices was created. This is a collection of
        services that datatrasfer module could use from desktop if
        desktop is present. ServiceLoader is used because reflection
        does not cross module boundaries for non-exported APIs<br>
        <br>
        RMIAccessServices - a collection of services which RMI module
        might provide to desktop and datatransfer. If RMI module is
        present we can transfer RMI classes. If not - we cannot. <br>
        <br>
        The fix was tested on all platforms with jtreg and JCK. No new
        test failures found. Also the fix was tested without the RMI and
        without the desktop module.</div>
    </blockquote>
    Mandy and I had a brief discussion with Petr about this. One
    suggestion is to separate out the changes related to RMI as there
    are other approaches there. This would also make it a bit easier to
    review the most important work to factor out the datatransfer API.<br>
    <br>
    -Alan.<br>
  </div>

</blockquote></div><br></div></body></html>