Loading src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +19 −57 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,24 +26,16 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Creates a new share. This allows sharing with a user or group or as a link. * * @author masensio * */ public class CreateRemoteShareOperation extends RemoteOperation { Loading @@ -54,8 +48,6 @@ public class CreateRemoteShareOperation extends RemoteOperation { private static final String PARAM_PASSWORD = "password"; private static final String PARAM_PERMISSIONS = "permissions"; private ArrayList<OCShare> mShares; // List of shares for result, one share in this case private String mRemoteFilePath; private ShareType mShareType; private String mShareWith; Loading Loading @@ -118,7 +110,6 @@ public class CreateRemoteShareOperation extends RemoteOperation { try { // Post Method post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); //Log_OC.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); post.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters Loading @@ -127,7 +118,7 @@ public class CreateRemoteShareOperation extends RemoteOperation { post.addParameter(PARAM_SHARE_TYPE, Integer.toString(mShareType.getValue())); post.addParameter(PARAM_SHARE_WITH, mShareWith); if (mPublicUpload) { post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(mPublicUpload)); post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(true)); } if (mPassword != null && mPassword.length() > 0) { post.addParameter(PARAM_PASSWORD, mPassword); Loading @@ -140,52 +131,23 @@ public class CreateRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = post.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null && mShares.size() > 0) { Log_OC.d(TAG, "Created " + mShares.size() + " share(s)"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share: mShares) { resultData.add(share); } result.setData(resultData); if (mGetShareDetails) { // retrieve more info OCShare emptyShare = (OCShare) resultData.get(0); ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOneOrMoreSharesRequired(true); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); if (result.isSuccess()) { Log_OC.d(TAG, "Created " + result.getData().size() + " share(s)"); // should be one if (mGetShareDetails) { // retrieve more info - POST operation only returns the index of the new share OCShare emptyShare = (OCShare) result.getData().get(0); GetRemoteShareOperation getInfo = new GetRemoteShareOperation(emptyShare.getIdRemoteShared()); result = getInfo.execute(client); } } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } } else { Loading src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +11 −43 Original line number Diff line number Diff line Loading @@ -28,17 +28,11 @@ package com.owncloud.android.lib.resources.shares; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * Get the data about a Share resource, known its remote ID. Loading Loading @@ -67,47 +61,21 @@ public class GetRemoteShareOperation extends RemoteOperation { // Get the response try{ get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); //get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); List<OCShare> shares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (shares != null && shares.size() > 0) { Log_OC.d(TAG, "Got " + shares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); resultData.add(shares.get(0)); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOneOrMoreSharesRequired(true); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +14 −58 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,10 +26,6 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; Loading @@ -35,18 +33,14 @@ import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Provide a list shares for a specific file. * The input is the full path of the desired file. * The output is a list of everyone who has the file shared with them. * * @author masensio * */ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesForFileOperation.class.getSimpleName(); Loading @@ -55,8 +49,6 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String PARAM_RESHARES = "reshares"; private static final String PARAM_SUBFILES = "subfiles"; private ArrayList<OCShare> mShares; // List of shares for result, one share in this case private String mRemoteFilePath; private boolean mReshares; private boolean mSubfiles; Loading Loading @@ -102,53 +94,17 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { // 0 shares is a right response Log_OC.d(TAG, "Got " + mShares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share: mShares) { // Build the link if ( share.getShareType() == ShareType.PUBLIC_LINK && share.getShareLink() == null && share.getToken().length() > 0 ) { String linkToken = ShareUtils.getSharingToken( client.getOwnCloudVersion()); share.setShareLink(client.getBaseUri() + linkToken + share.getToken()); } resultData.add(share); } result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); if (result.isSuccess()) { Log_OC.d(TAG, "Got " + result.getData().size() + " shares"); } } else { Loading src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +10 −44 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,33 +26,24 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Get the data from the server about ALL the known shares owned by the requester. * * @author masensio * */ public class GetRemoteSharesOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesOperation.class.getSimpleName(); private ArrayList<OCShare> mShares; // List of shares for result public GetRemoteSharesOperation() { } Loading @@ -71,41 +64,14 @@ public class GetRemoteSharesOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { // 0 shares is a right response Log_OC.d(TAG, "Got " + mShares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share : mShares) { resultData.add(share); } result.setData(resultData); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +10 −36 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,24 +26,16 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.HttpStatus; import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Remove a share * * @author masensio * */ public class RemoveRemoteShareOperation extends RemoteOperation { Loading Loading @@ -78,35 +72,15 @@ public class RemoveRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = delete.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { result = new RemoteOperationResult(ResultCode.OK); } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); result = parser.parse(response); Log_OC.d(TAG, "Unshare " + id + ": " + result.getLogMessage()); } else { result = new RemoteOperationResult(false, status, delete.getResponseHeaders()); } Loading Loading
src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +19 −57 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,24 +26,16 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Creates a new share. This allows sharing with a user or group or as a link. * * @author masensio * */ public class CreateRemoteShareOperation extends RemoteOperation { Loading @@ -54,8 +48,6 @@ public class CreateRemoteShareOperation extends RemoteOperation { private static final String PARAM_PASSWORD = "password"; private static final String PARAM_PERMISSIONS = "permissions"; private ArrayList<OCShare> mShares; // List of shares for result, one share in this case private String mRemoteFilePath; private ShareType mShareType; private String mShareWith; Loading Loading @@ -118,7 +110,6 @@ public class CreateRemoteShareOperation extends RemoteOperation { try { // Post Method post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); //Log_OC.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH); post.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters Loading @@ -127,7 +118,7 @@ public class CreateRemoteShareOperation extends RemoteOperation { post.addParameter(PARAM_SHARE_TYPE, Integer.toString(mShareType.getValue())); post.addParameter(PARAM_SHARE_WITH, mShareWith); if (mPublicUpload) { post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(mPublicUpload)); post.addParameter(PARAM_PUBLIC_UPLOAD, Boolean.toString(true)); } if (mPassword != null && mPassword.length() > 0) { post.addParameter(PARAM_PASSWORD, mPassword); Loading @@ -140,52 +131,23 @@ public class CreateRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = post.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null && mShares.size() > 0) { Log_OC.d(TAG, "Created " + mShares.size() + " share(s)"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share: mShares) { resultData.add(share); } result.setData(resultData); if (mGetShareDetails) { // retrieve more info OCShare emptyShare = (OCShare) resultData.get(0); ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOneOrMoreSharesRequired(true); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); if (result.isSuccess()) { Log_OC.d(TAG, "Created " + result.getData().size() + " share(s)"); // should be one if (mGetShareDetails) { // retrieve more info - POST operation only returns the index of the new share OCShare emptyShare = (OCShare) result.getData().get(0); GetRemoteShareOperation getInfo = new GetRemoteShareOperation(emptyShare.getIdRemoteShared()); result = getInfo.execute(client); } } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } } else { Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +11 −43 Original line number Diff line number Diff line Loading @@ -28,17 +28,11 @@ package com.owncloud.android.lib.resources.shares; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * Get the data about a Share resource, known its remote ID. Loading Loading @@ -67,47 +61,21 @@ public class GetRemoteShareOperation extends RemoteOperation { // Get the response try{ get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); //get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); List<OCShare> shares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (shares != null && shares.size() > 0) { Log_OC.d(TAG, "Got " + shares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); resultData.add(shares.get(0)); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOneOrMoreSharesRequired(true); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +14 −58 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,10 +26,6 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; Loading @@ -35,18 +33,14 @@ import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Provide a list shares for a specific file. * The input is the full path of the desired file. * The output is a list of everyone who has the file shared with them. * * @author masensio * */ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesForFileOperation.class.getSimpleName(); Loading @@ -55,8 +49,6 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { private static final String PARAM_RESHARES = "reshares"; private static final String PARAM_SUBFILES = "subfiles"; private ArrayList<OCShare> mShares; // List of shares for result, one share in this case private String mRemoteFilePath; private boolean mReshares; private boolean mSubfiles; Loading Loading @@ -102,53 +94,17 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { // 0 shares is a right response Log_OC.d(TAG, "Got " + mShares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share: mShares) { // Build the link if ( share.getShareType() == ShareType.PUBLIC_LINK && share.getShareLink() == null && share.getToken().length() > 0 ) { String linkToken = ShareUtils.getSharingToken( client.getOwnCloudVersion()); share.setShareLink(client.getBaseUri() + linkToken + share.getToken()); } resultData.add(share); } result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); if (result.isSuccess()) { Log_OC.d(TAG, "Got " + result.getData().size() + " shares"); } } else { Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +10 −44 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,33 +26,24 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.http.HttpStatus; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Get the data from the server about ALL the known shares owned by the requester. * * @author masensio * */ public class GetRemoteSharesOperation extends RemoteOperation { private static final String TAG = GetRemoteSharesOperation.class.getSimpleName(); private ArrayList<OCShare> mShares; // List of shares for result public GetRemoteSharesOperation() { } Loading @@ -71,41 +64,14 @@ public class GetRemoteSharesOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { // 0 shares is a right response Log_OC.d(TAG, "Got " + mShares.size() + " shares"); result = new RemoteOperationResult(ResultCode.OK); for (OCShare share : mShares) { resultData.add(share); } result.setData(resultData); } } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); parser.setOwnCloudVersion(client.getOwnCloudVersion()); parser.setServerBaseUri(client.getBaseUri()); result = parser.parse(response); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading
src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +10 −36 Original line number Diff line number Diff line /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco * Copyright (C) 2015 ownCloud Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy Loading @@ -24,24 +26,16 @@ package com.owncloud.android.lib.resources.shares; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import org.apache.commons.httpclient.HttpStatus; import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; 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.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; /** * Remove a share * * @author masensio * */ public class RemoveRemoteShareOperation extends RemoteOperation { Loading Loading @@ -78,35 +72,15 @@ public class RemoveRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = delete.getResponseBodyAsString(); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response // convert String into InputStream InputStream is = new ByteArrayInputStream(response.getBytes()); ShareXMLParser xmlParser = new ShareXMLParser(); xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { result = new RemoteOperationResult(ResultCode.OK); } else if (xmlParser.isWrongParameter()){ result = new RemoteOperationResult(ResultCode.SHARE_WRONG_PARAMETER); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isNotFound()){ result = new RemoteOperationResult(ResultCode.SHARE_NOT_FOUND); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } // Parse xml response and obtain the list of shares ShareToRemoteOperationResultParser parser = new ShareToRemoteOperationResultParser( new ShareXMLParser() ); result = parser.parse(response); Log_OC.d(TAG, "Unshare " + id + ": " + result.getLogMessage()); } else { result = new RemoteOperationResult(false, status, delete.getResponseHeaders()); } Loading