Merge pull request #1034 from jclouds/fix-comparable-resourcemetadata

fix issue #607: NPE in compareTo method of ResourceMetadataImpl
This commit is contained in:
Adrian Cole 2012-12-04 23:46:06 -08:00
commit d9aaf94bd7
1 changed files with 6 additions and 4 deletions

View File

@ -20,6 +20,8 @@ package org.jclouds.domain.internal;
import static com.google.common.base.Objects.equal; import static com.google.common.base.Objects.equal;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.collect.ComparisonChain.start;
import static com.google.common.collect.Ordering.natural;
import java.net.URI; import java.net.URI;
import java.util.Map; import java.util.Map;
@ -62,10 +64,10 @@ public abstract class ResourceMetadataImpl<T extends Enum<T>> implements Resourc
* {@inheritDoc} * {@inheritDoc}
*/ */
@Override @Override
public int compareTo(ResourceMetadata<T> o) { public int compareTo(ResourceMetadata<T> that) {
if (getName() == null) return start()
return -1; .compare(this.getName(), that.getName(), natural().nullsLast())
return (this == o) ? 0 : getName().compareTo(o.getName()); .result();
} }
/** /**