diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index c7b232ba..01af5bfa 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 class CreateRemoteShareOperation extends RemoteOperation { @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 3d3e396c..bf232d63 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 @@ public class GetRemoteShareOperation extends RemoteOperation { // 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 569101cc..3d88ceba 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 class GetRemoteShareesOperation extends RemoteOperation{ @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 3f6a434e..5e4eb7d5 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 class GetRemoteSharesForFileOperation extends RemoteOperation { @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 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { 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 022a644a..66c6615f 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 @@ public class GetRemoteSharesOperation extends RemoteOperation { // 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 b61a8cee..9654d43a 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 class RemoveRemoteShareOperation extends RemoteOperation { @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 @@ public class RemoveRemoteShareOperation extends RemoteOperation { ); 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 3b37c035..45fcb186 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 class ShareToRemoteOperationResultParser { 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 056565d5..cb355855 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 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion; * 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 class ShareUtils { 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 70891a4f..ef2337eb 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 @@ import com.owncloud.android.lib.resources.files.FileUtils; /** * 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 class ShareXMLParser { */ 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 @@ public class ShareXMLParser { } return shares; - - } /** @@ -439,5 +437,4 @@ public class ShareXMLParser { } } } - -} +} \ 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 a16d4c66..29f2f48d 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 @@ public class UpdateRemoteShareOperation extends RemoteOperation { 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 a3c77e26..d59a32de 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 ef0f4c04..12e0486b 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 class GetRemoteUserInfoOperation extends RemoteOperation { public String mDisplayName = ""; public String mEmail = ""; } - -} +} \ No newline at end of file