From 7696616a440f6fc5f43b2163984f714c6f06e709 Mon Sep 17 00:00:00 2001 From: masensio Date: Thu, 20 Mar 2014 14:02:25 +0100 Subject: [PATCH] Revert "Changes from comments in PR#442, in oc-project" This reverts commit 3bf858e2a7ea154e4a00e98fe95d98153b416bbf. --- .../shares/CreateRemoteShareOperation.java | 102 +++++++----------- .../lib/resources/shares/ShareUtils.java | 3 - 2 files changed, 41 insertions(+), 64 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index d31760da..7c97c40e 100644 --- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java @@ -101,75 +101,55 @@ public class CreateRemoteShareOperation extends RemoteOperation { PostMethod post = null; try { + // Post Method + post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); - // Check if the share link already exists - GetRemoteSharesForFileOperation operation = new GetRemoteSharesForFileOperation(mRemoteFilePath, false, false); - result = ((GetRemoteSharesForFileOperation)operation).execute(client); + post.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters + post.addParameter(PARAM_PATH, mRemoteFilePath); + post.addParameter(PARAM_SHARE_TYPE, Integer.toString(mShareType.getValue())); + post.addParameter(PARAM_SHARE_WITH, mShareWith); + post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(mPublicUpload)); + if (mPassword != null && mPassword.length() > 0) { + post.addParameter(PARAM_PASSWORD, mPassword); + } + post.addParameter(PARAM_PERMISSIONS, Integer.toString(mPermissions)); - if (result.isSuccess()) { - if (result.getData().size() > 0) { - OCShare share = (OCShare) result.getData().get(0); - // Update the link, build it with the token: server address + "/public.php?service=files&t=" + token - share.setShareLink(client.getBaseUri() + ShareUtils.SHARING_LINK_TOKEN + share.getToken()); - Log.d(TAG, "Build Share link= " + share.getShareLink()); - - result = new RemoteOperationResult(ResultCode.OK); - ArrayList sharesObjects = new ArrayList(); - sharesObjects.add(share); - result.setData(sharesObjects); - } - } else { - // Post Method - post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); - Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); + post.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); + + status = client.executeMethod(post); - post.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters - post.addParameter(PARAM_PATH, mRemoteFilePath); - post.addParameter(PARAM_SHARE_TYPE, Integer.toString(mShareType.getValue())); - post.addParameter(PARAM_SHARE_WITH, mShareWith); - post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(mPublicUpload)); - if (mPassword != null && mPassword.length() > 0) { - post.addParameter(PARAM_PASSWORD, mPassword); - } - post.addParameter(PARAM_PERMISSIONS, Integer.toString(mPermissions)); + if(isSuccess(status)) { + String response = post.getResponseBodyAsString(); + Log.d(TAG, "Successful response: " + response); - post.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); - - status = client.executeMethod(post); - - if(isSuccess(status)) { - String response = post.getResponseBodyAsString(); - Log.d(TAG, "Successful response: " + response); - - result = new RemoteOperationResult(ResultCode.OK); - - // Parse xml response --> obtain the response in ShareFiles ArrayList - // convert String into InputStream - InputStream is = new ByteArrayInputStream(response.getBytes()); - ShareXMLParser xmlParser = new ShareXMLParser(); - mShares = xmlParser.parseXMLResponse(is); - if (xmlParser.isSuccess()) { - if (mShares != null) { - Log.d(TAG, "Shares: " + mShares.size()); - result = new RemoteOperationResult(ResultCode.OK); - ArrayList sharesObjects = new ArrayList(); - for (OCShare share: mShares) { - sharesObjects.add(share); - } - result.setData(sharesObjects); + result = new RemoteOperationResult(ResultCode.OK); + + // Parse xml response --> obtain the response in ShareFiles ArrayList + // convert String into InputStream + InputStream is = new ByteArrayInputStream(response.getBytes()); + ShareXMLParser xmlParser = new ShareXMLParser(); + mShares = xmlParser.parseXMLResponse(is); + if (xmlParser.isSuccess()) { + if (mShares != null) { + Log.d(TAG, "Shares: " + mShares.size()); + result = new RemoteOperationResult(ResultCode.OK); + ArrayList sharesObjects = new ArrayList(); + for (OCShare share: mShares) { + sharesObjects.add(share); } - } else if (xmlParser.isFileNotFound()){ - result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); - - } else { - result = new RemoteOperationResult(false, status, post.getResponseHeaders()); + result.setData(sharesObjects); } - + } else if (xmlParser.isFileNotFound()){ + result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); + } else { - result = new RemoteOperationResult(false, status, post.getResponseHeaders()); + result = new RemoteOperationResult(false, status, post.getResponseHeaders()); } - } - + + } else { + result = new RemoteOperationResult(false, status, post.getResponseHeaders()); + } } catch (Exception e) { result = new RemoteOperationResult(e); diff --git a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java index d69f8473..9e2e6b99 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java @@ -35,8 +35,5 @@ public class ShareUtils { // OCS Route public static final String SHARING_API_PATH ="/ocs/v1.php/apps/files_sharing/api/v1/shares"; - - // String to build the link with the token of a share: server address + "/public.php?service=files&t=" + token - public static final String SHARING_LINK_TOKEN = "/public.php?service=files&t="; }