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:
parent
af5228a425
commit
73b4ffe0b9
@ -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());
|
||||||
|
@ -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());
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user