1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +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,53 +88,45 @@ 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))
try { return new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME);
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);
try {
if (mNewName.equals(mOldName)) {
return new RemoteOperationResult(ResultCode.OK);
} }
} else { if (targetPathIsUsed(client)) {
result = new RemoteOperationResult(ResultCode.INVALID_CHARACTER_IN_NAME); 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;
}
} }
/** /**