mirror of https://github.com/apache/jclouds.git
Implement Comparable in GoGrid ErrorResponse
Gson collects errors in a TreeMap which requires a well-behaved Comparable method. This addresses a Java 7 GoGrid failure seen in GridServerClientExpectTest.testGetServerCredentialsWhenNotFoundThrowsResourceNotFoundExceptionWithNiceMessage: java.lang.ClassCastException: org.jclouds.gogrid.domain.internal.ErrorResponse cannot be cast to java.lang.Comparable
This commit is contained in:
parent
e7354c6f4a
commit
67b3f78838
|
@ -24,13 +24,14 @@ import java.beans.ConstructorProperties;
|
|||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
import com.google.common.collect.ComparisonChain;
|
||||
|
||||
/**
|
||||
* Class ErrorResponse
|
||||
*
|
||||
* @author Oleksiy Yarmula
|
||||
*/
|
||||
public class ErrorResponse {
|
||||
public class ErrorResponse implements Comparable<ErrorResponse> {
|
||||
|
||||
public static Builder<?> builder() {
|
||||
return new ConcreteBuilder();
|
||||
|
@ -113,6 +114,14 @@ public class ErrorResponse {
|
|||
&& Objects.equal(this.errorCode, that.errorCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(ErrorResponse that) {
|
||||
return ComparisonChain.start()
|
||||
.compare(errorCode, that.errorCode)
|
||||
.compare(message, that.message)
|
||||
.result();
|
||||
}
|
||||
|
||||
protected ToStringHelper string() {
|
||||
return Objects.toStringHelper(this)
|
||||
.add("message", message).add("errorCode", errorCode);
|
||||
|
|
Loading…
Reference in New Issue