diff --git a/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java index dda3ea0e..3d5b8fa2 100644 --- a/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/CopyRemoteFileOperation.java @@ -35,8 +35,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.resources.status.OwnCloudVersion; -import org.apache.commons.httpclient.HttpStatus; - import okhttp3.HttpUrl; @@ -115,7 +113,7 @@ public class CopyRemoteFileOperation extends RemoteOperation { if(status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) { result = new RemoteOperationResult(ResultCode.OK); - } else if (status == HttpStatus.SC_PRECONDITION_FAILED && !mOverwrite) { + } else if (status == HttpConstants.HTTP_PRECONDITION_FAILED && !mOverwrite) { result = new RemoteOperationResult(ResultCode.INVALID_OVERWRITE); client.exhaustResponse(copyMethod.getResponseAsStream()); diff --git a/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java index bc94a1d1..14b6f772 100644 --- a/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/MoveRemoteFileOperation.java @@ -24,13 +24,6 @@ package com.owncloud.android.lib.resources.files; -import java.io.IOException; - -import org.apache.commons.httpclient.HttpStatus; -import org.apache.jackrabbit.webdav.DavException; -import org.apache.jackrabbit.webdav.MultiStatusResponse; -import org.apache.jackrabbit.webdav.Status; - import android.util.Log; import com.owncloud.android.lib.common.OwnCloudClient; @@ -123,7 +116,7 @@ public class MoveRemoteFileOperation extends RemoteOperation { /// process response if(isSuccess(status)) { result = new RemoteOperationResult(ResultCode.OK); - } else if (status == HttpStatus.SC_PRECONDITION_FAILED && !mOverwrite) { + } else if (status == HttpConstants.HTTP_PRECONDITION_FAILED && !mOverwrite) { result = new RemoteOperationResult(ResultCode.INVALID_OVERWRITE); client.exhaustResponse(move.getResponseAsStream()); diff --git a/src/com/owncloud/android/lib/resources/files/RenameRemoteFileOperation.java b/src/com/owncloud/android/lib/resources/files/RenameRemoteFileOperation.java index 2731bc1c..517ae545 100644 --- a/src/com/owncloud/android/lib/resources/files/RenameRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/resources/files/RenameRemoteFileOperation.java @@ -36,9 +36,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.status.OwnCloudVersion; -import org.apache.commons.httpclient.HttpState; -import org.apache.commons.httpclient.HttpStatus; - import okhttp3.HttpUrl; @@ -91,53 +88,45 @@ public class RenameRemoteFileOperation extends RemoteOperation { */ @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - MoveMethod move = null; - - OwnCloudVersion version = client.getOwnCloudVersion(); - boolean versionWithForbiddenChars = + final OwnCloudVersion version = client.getOwnCloudVersion(); + final boolean versionWithForbiddenChars = (version != null && version.isVersionWithForbiddenCharacters()); - boolean noInvalidChars = FileUtils.isValidPath(mNewRemotePath, versionWithForbiddenChars); - if (noInvalidChars) { - try { - if (mNewName.equals(mOldName)) { - return new RemoteOperationResult(ResultCode.OK); - } - - if (targetPathIsUsed(client)) { - return new RemoteOperationResult(ResultCode.INVALID_OVERWRITE); - } - - move = new MoveMethod(HttpUrl.parse(client.getWebdavUri() + - WebdavUtils.encodePath(mOldRemotePath)), - client.getWebdavUri() + WebdavUtils.encodePath(mNewRemotePath), false); - //TODO: client.execute(move, RENAME_READ_TIMEOUT, RENAME_CONNECTION_TIMEOUT); - final int status = client.executeHttpMethod(move); - if(status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) { - result = new RemoteOperationResult(ResultCode.OK); - } else { - result = new RemoteOperationResult(move); - } - Log_OC.i(TAG, "Rename " + mOldRemotePath + " to " + mNewRemotePath + ": " + - result.getLogMessage() - ); - client.exhaustResponse(move.getResponseAsStream()); - - } catch (Exception e) { - result = new RemoteOperationResult(e); - Log_OC.e(TAG, "Rename " + mOldRemotePath + " to " + - ((mNewRemotePath == null) ? mNewName : mNewRemotePath) + ": " + - result.getLogMessage(), e); + if(!FileUtils.isValidPath(mNewRemotePath, versionWithForbiddenChars)) + return new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME); + try { + if (mNewName.equals(mOldName)) { + return new RemoteOperationResult(ResultCode.OK); } - } else { - result = new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME); - } + if (targetPathIsUsed(client)) { + return new RemoteOperationResult(ResultCode.INVALID_OVERWRITE); + } - return result; + final MoveMethod move = new MoveMethod(HttpUrl.parse(client.getWebdavUri() + + WebdavUtils.encodePath(mOldRemotePath)), + client.getWebdavUri() + WebdavUtils.encodePath(mNewRemotePath), false); + //TODO: client.execute(move, RENAME_READ_TIMEOUT, RENAME_CONNECTION_TIMEOUT); + final int status = client.executeHttpMethod(move); + final RemoteOperationResult result = + (status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) + ? new RemoteOperationResult(ResultCode.OK) + : new RemoteOperationResult(move); + + Log_OC.i(TAG, "Rename " + mOldRemotePath + " to " + mNewRemotePath + ": " + + result.getLogMessage() + ); + client.exhaustResponse(move.getResponseAsStream()); + return result; + } catch (Exception e) { + final RemoteOperationResult result = new RemoteOperationResult(e); + Log_OC.e(TAG, "Rename " + mOldRemotePath + " to " + + ((mNewRemotePath == null) ? mNewName : mNewRemotePath) + ": " + + result.getLogMessage(), e); + return result; + } } /**