diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index c7b232baddf..01af5bfae2d 100644 --- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,14 +27,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.PostMethod; +import android.net.Uri; 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.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.methods.PostMethod; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -187,14 +190,18 @@ public void setGetShareDetails(boolean set) { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; PostMethod post = null; try { + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + // Post Method - post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + post = new PostMethod(uriBuilder.build().toString()); post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java index 3d3e396c669..bf232d63bba 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java @@ -1,6 +1,7 @@ /* ownCloud Android Library is available under MIT license * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -25,6 +26,8 @@ package com.owncloud.android.lib.resources.shares; +import android.net.Uri; + import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; @@ -59,7 +62,12 @@ protected RemoteOperationResult run(OwnCloudClient client) { // Get the response try { - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); + + get = new GetMethod(uriBuilder.build().toString()); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java index 569101ccb42..3d88ceba262 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java @@ -2,7 +2,8 @@ * * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -112,7 +113,7 @@ public GetRemoteShareesOperation(String searchString, int page, int perPage) { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; + RemoteOperationResult result; int status; GetMethod get = null; diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java index 3f6a434e940..5e4eb7d53ed 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,15 +27,17 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.GetMethod; +import android.net.Uri; 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.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.methods.GetMethod; + /** * Provide a list shares for a specific file. * The input is the full path of the desired file. @@ -71,14 +74,18 @@ public GetRemoteSharesForFileOperation(String remoteFilePath, boolean reshares, @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; GetMethod get = null; try { + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + // Get Method - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + get = new GetMethod(uriBuilder.build().toString()); // Add Parameters to Get Method get.setQueryString(new NameValuePair[]{ @@ -125,5 +132,4 @@ protected RemoteOperationResult run(OwnCloudClient client) { private boolean isSuccess(int status) { return (status == HttpStatus.SC_OK); } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java index 022a644a9ba..66c6615f27e 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java @@ -26,14 +26,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.GetMethod; +import android.net.Uri; 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.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.methods.GetMethod; + /** * Get the data from the server about ALL the known shares owned by the requester. */ @@ -56,7 +58,11 @@ protected RemoteOperationResult run(OwnCloudClient client) { // Get the response try { - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + + get = new GetMethod(uriBuilder.build().toString()); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java index b61a8ceed38..9654d43a9d2 100644 --- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,14 +27,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; +import android.net.Uri; 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.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; + /** * Remove a share */ @@ -57,14 +60,18 @@ public RemoveRemoteShareOperation(int remoteShareId) { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; DeleteMethod delete = null; try { - String id = "/" + String.valueOf(mRemoteShareId); - delete = new DeleteMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + uriBuilder.appendEncodedPath(String.valueOf(mRemoteShareId)); + + delete = new DeleteMethod(uriBuilder.build().toString()); delete.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); @@ -79,7 +86,7 @@ protected RemoteOperationResult run(OwnCloudClient client) { ); result = parser.parse(response); - Log_OC.d(TAG, "Unshare " + id + ": " + result.getLogMessage()); + Log_OC.d(TAG, "Unshare " + mRemoteShareId + ": " + result.getLogMessage()); } else { result = new RemoteOperationResult(false, delete); diff --git a/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java b/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java index 3b37c0353dc..45fcb18675d 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java @@ -1,6 +1,7 @@ /* ownCloud Android Library is available under MIT license * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -70,7 +71,7 @@ public RemoteOperationResult parse(String serverResponse) { return new RemoteOperationResult(RemoteOperationResult.ResultCode.WRONG_SERVER_RESPONSE); } - RemoteOperationResult result = null; + RemoteOperationResult result; ArrayList resultData = new ArrayList(); try { diff --git a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java index 056565d5747..cb355855515 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java @@ -1,5 +1,5 @@ /* ownCloud Android Library is available under MIT license - * Copyright (C) 2016 ownCloud GmbH. + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -30,13 +30,14 @@ * Contains Constants for Share Operation * * @author masensio + * @author David González Verdugo * */ public class ShareUtils { // OCS Route - public static final String SHARING_API_PATH ="/ocs/v1.php/apps/files_sharing/api/v1/shares"; + public static final String SHARING_API_PATH ="ocs/v2.php/apps/files_sharing/api/v1/shares"; // String to build the link with the token of a share: public static final String SHARING_LINK_PATH_BEFORE_VERSION_8 = "/public.php?service=files&t="; @@ -49,5 +50,4 @@ public static String getSharingLinkPath(OwnCloudVersion version){ return SHARING_LINK_PATH_BEFORE_VERSION_8; } } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java b/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java index 70891a4fe36..ef2337eb073 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java @@ -1,5 +1,5 @@ /* ownCloud Android Library is available under MIT license - * Copyright (C) 2016 ownCloud GmbH. + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -41,7 +41,7 @@ /** * Parser for Share API Response * @author masensio - * + * @author David González Verdugo */ public class ShareXMLParser { @@ -82,7 +82,7 @@ public class ShareXMLParser { private static final String TYPE_FOLDER = "folder"; - private static final int SUCCESS = 100; + private static final int SUCCESS = 200; private static final int ERROR_WRONG_PARAMETER = 400; private static final int ERROR_FORBIDDEN = 403; private static final int ERROR_NOT_FOUND = 404; @@ -172,7 +172,7 @@ public ArrayList parseXMLResponse(InputStream is) throws XmlPullParserE */ private ArrayList readOCS (XmlPullParser parser) throws XmlPullParserException, IOException { - ArrayList shares = new ArrayList(); + ArrayList shares = new ArrayList<>(); parser.require(XmlPullParser.START_TAG, ns , NODE_OCS); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { @@ -190,8 +190,6 @@ private ArrayList readOCS (XmlPullParser parser) throws XmlPullParserEx } return shares; - - } /** @@ -439,5 +437,4 @@ private void skip(XmlPullParser parser) throws XmlPullParserException, IOExcepti } } } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java index a16d4c66abb..29f2f48d2c7 100644 --- a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java @@ -208,7 +208,7 @@ protected RemoteOperationResult run(OwnCloudClient client) { try { Uri requestUri = client.getBaseUri(); Uri.Builder uriBuilder = requestUri.buildUpon(); - uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH.substring(1)); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); uriString = uriBuilder.build().toString(); diff --git a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java index a3c77e2610c..d59a32deb54 100644 --- a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java +++ b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java @@ -50,7 +50,7 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation { // OCS Routes - private static final String OCS_ROUTE = "ocs/v1.php/cloud/capabilities"; + private static final String OCS_ROUTE = "ocs/v2.php/cloud/capabilities"; // Arguments - names private static final String PARAM_FORMAT = "format"; diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java index ef0f4c04e1c..12e0486b0c2 100644 --- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java +++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java @@ -48,7 +48,7 @@ public class GetRemoteUserInfoOperation extends RemoteOperation { private static final String TAG = GetRemoteUserInfoOperation.class.getSimpleName(); // OCS Route - private static final String OCS_ROUTE = "/ocs/v1.php/cloud/user?format=json"; + private static final String OCS_ROUTE = "/ocs/v2.php/cloud/user?format=json"; // JSON Node names private static final String NODE_OCS = "ocs"; @@ -125,5 +125,4 @@ public static class UserInfo { public String mDisplayName = ""; public String mEmail = ""; } - -} +} \ No newline at end of file