X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/67eb921007efb1c9204e4b69fb85110fc23bf51f..9aab2d26da38f26e7ff03a0b5db3bd01b51bce05:/src/com/owncloud/android/operations/RemoteOperationResult.java diff --git a/src/com/owncloud/android/operations/RemoteOperationResult.java b/src/com/owncloud/android/operations/RemoteOperationResult.java index 1415228f..d8fbe460 100644 --- a/src/com/owncloud/android/operations/RemoteOperationResult.java +++ b/src/com/owncloud/android/operations/RemoteOperationResult.java @@ -30,6 +30,7 @@ import javax.net.ssl.SSLException; import org.apache.commons.httpclient.ConnectTimeoutException; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; +import org.apache.jackrabbit.webdav.DavException; import com.owncloud.android.network.CertificateCombinedException; @@ -65,13 +66,17 @@ public class RemoteOperationResult implements Serializable { SSL_RECOVERABLE_PEER_UNVERIFIED, BAD_OC_VERSION, STORAGE_ERROR_MOVING_FROM_TMP, - CANCELLED + CANCELLED, + INVALID_LOCAL_FILE_NAME, + INVALID_OVERWRITE, + CONFLICT } private boolean mSuccess = false; private int mHttpCode = -1; private Exception mException = null; private ResultCode mCode = ResultCode.UNKNOWN_ERROR; + private Object mExtraData = null; public RemoteOperationResult(ResultCode code) { mCode = code; @@ -96,6 +101,9 @@ public class RemoteOperationResult implements Serializable { case HttpStatus.SC_INTERNAL_SERVER_ERROR: mCode = ResultCode.INSTANCE_NOT_CONFIGURED; break; + case HttpStatus.SC_CONFLICT: + mCode = ResultCode.CONFLICT; + break; default: mCode = ResultCode.UNHANDLED_HTTP_CODE; } @@ -166,6 +174,14 @@ public class RemoteOperationResult implements Serializable { return mCode == ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED; } + public void setExtraData(Object data) { + mExtraData = data; + } + + public Object getExtraData() { + return mExtraData; + } + private CertificateCombinedException getCertificateCombinedException(Exception e) { CertificateCombinedException result = null; if (e instanceof CertificateCombinedException) { @@ -205,11 +221,17 @@ public class RemoteOperationResult implements Serializable { } else if (mException instanceof UnknownHostException) { return "Unknown host exception"; - } else if (mException instanceof SSLException) { - if (mCode == ResultCode.SSL_RECOVERABLE_PEER_UNVERIFIED) + } else if (mException instanceof CertificateCombinedException) { + if (((CertificateCombinedException) mException).isRecoverable()) return "SSL recoverable exception"; else return "SSL exception"; + + } else if (mException instanceof SSLException) { + return "SSL exception"; + + } else if (mException instanceof DavException) { + return "Unexpected WebDAV exception"; } else if (mException instanceof HttpException) { return "HTTP violation"; @@ -236,7 +258,7 @@ public class RemoteOperationResult implements Serializable { } return "Operation finished with HTTP status code " + mHttpCode + " (" + (isSuccess()?"success":"fail") + ")"; - + } }