Loading src/com/owncloud/android/lib/common/operations/RemoteOperationResult.java +2 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,8 @@ public class RemoteOperationResult implements Serializable { INVALID_COPY_INTO_DESCENDANT, PARTIAL_MOVE_DONE, PARTIAL_COPY_DONE, INVALID_CHARACTER_DETECT_IN_SERVER SHARE_WRONG_PARAMETER, WRONG_SERVER_RESPONSE, INVALID_CHARACTER_DETECT_IN_SERVER } private boolean mSuccess = false; Loading src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +20 −14 Original line number Diff line number Diff line Loading @@ -140,8 +140,7 @@ public class CreateRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = post.getResponseBodyAsString(); result = new RemoteOperationResult(ResultCode.OK); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream Loading @@ -149,37 +148,44 @@ public class CreateRemoteShareOperation extends RemoteOperation { ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { if (mShares != null && mShares.size() > 0) { Log_OC.d(TAG, "Created " + mShares.size() + " share(s)"); result = new RemoteOperationResult(ResultCode.OK); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share: mShares) { sharesObjects.add(share); resultData.add(share); } result.setData(sharesObjects); result.setData(resultData); if (mGetShareDetails) { // retrieve more info OCShare emptyShare = (OCShare) sharesObjects.get(0); OCShare emptyShare = (OCShare) resultData.get(0); GetRemoteShareOperation getInfo = new GetRemoteShareOperation(emptyShare.getIdRemoteShared()); result = getInfo.execute(client); } } else { result = new RemoteOperationResult(ResultCode.UNKNOWN_ERROR); Log_OC.e(TAG, "Successful response with no share in it"); result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isFileNotFound()){ } 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.isFailure()) { // TODO need deeper processing } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(false, status, post.getResponseHeaders()); result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } } else { Loading src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +31 −8 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ 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; Loading Loading @@ -71,21 +69,46 @@ public class GetRemoteShareOperation extends RemoteOperation { get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); //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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); sharesObjects.add(shares.get(0)); result.setData(sharesObjects); 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); } } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); } Loading src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +39 −19 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ 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 com.owncloud.android.lib.resources.status.OwnCloudVersion; /** * Provide a list shares for a specific file. Loading Loading @@ -103,18 +102,17 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); result = new RemoteOperationResult(ResultCode.OK); 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 (mShares != null) { 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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share: mShares) { // Build the link if ( share.getShareType() == ShareType.PUBLIC_LINK && Loading @@ -126,9 +124,31 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { share.setShareLink(client.getBaseUri() + linkToken + share.getToken()); } sharesObjects.add(share); resultData.add(share); } result.setData(sharesObjects); 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); } } else { Loading src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +29 −7 Original line number Diff line number Diff line Loading @@ -68,23 +68,45 @@ public class GetRemoteSharesOperation extends RemoteOperation { get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); 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(); mShares = xmlParser.parseXMLResponse(is); if (mShares != null) { 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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share : mShares) { sharesObjects.add(share); resultData.add(share); } result.setData(resultData); } result.setData(sharesObjects); } 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 { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); } Loading Loading
src/com/owncloud/android/lib/common/operations/RemoteOperationResult.java +2 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,8 @@ public class RemoteOperationResult implements Serializable { INVALID_COPY_INTO_DESCENDANT, PARTIAL_MOVE_DONE, PARTIAL_COPY_DONE, INVALID_CHARACTER_DETECT_IN_SERVER SHARE_WRONG_PARAMETER, WRONG_SERVER_RESPONSE, INVALID_CHARACTER_DETECT_IN_SERVER } private boolean mSuccess = false; Loading
src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +20 −14 Original line number Diff line number Diff line Loading @@ -140,8 +140,7 @@ public class CreateRemoteShareOperation extends RemoteOperation { if(isSuccess(status)) { String response = post.getResponseBodyAsString(); result = new RemoteOperationResult(ResultCode.OK); ArrayList<Object> resultData = new ArrayList<Object>(); // Parse xml response --> obtain the response in ShareFiles ArrayList // convert String into InputStream Loading @@ -149,37 +148,44 @@ public class CreateRemoteShareOperation extends RemoteOperation { ShareXMLParser xmlParser = new ShareXMLParser(); mShares = xmlParser.parseXMLResponse(is); if (xmlParser.isSuccess()) { if (mShares != null) { if (mShares != null && mShares.size() > 0) { Log_OC.d(TAG, "Created " + mShares.size() + " share(s)"); result = new RemoteOperationResult(ResultCode.OK); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share: mShares) { sharesObjects.add(share); resultData.add(share); } result.setData(sharesObjects); result.setData(resultData); if (mGetShareDetails) { // retrieve more info OCShare emptyShare = (OCShare) sharesObjects.get(0); OCShare emptyShare = (OCShare) resultData.get(0); GetRemoteShareOperation getInfo = new GetRemoteShareOperation(emptyShare.getIdRemoteShared()); result = getInfo.execute(client); } } else { result = new RemoteOperationResult(ResultCode.UNKNOWN_ERROR); Log_OC.e(TAG, "Successful response with no share in it"); result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); Log_OC.e(TAG, "Successful status with no share in it"); } } else if (xmlParser.isFileNotFound()){ } 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.isFailure()) { // TODO need deeper processing } else if (xmlParser.isForbidden()) { result = new RemoteOperationResult(ResultCode.SHARE_FORBIDDEN); resultData.add(xmlParser.getMessage()); result.setData(resultData); } else { result = new RemoteOperationResult(false, status, post.getResponseHeaders()); result = new RemoteOperationResult(ResultCode.WRONG_SERVER_RESPONSE); } } else { Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +31 −8 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ 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; Loading Loading @@ -71,21 +69,46 @@ public class GetRemoteShareOperation extends RemoteOperation { get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); //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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); sharesObjects.add(shares.get(0)); result.setData(sharesObjects); 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); } } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); } Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +39 −19 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ 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 com.owncloud.android.lib.resources.status.OwnCloudVersion; /** * Provide a list shares for a specific file. Loading Loading @@ -103,18 +102,17 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { if(isSuccess(status)) { String response = get.getResponseBodyAsString(); result = new RemoteOperationResult(ResultCode.OK); 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 (mShares != null) { 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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share: mShares) { // Build the link if ( share.getShareType() == ShareType.PUBLIC_LINK && Loading @@ -126,9 +124,31 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { share.setShareLink(client.getBaseUri() + linkToken + share.getToken()); } sharesObjects.add(share); resultData.add(share); } result.setData(sharesObjects); 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); } } else { Loading
src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +29 −7 Original line number Diff line number Diff line Loading @@ -68,23 +68,45 @@ public class GetRemoteSharesOperation extends RemoteOperation { get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); 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(); mShares = xmlParser.parseXMLResponse(is); if (mShares != null) { 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); ArrayList<Object> sharesObjects = new ArrayList<Object>(); for (OCShare share : mShares) { sharesObjects.add(share); resultData.add(share); } result.setData(resultData); } result.setData(sharesObjects); } 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 { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); } Loading