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:
commit
a18528effc
@ -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);
|
||||
|
@ -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 {
|
||||
|
@ -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())
|
||||
|
@ -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"
|
||||
|
@ -55,7 +55,7 @@ class UpdateRemoteShareOperation
|
||||
/**
|
||||
* @param remoteId Identifier of the share to update.
|
||||
*/
|
||||
private val remoteId: Long
|
||||
private val remoteId: String
|
||||
|
||||
) : RemoteOperation<ShareParserResult>() {
|
||||
/**
|
||||
|
@ -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>
|
||||
}
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user