Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Commit a18528e

Browse files
authored
Merge pull request #355 from owncloud/fix/parse_shareid_as_string
Parse shareId as String
2 parents af579a3 + 20c7c88 commit a18528e

File tree

7 files changed

+15
-31
lines changed

7 files changed

+15
-31
lines changed

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@
4646

4747
public class GetRemoteShareOperation extends RemoteOperation<ShareParserResult> {
4848

49-
private long mRemoteId;
49+
private String mRemoteId;
5050

51-
public GetRemoteShareOperation(long remoteId) {
51+
public GetRemoteShareOperation(String remoteId) {
5252
mRemoteId = remoteId;
5353
}
5454

@@ -60,7 +60,7 @@ protected RemoteOperationResult run(OwnCloudClient client) {
6060
Uri requestUri = client.getBaseUri();
6161
Uri.Builder uriBuilder = requestUri.buildUpon();
6262
uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH);
63-
uriBuilder.appendEncodedPath(Long.toString(mRemoteId));
63+
uriBuilder.appendEncodedPath(mRemoteId);
6464

6565
GetMethod getMethod = new GetMethod(new URL(uriBuilder.build().toString()));
6666
getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoteShare.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,19 @@ import java.io.File
3434
* @author David González Verdugo
3535
*/
3636
data class RemoteShare(
37-
var id: Long = 0,
37+
var id: String = "0",
3838
var shareWith: String = "",
3939
var path: String = "",
4040
var token: String = "",
4141
var sharedWithDisplayName: String = "",
4242
var sharedWithAdditionalInfo: String = "",
4343
var name: String = "",
4444
var shareLink: String = "",
45-
var fileSource: String = "0",
46-
var itemSource: String = "0",
4745
var shareType: ShareType? = ShareType.UNKNOWN,
4846
var permissions: Int = DEFAULT_PERMISSION,
4947
var sharedDate: Long = INIT_SHARED_DATE,
5048
var expirationDate: Long = INIT_EXPIRATION_DATE_IN_MILLIS,
51-
var isFolder: Boolean = path.endsWith(File.separator),
52-
var userId: Long = 0,
53-
val isValid: Boolean = id > -1
49+
var isFolder: Boolean = path.endsWith(File.separator)
5450
) {
5551

5652
companion object {

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import java.net.URL
4848
*
4949
* @param remoteShareId Share ID
5050
*/
51-
class RemoveRemoteShareOperation(private val remoteShareId: Long) : RemoteOperation<ShareParserResult>() {
51+
class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<ShareParserResult>() {
5252

5353
override fun run(client: OwnCloudClient): RemoteOperationResult<ShareParserResult> {
5454
var result: RemoteOperationResult<ShareParserResult>
@@ -57,7 +57,7 @@ class RemoveRemoteShareOperation(private val remoteShareId: Long) : RemoteOperat
5757
val requestUri = client.baseUri
5858
val uriBuilder = requestUri.buildUpon()
5959
uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH)
60-
uriBuilder.appendEncodedPath(remoteShareId.toString())
60+
uriBuilder.appendEncodedPath(remoteShareId)
6161

6262
val deleteMethod = DeleteMethod(
6363
URL(uriBuilder.build().toString())

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/ShareXMLParser.kt

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ class ShareXMLParser {
179179
name.equals(NODE_ID, ignoreCase = true) -> {// Parse Create XML Response
180180
share = RemoteShare()
181181
val value = readNode(parser, NODE_ID)
182-
share.id = Integer.parseInt(value).toLong()
182+
share.id = value
183183
}
184184
name.equals(NODE_URL, ignoreCase = true) -> {
185185
// NOTE: this field is received in all the public shares from OC 9.0.0
@@ -236,18 +236,14 @@ class ShareXMLParser {
236236
}
237237

238238
name.equals(NODE_ID, ignoreCase = true) -> {
239-
remoteShare.id = Integer.parseInt(readNode(parser, NODE_ID)).toLong()
239+
remoteShare.id = readNode(parser, NODE_ID)
240240
}
241241

242242
name.equals(NODE_ITEM_TYPE, ignoreCase = true) -> {
243243
remoteShare.isFolder = readNode(parser, NODE_ITEM_TYPE).equals(TYPE_FOLDER, ignoreCase = true)
244244
fixPathForFolder(remoteShare)
245245
}
246246

247-
name.equals(NODE_ITEM_SOURCE, ignoreCase = true) -> {
248-
remoteShare.itemSource = readNode(parser, NODE_ITEM_SOURCE)
249-
}
250-
251247
name.equals(NODE_PARENT, ignoreCase = true) -> {
252248
readNode(parser, NODE_PARENT)
253249
}
@@ -261,10 +257,6 @@ class ShareXMLParser {
261257
remoteShare.shareWith = readNode(parser, NODE_SHARE_WITH)
262258
}
263259

264-
name.equals(NODE_FILE_SOURCE, ignoreCase = true) -> {
265-
remoteShare.fileSource = readNode(parser, NODE_FILE_SOURCE)
266-
}
267-
268260
name.equals(NODE_PATH, ignoreCase = true) -> {
269261
remoteShare.path = readNode(parser, NODE_PATH)
270262
fixPathForFolder(remoteShare)
@@ -320,9 +312,7 @@ class ShareXMLParser {
320312
}
321313
}
322314

323-
if (remoteShare.isValid) {
324-
shares.add(remoteShare)
325-
}
315+
shares.add(remoteShare)
326316
}
327317

328318
private fun fixPathForFolder(share: RemoteShare) {
@@ -403,11 +393,9 @@ class ShareXMLParser {
403393
private const val NODE_ELEMENT = "element"
404394
private const val NODE_ID = "id"
405395
private const val NODE_ITEM_TYPE = "item_type"
406-
private const val NODE_ITEM_SOURCE = "item_source"
407396
private const val NODE_PARENT = "parent"
408397
private const val NODE_SHARE_TYPE = "share_type"
409398
private const val NODE_SHARE_WITH = "share_with"
410-
private const val NODE_FILE_SOURCE = "file_source"
411399
private const val NODE_PATH = "path"
412400
private const val NODE_PERMISSIONS = "permissions"
413401
private const val NODE_STIME = "stime"

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class UpdateRemoteShareOperation
5555
/**
5656
* @param remoteId Identifier of the share to update.
5757
*/
58-
private val remoteId: Long
58+
private val remoteId: String
5959

6060
) : RemoteOperation<ShareParserResult>() {
6161
/**

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ interface ShareService : Service {
4444
): RemoteOperationResult<ShareParserResult>
4545

4646
fun updateShare(
47-
remoteId: Long,
47+
remoteId: String,
4848
name: String,
4949
password: String?,
5050
expirationDate: Long,
5151
permissions: Int,
5252
publicUpload: Boolean
5353
): RemoteOperationResult<ShareParserResult>
5454

55-
fun deleteShare(remoteId: Long): RemoteOperationResult<ShareParserResult>
55+
fun deleteShare(remoteId: String): RemoteOperationResult<ShareParserResult>
5656
}

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class OCShareService(override val client: OwnCloudClient) :
6666
}.execute(client)
6767

6868
override fun updateShare(
69-
remoteId: Long,
69+
remoteId: String,
7070
name: String,
7171
password: String?,
7272
expirationDate: Long,
@@ -84,7 +84,7 @@ class OCShareService(override val client: OwnCloudClient) :
8484
this.retrieveShareDetails = true
8585
}.execute(client)
8686

87-
override fun deleteShare(remoteId: Long): RemoteOperationResult<ShareParserResult> =
87+
override fun deleteShare(remoteId: String): RemoteOperationResult<ShareParserResult> =
8888
RemoveRemoteShareOperation(
8989
remoteId
9090
).execute(client)

0 commit comments

Comments
 (0)