--- old/src/share/classes/sun/awt/datatransfer/DataTransferer.java 2013-08-14 14:53:40.602961500 +0400 +++ new/src/share/classes/sun/awt/datatransfer/DataTransferer.java 2013-08-14 14:53:40.376948600 +0400 @@ -2406,15 +2406,6 @@ } /** - * Helper function to reduce a Map with DataFlavor keys to a DataFlavor - * array. The array will be sorted according to - * DataFlavorComparator. - */ - public static DataFlavor[] keysToDataFlavorArray(Map map) { - return setToSortedDataFlavorArray(map.keySet(), map); - } - - /** * Helper function to convert a Set of DataFlavors to a sorted array. * The array will be sorted according to DataFlavorComparator. */ @@ -2428,24 +2419,6 @@ } /** - * Helper function to convert a Set of DataFlavors to a sorted array. - * The array will be sorted according to a - * DataFlavorComparator created with the specified - * flavor-to-native map as an argument. - */ - public static DataFlavor[] setToSortedDataFlavorArray - (Set flavorsSet, Map flavorToNativeMap) - { - DataFlavor[] flavors = new DataFlavor[flavorsSet.size()]; - flavorsSet.toArray(flavors); - Comparator comparator = - new DataFlavorComparator(flavorToNativeMap, - IndexedComparator.SELECT_WORST); - Arrays.sort(flavors, comparator); - return flavors; - } - - /** * Helper function to convert an InputStream to a byte[] array. */ protected static byte[] inputStreamToByteArray(InputStream str) @@ -2724,11 +2697,9 @@ * application/x-java-* MIME types. Unknown application types are preferred * because if the user provides his own data flavor, it will likely be the * most descriptive one. For flavors which are otherwise equal, the - * flavors' native formats are compared, with greater long values - * taking precedence. + * flavors' string representation are compared in the alphabetical order. */ public static class DataFlavorComparator extends IndexedComparator { - protected final Map flavorToFormatMap; private final CharsetComparator charsetComparator; @@ -2864,20 +2835,6 @@ super(order); charsetComparator = new CharsetComparator(order); - flavorToFormatMap = Collections.EMPTY_MAP; - } - - public DataFlavorComparator(Map map) { - this(map, SELECT_BEST); - } - - public DataFlavorComparator(Map map, boolean order) { - super(order); - - charsetComparator = new CharsetComparator(order); - HashMap hashMap = new HashMap(map.size()); - hashMap.putAll(map); - flavorToFormatMap = Collections.unmodifiableMap(hashMap); } public int compare(Object obj1, Object obj2) { @@ -2973,10 +2930,9 @@ } } - // As a last resort, take the DataFlavor with the greater integer - // format. - return compareLongs(flavorToFormatMap, flavor1, flavor2, - UNKNOWN_OBJECT_LOSES_L); + // The flavours are not equal but still not distinguishable. + // Compare String representations in alphabetical order + return flavor1.getMimeType().compareTo(flavor2.getMimeType()); } }