HADOOP-16196. Path Parameterize Comparable.

Author:    David Mollitor <david.mollitor@cloudera.com>
This commit is contained in:
David Mollitor 2019-03-22 10:26:24 +00:00 committed by Steve Loughran
parent 90afc9ab03
commit 246ab77f28
No known key found for this signature in database
GPG Key ID: D22CF846DBB162A0
2 changed files with 11 additions and 12 deletions

View File

@ -40,7 +40,8 @@ import org.apache.hadoop.conf.Configuration;
@Stringable
@InterfaceAudience.Public
@InterfaceStability.Stable
public class Path implements Comparable, Serializable, ObjectInputValidation {
public class Path
implements Comparable<Path>, Serializable, ObjectInputValidation {
/**
* The directory separator, a slash.
@ -490,11 +491,10 @@ public class Path implements Comparable, Serializable, ObjectInputValidation {
}
@Override
public int compareTo(Object o) {
Path that = (Path)o;
return this.uri.compareTo(that.uri);
public int compareTo(Path o) {
return this.uri.compareTo(o.uri);
}
/**
* Returns the number of elements in this path.
* @return the number of elements in this path

View File

@ -860,16 +860,15 @@ public class MergeManagerImpl<K, V> implements MergeManager<K, V> {
}
@Override
public int compareTo(Object obj) {
if(obj instanceof CompressAwarePath) {
public int compareTo(Path obj) {
if (obj instanceof CompressAwarePath) {
CompressAwarePath compPath = (CompressAwarePath) obj;
if(this.compressedSize < compPath.getCompressedSize()) {
return -1;
} else if (this.getCompressedSize() > compPath.getCompressedSize()) {
return 1;
}
int c = Long.compare(this.compressedSize, compPath.compressedSize);
// Not returning 0 here so that objects with the same size (but
// different paths) are still added to the TreeSet.
if (c != 0) {
return c;
}
}
return super.compareTo(obj);
}