1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-08 00:16:09 +00:00

remove furhter httpclinet constraints from move/copy operation

This commit is contained in:
theScrabi 2018-06-14 13:26:39 +02:00 committed by davigonz
parent af5228a425
commit 73b4ffe0b9
3 changed files with 34 additions and 54 deletions

View File

@ -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.common.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.lib.resources.status.OwnCloudVersion; import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.apache.commons.httpclient.HttpStatus;
import okhttp3.HttpUrl; import okhttp3.HttpUrl;
@ -115,7 +113,7 @@ public class CopyRemoteFileOperation extends RemoteOperation {
if(status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) { if(status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) {
result = new RemoteOperationResult(ResultCode.OK); 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); result = new RemoteOperationResult(ResultCode.INVALID_OVERWRITE);
client.exhaustResponse(copyMethod.getResponseAsStream()); client.exhaustResponse(copyMethod.getResponseAsStream());

View File

@ -24,13 +24,6 @@
package com.owncloud.android.lib.resources.files; 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 android.util.Log;
import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClient;
@ -123,7 +116,7 @@ public class MoveRemoteFileOperation extends RemoteOperation {
/// process response /// process response
if(isSuccess(status)) { if(isSuccess(status)) {
result = new RemoteOperationResult(ResultCode.OK); 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); result = new RemoteOperationResult(ResultCode.INVALID_OVERWRITE);
client.exhaustResponse(move.getResponseAsStream()); client.exhaustResponse(move.getResponseAsStream());

View File

@ -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.common.utils.Log_OC;
import com.owncloud.android.lib.resources.status.OwnCloudVersion; import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.apache.commons.httpclient.HttpState;
import org.apache.commons.httpclient.HttpStatus;
import okhttp3.HttpUrl; import okhttp3.HttpUrl;
@ -91,16 +88,14 @@ public class RenameRemoteFileOperation extends RemoteOperation {
*/ */
@Override @Override
protected RemoteOperationResult run(OwnCloudClient client) { protected RemoteOperationResult run(OwnCloudClient client) {
RemoteOperationResult result = null;
MoveMethod move = null; final OwnCloudVersion version = client.getOwnCloudVersion();
final boolean versionWithForbiddenChars =
OwnCloudVersion version = client.getOwnCloudVersion();
boolean versionWithForbiddenChars =
(version != null && version.isVersionWithForbiddenCharacters()); (version != null && version.isVersionWithForbiddenCharacters());
boolean noInvalidChars = FileUtils.isValidPath(mNewRemotePath, versionWithForbiddenChars);
if (noInvalidChars) { if(!FileUtils.isValidPath(mNewRemotePath, versionWithForbiddenChars))
return new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME);
try { try {
if (mNewName.equals(mOldName)) { if (mNewName.equals(mOldName)) {
return new RemoteOperationResult(ResultCode.OK); return new RemoteOperationResult(ResultCode.OK);
@ -110,35 +105,29 @@ public class RenameRemoteFileOperation extends RemoteOperation {
return new RemoteOperationResult(ResultCode.INVALID_OVERWRITE); return new RemoteOperationResult(ResultCode.INVALID_OVERWRITE);
} }
move = new MoveMethod(HttpUrl.parse(client.getWebdavUri() + final MoveMethod move = new MoveMethod(HttpUrl.parse(client.getWebdavUri() +
WebdavUtils.encodePath(mOldRemotePath)), WebdavUtils.encodePath(mOldRemotePath)),
client.getWebdavUri() + WebdavUtils.encodePath(mNewRemotePath), false); client.getWebdavUri() + WebdavUtils.encodePath(mNewRemotePath), false);
//TODO: client.execute(move, RENAME_READ_TIMEOUT, RENAME_CONNECTION_TIMEOUT); //TODO: client.execute(move, RENAME_READ_TIMEOUT, RENAME_CONNECTION_TIMEOUT);
final int status = client.executeHttpMethod(move); final int status = client.executeHttpMethod(move);
if(status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT) { final RemoteOperationResult result =
result = new RemoteOperationResult(ResultCode.OK); (status == HttpConstants.HTTP_CREATED || status == HttpConstants.HTTP_NO_CONTENT)
} else { ? new RemoteOperationResult(ResultCode.OK)
result = new RemoteOperationResult(move); : new RemoteOperationResult(move);
}
Log_OC.i(TAG, "Rename " + mOldRemotePath + " to " + mNewRemotePath + ": " + Log_OC.i(TAG, "Rename " + mOldRemotePath + " to " + mNewRemotePath + ": " +
result.getLogMessage() result.getLogMessage()
); );
client.exhaustResponse(move.getResponseAsStream()); client.exhaustResponse(move.getResponseAsStream());
return result;
} catch (Exception e) { } catch (Exception e) {
result = new RemoteOperationResult(e); final RemoteOperationResult result = new RemoteOperationResult(e);
Log_OC.e(TAG, "Rename " + mOldRemotePath + " to " + Log_OC.e(TAG, "Rename " + mOldRemotePath + " to " +
((mNewRemotePath == null) ? mNewName : mNewRemotePath) + ": " + ((mNewRemotePath == null) ? mNewName : mNewRemotePath) + ": " +
result.getLogMessage(), e); result.getLogMessage(), e);
}
} else {
result = new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME);
}
return result; return result;
} }
}
/** /**
* Checks if a file with the new name already exists. * Checks if a file with the new name already exists.