Skip to content

Commit

Permalink
Rename remote operations
Browse files Browse the repository at this point in the history
  • Loading branch information
abelgardep committed Feb 11, 2020
1 parent 5846948 commit dd6f61b
Show file tree
Hide file tree
Showing 14 changed files with 43 additions and 49 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -644,10 +644,9 @@ protected void onSaveInstanceState(Bundle outState) {
if (mServerInfo.mVersion != null) {
outState.putString(KEY_OC_VERSION, mServerInfo.mVersion.getVersion());
}

String authenticationMethodNames = mServerInfo.mAuthMethod.name();

outState.putString(KEY_SERVER_AUTH_METHOD, authenticationMethodNames);
if (mServerInfo.mAuthMethod != null) {
outState.putString(KEY_SERVER_AUTH_METHOD, mServerInfo.mAuthMethod.name());
}

/// Authentication PRE-fragment state
outState.putBoolean(KEY_PASSWORD_EXPOSED, isPasswordVisible());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@
import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory;
import com.owncloud.android.lib.common.network.RedirectionPath;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation;
import com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation;
import com.owncloud.android.operations.common.UseCaseHelper;
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation;
import com.owncloud.android.lib.resources.users.GetUserInfoRemoteOperation;

import java.lang.ref.WeakReference;

Expand All @@ -49,7 +48,6 @@ public class AuthenticatorAsyncTask extends AsyncTask<Object, Void, RemoteOperat
AuthenticatorAsyncTask(Activity activity) {
mContext = activity.getApplicationContext();
mListener = new WeakReference<>((OnAuthenticatorTaskListener) activity);
// mUseCaseHelper = new UseCaseHelper();
}

@Override
Expand Down Expand Up @@ -80,21 +78,21 @@ protected RemoteOperationResult doInBackground(Object... params) {
client.setCredentials(credentials);

// Operation - try credentials
CheckPathExistenceOperation checkPathExistenceOperation = new CheckPathExistenceOperation(
CheckPathExistenceRemoteOperation checkPathExistenceRemoteOperation = new CheckPathExistenceRemoteOperation(
OCFile.ROOT_PATH,
true
);
result = checkPathExistenceOperation.execute(client);
result = checkPathExistenceRemoteOperation.execute(client);

String targetUrlAfterPermanentRedirection = null;
if (checkPathExistenceOperation.wasRedirected()) {
RedirectionPath redirectionPath = checkPathExistenceOperation.getRedirectionPath();
if (checkPathExistenceRemoteOperation.wasRedirected()) {
RedirectionPath redirectionPath = checkPathExistenceRemoteOperation.getRedirectionPath();
targetUrlAfterPermanentRedirection = redirectionPath.getLastPermanentLocation();
}

// Operation - get display name
if (result.isSuccess()) {
GetRemoteUserInfoOperation remoteUserNameOperation = new GetRemoteUserInfoOperation();
GetUserInfoRemoteOperation remoteUserNameOperation = new GetUserInfoRemoteOperation();
if (targetUrlAfterPermanentRedirection != null) {
// we can't assume that any subpath of the domain is correctly redirected; ugly stuff
client = OwnCloudClientFactory.createOwnCloudClient(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation;
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation;
import com.owncloud.android.operations.common.SyncOperation;

/**
Expand All @@ -50,7 +50,7 @@ protected RemoteOperationResult<Account> run(OwnCloudClient client) {
return new RemoteOperationResult<>(new IllegalStateException(
"Account to validate is not the account connected to!"));
} else {
RemoteOperation checkPathExistenceOperation = new CheckPathExistenceOperation(OCFile.ROOT_PATH, false);
RemoteOperation checkPathExistenceOperation = new CheckPathExistenceRemoteOperation(OCFile.ROOT_PATH, false);
final RemoteOperationResult existenceCheckResult = checkPathExistenceOperation.execute(client);
final RemoteOperationResult<Account> result
= new RemoteOperationResult<>(existenceCheckResult.getCode());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,9 @@
import com.owncloud.android.lib.common.operations.OnRemoteOperationListener;
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation;
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation;
import timber.log.Timber;

import java.util.ArrayList;
import java.util.List;

/**
* Operation to find out what authentication method requires
* the server to access files.
Expand Down Expand Up @@ -62,7 +59,7 @@ public class DetectAuthenticationMethodOperation extends RemoteOperation<Authent
protected RemoteOperationResult<AuthenticationMethod> run(OwnCloudClient client) {
AuthenticationMethod authenticationMethod = null;

CheckPathExistenceOperation operation = new CheckPathExistenceOperation("",
CheckPathExistenceRemoteOperation operation = new CheckPathExistenceRemoteOperation("",
false);
client.clearCredentials();

Expand All @@ -80,6 +77,7 @@ protected RemoteOperationResult<AuthenticationMethod> run(OwnCloudClient client)
// Step 2: look for authentication methods
if (resultFromExistenceCheck.getHttpCode() == HttpConstants.HTTP_UNAUTHORIZED) {
String authenticateHeaders = resultFromExistenceCheck.getAuthenticateHeaders();
Timber.d("MEthods " + authenticateHeaders);
if (authenticateHeaders.contains("basic")) {
authenticationMethod = AuthenticationMethod.BASIC_HTTP_AUTH;
} else if (authenticateHeaders.contains("bearer")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.lib.resources.server.GetRemoteStatusOperation;
import com.owncloud.android.lib.resources.server.GetStatusRemoteOperation;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import timber.log.Timber;

Expand Down Expand Up @@ -68,7 +68,7 @@ public GetServerInfoOperation(String url, Context context) {
@Override
protected RemoteOperationResult<ServerInfo> run(OwnCloudClient client) {
// first: check the status of the server (including its version)
GetRemoteStatusOperation getStatusOperation = new GetRemoteStatusOperation();
GetStatusRemoteOperation getStatusOperation = new GetStatusRemoteOperation();
final RemoteOperationResult<OwnCloudVersion> remoteStatusResult = getStatusOperation.execute(client);
RemoteOperationResult<ServerInfo> result = new RemoteOperationResult(remoteStatusResult);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.status.GetRemoteCapabilitiesOperation;
import com.owncloud.android.lib.resources.server.GetRemoteStatusOperation;
import com.owncloud.android.lib.resources.server.GetStatusRemoteOperation;
import com.owncloud.android.lib.resources.status.RemoteCapability;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import com.owncloud.android.operations.common.SyncOperation;
Expand Down Expand Up @@ -61,7 +61,7 @@ protected RemoteOperationResult<RemoteCapability> run(OwnCloudClient client) {
ConnectivityManager cm =(ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork.isConnected()) {
GetRemoteStatusOperation getStatus = new GetRemoteStatusOperation();
GetStatusRemoteOperation getStatus = new GetStatusRemoteOperation();
RemoteOperationResult<OwnCloudVersion> statusResult = getStatus.execute(client);
if (statusResult.isSuccess()) {
serverVersion = statusResult.getData();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import com.owncloud.android.lib.resources.files.ReadRemoteFileOperation;
import com.owncloud.android.lib.resources.files.RemoteFile;
import com.owncloud.android.lib.resources.files.UploadRemoteFileOperation;
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation;
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation;
import com.owncloud.android.operations.common.SyncOperation;
import com.owncloud.android.utils.ConnectivityUtils;
import com.owncloud.android.utils.FileStorageUtils;
Expand Down Expand Up @@ -499,7 +499,7 @@ private boolean delayForWifi() {
* will be uploaded.
*/
private RemoteOperationResult grantFolderExistence(String pathToGrant, OwnCloudClient client) {
RemoteOperation checkPathExistenceOperation = new CheckPathExistenceOperation(pathToGrant, false);
RemoteOperation checkPathExistenceOperation = new CheckPathExistenceRemoteOperation(pathToGrant, false);
RemoteOperationResult result = checkPathExistenceOperation.execute(client);
if (!result.isSuccess() && result.getCode() == ResultCode.FILE_NOT_FOUND && mRemoteFolderToBeCreated) {
SyncOperation syncOp = new CreateFolderOperation(pathToGrant, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation;
import com.owncloud.android.lib.resources.users.GetUserInfoRemoteOperation;
import com.owncloud.android.operations.CheckCurrentCredentialsOperation;
import com.owncloud.android.operations.CopyFileOperation;
import com.owncloud.android.operations.CreateFolderOperation;
Expand Down Expand Up @@ -511,7 +511,7 @@ private Pair<Target, RemoteOperation> newOperation(Intent operationIntent) {

} else if (action.equals(ACTION_GET_USER_NAME)) {
// Get User Name
operation = new GetRemoteUserInfoOperation();
operation = new GetUserInfoRemoteOperation();

} else if (action.equals(ACTION_RENAME)) {
// Rename file or folder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
package com.owncloud.android.utils

import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation
import com.owncloud.android.operations.common.UseCaseHelper
import timber.log.Timber

class RemoteFileUtils {
companion object {
Expand Down Expand Up @@ -64,9 +66,10 @@ class RemoteFileUtils {
}

private fun existsFile(remotePath: String): Boolean {

val useCaseHelper = UseCaseHelper()
return useCaseHelper.checkPathExistence(remotePath).isSuccess
val exists = useCaseHelper.checkPathExistence(remotePath).getDataOrNull() == true
Timber.d("File with same name exists = " + exists)
return exists
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import com.owncloud.android.data.executeRemoteOperation
import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.OwnCloudClientFactory
import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation

class OCRemoteAuthenticationDataSource(private val context: Context) : RemoteAuthenticationDataSource {
override fun login(serverPath: String, username: String, password: String) {
Expand All @@ -36,7 +36,7 @@ class OCRemoteAuthenticationDataSource(private val context: Context) : RemoteAut
val client: OwnCloudClient =
OwnCloudClientFactory.createOwnCloudClient(url, context, false).apply { setCredentials(credentials) }

val operation = CheckPathExistenceOperation("/", true)
val operation = CheckPathExistenceRemoteOperation("/", true)
executeRemoteOperation { operation.execute(client) }

if (operation.wasRedirected()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,13 @@

package com.owncloud.android.data.server.datasources.implementation

import com.owncloud.android.data.executeRemoteOperation
import com.owncloud.android.data.server.datasources.RemoteServerDataSource
import com.owncloud.android.lib.resources.server.ServerService

class OCRemoteServerDataSource(
private val serverService: ServerService
) : RemoteServerDataSource {
override fun checkPathExistence(path: String, checkUserCredentials: Boolean): Boolean {
executeRemoteOperation {
serverService.checkPathExistence(path = path, isUserLogged = checkUserCredentials)
}.let { return it == Any() }
}
override fun checkPathExistence(path: String, checkUserCredentials: Boolean): Boolean =
serverService.checkPathExistence(path = path, isUserLogged = checkUserCredentials).data

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ import android.net.Uri
import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.server.AnonymousService
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation
import com.owncloud.android.lib.resources.server.GetRemoteStatusOperation
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation
import com.owncloud.android.lib.resources.server.GetStatusRemoteOperation
import com.owncloud.android.lib.resources.status.OwnCloudVersion

class OCAnonymousServerService(baseUrl: String) : AnonymousService {
var client: OwnCloudClient = OwnCloudClient(Uri.parse(baseUrl))

override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Any> =
CheckPathExistenceOperation(
override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean> =
CheckPathExistenceRemoteOperation(
remotePath = path,
isUserLogged = true
).execute(client)

override fun getRemoteStatus(path: String): RemoteOperationResult<OwnCloudVersion> =
GetRemoteStatusOperation().execute(client)
GetStatusRemoteOperation().execute(client)
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ package com.owncloud.android.data.server.network

import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.server.CheckPathExistenceOperation
import com.owncloud.android.lib.resources.server.CheckPathExistenceRemoteOperation
import com.owncloud.android.lib.resources.server.ServerService

class OCServerService(override val client: OwnCloudClient) : ServerService {
override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Any> =
CheckPathExistenceOperation(
override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean> =
CheckPathExistenceRemoteOperation(
remotePath = path,
isUserLogged = isUserLogged
).execute(client)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,11 @@ package com.owncloud.android.data.user.network

import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.users.GetRemoteUserInfoOperation
import com.owncloud.android.lib.resources.users.GetUserInfoRemoteOperation
import com.owncloud.android.lib.resources.users.RemoteUserInfo
import com.owncloud.android.lib.resources.users.UserInfoResponse
import com.owncloud.android.lib.resources.users.UserService

class OCUserService(override val client: OwnCloudClient) : UserService {
override fun getUserInfo(): RemoteOperationResult<RemoteUserInfo> =
GetRemoteUserInfoOperation().execute(client)
GetUserInfoRemoteOperation().execute(client)
}

0 comments on commit dd6f61b

Please sign in to comment.