1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 07:56:19 +00:00

Merge pull request #355 from owncloud/fix/parse_shareid_as_string

Parse shareId as String
This commit is contained in:
Abel García de Prada 2020-12-01 17:28:10 +01:00 committed by GitHub
commit a18528effc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 15 additions and 31 deletions

View File

@ -46,9 +46,9 @@ import java.net.URL;
public class GetRemoteShareOperation extends RemoteOperation<ShareParserResult> {
private long mRemoteId;
private String mRemoteId;
public GetRemoteShareOperation(long remoteId) {
public GetRemoteShareOperation(String remoteId) {
mRemoteId = remoteId;
}
@ -60,7 +60,7 @@ public class GetRemoteShareOperation extends RemoteOperation<ShareParserResult>
Uri requestUri = client.getBaseUri();
Uri.Builder uriBuilder = requestUri.buildUpon();
uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH);
uriBuilder.appendEncodedPath(Long.toString(mRemoteId));
uriBuilder.appendEncodedPath(mRemoteId);
GetMethod getMethod = new GetMethod(new URL(uriBuilder.build().toString()));
getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);

View File

@ -34,7 +34,7 @@ import java.io.File
* @author David González Verdugo
*/
data class RemoteShare(
var id: Long = 0,
var id: String = "0",
var shareWith: String = "",
var path: String = "",
var token: String = "",
@ -42,15 +42,11 @@ data class RemoteShare(
var sharedWithAdditionalInfo: String = "",
var name: String = "",
var shareLink: String = "",
var fileSource: String = "0",
var itemSource: String = "0",
var shareType: ShareType? = ShareType.UNKNOWN,
var permissions: Int = DEFAULT_PERMISSION,
var sharedDate: Long = INIT_SHARED_DATE,
var expirationDate: Long = INIT_EXPIRATION_DATE_IN_MILLIS,
var isFolder: Boolean = path.endsWith(File.separator),
var userId: Long = 0,
val isValid: Boolean = id > -1
var isFolder: Boolean = path.endsWith(File.separator)
) {
companion object {

View File

@ -48,7 +48,7 @@ import java.net.URL
*
* @param remoteShareId Share ID
*/
class RemoveRemoteShareOperation(private val remoteShareId: Long) : RemoteOperation<ShareParserResult>() {
class RemoveRemoteShareOperation(private val remoteShareId: String) : RemoteOperation<ShareParserResult>() {
override fun run(client: OwnCloudClient): RemoteOperationResult<ShareParserResult> {
var result: RemoteOperationResult<ShareParserResult>
@ -57,7 +57,7 @@ class RemoveRemoteShareOperation(private val remoteShareId: Long) : RemoteOperat
val requestUri = client.baseUri
val uriBuilder = requestUri.buildUpon()
uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH)
uriBuilder.appendEncodedPath(remoteShareId.toString())
uriBuilder.appendEncodedPath(remoteShareId)
val deleteMethod = DeleteMethod(
URL(uriBuilder.build().toString())

View File

@ -179,7 +179,7 @@ class ShareXMLParser {
name.equals(NODE_ID, ignoreCase = true) -> {// Parse Create XML Response
share = RemoteShare()
val value = readNode(parser, NODE_ID)
share.id = Integer.parseInt(value).toLong()
share.id = value
}
name.equals(NODE_URL, ignoreCase = true) -> {
// NOTE: this field is received in all the public shares from OC 9.0.0
@ -236,7 +236,7 @@ class ShareXMLParser {
}
name.equals(NODE_ID, ignoreCase = true) -> {
remoteShare.id = Integer.parseInt(readNode(parser, NODE_ID)).toLong()
remoteShare.id = readNode(parser, NODE_ID)
}
name.equals(NODE_ITEM_TYPE, ignoreCase = true) -> {
@ -244,10 +244,6 @@ class ShareXMLParser {
fixPathForFolder(remoteShare)
}
name.equals(NODE_ITEM_SOURCE, ignoreCase = true) -> {
remoteShare.itemSource = readNode(parser, NODE_ITEM_SOURCE)
}
name.equals(NODE_PARENT, ignoreCase = true) -> {
readNode(parser, NODE_PARENT)
}
@ -261,10 +257,6 @@ class ShareXMLParser {
remoteShare.shareWith = readNode(parser, NODE_SHARE_WITH)
}
name.equals(NODE_FILE_SOURCE, ignoreCase = true) -> {
remoteShare.fileSource = readNode(parser, NODE_FILE_SOURCE)
}
name.equals(NODE_PATH, ignoreCase = true) -> {
remoteShare.path = readNode(parser, NODE_PATH)
fixPathForFolder(remoteShare)
@ -320,9 +312,7 @@ class ShareXMLParser {
}
}
if (remoteShare.isValid) {
shares.add(remoteShare)
}
shares.add(remoteShare)
}
private fun fixPathForFolder(share: RemoteShare) {
@ -403,11 +393,9 @@ class ShareXMLParser {
private const val NODE_ELEMENT = "element"
private const val NODE_ID = "id"
private const val NODE_ITEM_TYPE = "item_type"
private const val NODE_ITEM_SOURCE = "item_source"
private const val NODE_PARENT = "parent"
private const val NODE_SHARE_TYPE = "share_type"
private const val NODE_SHARE_WITH = "share_with"
private const val NODE_FILE_SOURCE = "file_source"
private const val NODE_PATH = "path"
private const val NODE_PERMISSIONS = "permissions"
private const val NODE_STIME = "stime"

View File

@ -55,7 +55,7 @@ class UpdateRemoteShareOperation
/**
* @param remoteId Identifier of the share to update.
*/
private val remoteId: Long
private val remoteId: String
) : RemoteOperation<ShareParserResult>() {
/**

View File

@ -44,7 +44,7 @@ interface ShareService : Service {
): RemoteOperationResult<ShareParserResult>
fun updateShare(
remoteId: Long,
remoteId: String,
name: String,
password: String?,
expirationDate: Long,
@ -52,5 +52,5 @@ interface ShareService : Service {
publicUpload: Boolean
): RemoteOperationResult<ShareParserResult>
fun deleteShare(remoteId: Long): RemoteOperationResult<ShareParserResult>
fun deleteShare(remoteId: String): RemoteOperationResult<ShareParserResult>
}

View File

@ -66,7 +66,7 @@ class OCShareService(override val client: OwnCloudClient) :
}.execute(client)
override fun updateShare(
remoteId: Long,
remoteId: String,
name: String,
password: String?,
expirationDate: Long,
@ -84,7 +84,7 @@ class OCShareService(override val client: OwnCloudClient) :
this.retrieveShareDetails = true
}.execute(client)
override fun deleteShare(remoteId: Long): RemoteOperationResult<ShareParserResult> =
override fun deleteShare(remoteId: String): RemoteOperationResult<ShareParserResult> =
RemoveRemoteShareOperation(
remoteId
).execute(client)