--- 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());
}
}