X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/69d6d821ec1311e6804d1398140ccf9e2d8d0e5c..e901b609baa4dd5f681e2a5257c9e504997e3377:/src/com/owncloud/android/operations/OAuth2GetAccessToken.java diff --git a/src/com/owncloud/android/operations/OAuth2GetAccessToken.java b/src/com/owncloud/android/operations/OAuth2GetAccessToken.java index fbbe2544..6f4ff741 100644 --- a/src/com/owncloud/android/operations/OAuth2GetAccessToken.java +++ b/src/com/owncloud/android/operations/OAuth2GetAccessToken.java @@ -1,5 +1,6 @@ package com.owncloud.android.operations; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -9,11 +10,12 @@ import org.json.JSONException; import org.json.JSONObject; import com.owncloud.android.authentication.OAuth2Constants; -import com.owncloud.android.operations.RemoteOperationResult.ResultCode; +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.common.operations.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.common.utils.Log_OC; -import android.util.Log; - -import eu.alefzero.webdav.WebdavClient; public class OAuth2GetAccessToken extends RemoteOperation { @@ -36,18 +38,15 @@ public class OAuth2GetAccessToken extends RemoteOperation { mOAuth2ParsedAuthorizationResponse = new HashMap(); mResultTokenMap = null; } - - - public Map getOauth2AutorizationResponse() { - return mOAuth2ParsedAuthorizationResponse; - } + /* public Map getResultTokenMap() { return mResultTokenMap; } + */ @Override - protected RemoteOperationResult run(WebdavClient client) { + protected RemoteOperationResult run(OwnCloudClient client) { RemoteOperationResult result = null; PostMethod postMethod = null; @@ -62,14 +61,14 @@ public class OAuth2GetAccessToken extends RemoteOperation { } if (result == null) { - NameValuePair[] nameValuePairs = new NameValuePair[5]; + NameValuePair[] nameValuePairs = new NameValuePair[4]; nameValuePairs[0] = new NameValuePair(OAuth2Constants.KEY_GRANT_TYPE, mGrantType); nameValuePairs[1] = new NameValuePair(OAuth2Constants.KEY_CODE, mOAuth2ParsedAuthorizationResponse.get(OAuth2Constants.KEY_CODE)); nameValuePairs[2] = new NameValuePair(OAuth2Constants.KEY_REDIRECT_URI, mRedirectUri); nameValuePairs[3] = new NameValuePair(OAuth2Constants.KEY_CLIENT_ID, mClientId); //nameValuePairs[4] = new NameValuePair(OAuth2Constants.KEY_SCOPE, mOAuth2ParsedAuthorizationResponse.get(OAuth2Constants.KEY_SCOPE)); - postMethod = new PostMethod(client.getBaseUri().toString()); + postMethod = new PostMethod(client.getWebdavUri().toString()); postMethod.setRequestBody(nameValuePairs); int status = client.executeMethod(postMethod); @@ -81,12 +80,15 @@ public class OAuth2GetAccessToken extends RemoteOperation { result = new RemoteOperationResult(ResultCode.OAUTH2_ERROR); } else { - result = new RemoteOperationResult(true, status); + result = new RemoteOperationResult(true, status, postMethod.getResponseHeaders()); + ArrayList data = new ArrayList(); + data.add(mResultTokenMap); + result.setData(data); } } else { client.exhaustResponse(postMethod.getResponseBodyAsStream()); - result = new RemoteOperationResult(false, status); + result = new RemoteOperationResult(false, status, postMethod.getResponseHeaders()); } } @@ -98,16 +100,16 @@ public class OAuth2GetAccessToken extends RemoteOperation { postMethod.releaseConnection(); // let the connection available for other methods if (result.isSuccess()) { - Log.i(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getBaseUri() + ": " + result.getLogMessage()); + Log_OC.i(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getWebdavUri() + ": " + result.getLogMessage()); } else if (result.getException() != null) { - Log.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getBaseUri() + ": " + result.getLogMessage(), result.getException()); + Log_OC.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getWebdavUri() + ": " + result.getLogMessage(), result.getException()); } else if (result.getCode() == ResultCode.OAUTH2_ERROR) { - Log.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getBaseUri() + ": " + ((mResultTokenMap != null) ? mResultTokenMap.get(OAuth2Constants.KEY_ERROR) : "NULL")); + Log_OC.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getWebdavUri() + ": " + ((mResultTokenMap != null) ? mResultTokenMap.get(OAuth2Constants.KEY_ERROR) : "NULL")); } else { - Log.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getBaseUri() + ": " + result.getLogMessage()); + Log_OC.e(TAG, "OAuth2 TOKEN REQUEST with auth code " + mOAuth2ParsedAuthorizationResponse.get("code") + " to " + client.getWebdavUri() + ": " + result.getLogMessage()); } } @@ -135,7 +137,7 @@ public class OAuth2GetAccessToken extends RemoteOperation { sb.append(value + "\n"); } - Log.v(TAG, "[" + i + "," + j + "] = " + p); + Log_OC.v(TAG, "[" + i + "," + j + "] = " + p); j++; } i++;