mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 10:27:45 +00:00 
			
		
		
		
	Revert "Allow conditional read of list of files in a folder based on ETag"; server does not work that way
This reverts commit 5ff9062ea8fefb1bf2b3952b9d64daa4f9922a39.
This commit is contained in:
		
							parent
							
								
									b87d2c9e7c
								
							
						
					
					
						commit
						67d7217d13
					
				| @ -61,8 +61,8 @@ import javax.net.ssl.SSLException; | |||||||
|  */ |  */ | ||||||
| public class RemoteOperationResult implements Serializable { | public class RemoteOperationResult implements Serializable { | ||||||
| 
 | 
 | ||||||
|     /** Generated - should be refreshed every time the class changes!! */; | 	/** Generated - should be refreshed every time the class changes!! */; | ||||||
|     private static final long serialVersionUID = -1909603208238358633L; |     private static final long serialVersionUID = 1129130415603799707L; | ||||||
| 
 | 
 | ||||||
|     private static final String TAG = RemoteOperationResult.class.getSimpleName(); |     private static final String TAG = RemoteOperationResult.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
| @ -100,20 +100,19 @@ public class RemoteOperationResult implements Serializable { | |||||||
|         ACCOUNT_NOT_THE_SAME, |         ACCOUNT_NOT_THE_SAME, | ||||||
|         INVALID_CHARACTER_IN_NAME, |         INVALID_CHARACTER_IN_NAME, | ||||||
|         SHARE_NOT_FOUND, |         SHARE_NOT_FOUND, | ||||||
|         LOCAL_STORAGE_NOT_REMOVED, | 		LOCAL_STORAGE_NOT_REMOVED, | ||||||
|         FORBIDDEN, | 		FORBIDDEN, | ||||||
|         SHARE_FORBIDDEN, | 		SHARE_FORBIDDEN, | ||||||
|         OK_REDIRECT_TO_NON_SECURE_CONNECTION, | 		OK_REDIRECT_TO_NON_SECURE_CONNECTION,  | ||||||
|         INVALID_MOVE_INTO_DESCENDANT, | 		INVALID_MOVE_INTO_DESCENDANT, | ||||||
|         INVALID_COPY_INTO_DESCENDANT, |         INVALID_COPY_INTO_DESCENDANT, | ||||||
|         PARTIAL_MOVE_DONE, | 		PARTIAL_MOVE_DONE, | ||||||
|         PARTIAL_COPY_DONE, |         PARTIAL_COPY_DONE, | ||||||
|         SHARE_WRONG_PARAMETER, |         SHARE_WRONG_PARAMETER, | ||||||
|         WRONG_SERVER_RESPONSE, |         WRONG_SERVER_RESPONSE, | ||||||
|         INVALID_CHARACTER_DETECT_IN_SERVER, |         INVALID_CHARACTER_DETECT_IN_SERVER, | ||||||
|         DELAYED_FOR_WIFI, |         DELAYED_FOR_WIFI, | ||||||
|         LOCAL_FILE_NOT_FOUND, |         LOCAL_FILE_NOT_FOUND | ||||||
|         NOT_MODIFIED |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private boolean mSuccess = false; |     private boolean mSuccess = false; | ||||||
| @ -128,7 +127,7 @@ public class RemoteOperationResult implements Serializable { | |||||||
| 
 | 
 | ||||||
|     public RemoteOperationResult(ResultCode code) { |     public RemoteOperationResult(ResultCode code) { | ||||||
|         mCode = code; |         mCode = code; | ||||||
|         mSuccess = (code == ResultCode.OK || code == ResultCode.OK_SSL || | 		mSuccess = (code == ResultCode.OK || code == ResultCode.OK_SSL || | ||||||
|                 code == ResultCode.OK_NO_SSL || |                 code == ResultCode.OK_NO_SSL || | ||||||
|                 code == ResultCode.OK_REDIRECT_TO_NON_SECURE_CONNECTION); |                 code == ResultCode.OK_REDIRECT_TO_NON_SECURE_CONNECTION); | ||||||
|         mData = null; |         mData = null; | ||||||
| @ -158,11 +157,9 @@ public class RemoteOperationResult implements Serializable { | |||||||
|             case HttpStatus.SC_INSUFFICIENT_STORAGE: |             case HttpStatus.SC_INSUFFICIENT_STORAGE: | ||||||
|                 mCode = ResultCode.QUOTA_EXCEEDED; |                 mCode = ResultCode.QUOTA_EXCEEDED; | ||||||
|                 break; |                 break; | ||||||
|             case HttpStatus.SC_FORBIDDEN: | 			case HttpStatus.SC_FORBIDDEN: | ||||||
|                 mCode = ResultCode.FORBIDDEN; | 				mCode = ResultCode.FORBIDDEN; | ||||||
|                 break; |                 break; | ||||||
|             case HttpStatus.SC_NOT_MODIFIED: |  | ||||||
|                 mCode = ResultCode.NOT_MODIFIED; |  | ||||||
|             default: |             default: | ||||||
|                 mCode = ResultCode.UNHANDLED_HTTP_CODE; |                 mCode = ResultCode.UNHANDLED_HTTP_CODE; | ||||||
|                 Log_OC.d(TAG, "RemoteOperationResult has processed UNHANDLED_HTTP_CODE: " + |                 Log_OC.d(TAG, "RemoteOperationResult has processed UNHANDLED_HTTP_CODE: " + | ||||||
| @ -409,13 +406,10 @@ public class RemoteOperationResult implements Serializable { | |||||||
|                 return "The file name contains an forbidden character"; |                 return "The file name contains an forbidden character"; | ||||||
| 
 | 
 | ||||||
|         } else if (mCode == ResultCode.FILE_NOT_FOUND) { |         } else if (mCode == ResultCode.FILE_NOT_FOUND) { | ||||||
|            return "Local file does not exist"; | 	  	    return "Local file does not exist"; | ||||||
| 
 | 
 | ||||||
|         } else if (mCode == ResultCode.SYNC_CONFLICT) { |  	    } else if (mCode == ResultCode.SYNC_CONFLICT) { | ||||||
|             return "Synchronization conflict"; |             return "Synchronization conflict"; | ||||||
| 
 |  | ||||||
|         } else if (mCode == ResultCode.NOT_MODIFIED) { |  | ||||||
|             return "Resource in server was not modified"; |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         return "Operation finished with HTTP status code " + mHttpCode + " (" + |         return "Operation finished with HTTP status code " + mHttpCode + " (" + | ||||||
|  | |||||||
| @ -47,42 +47,28 @@ import com.owncloud.android.lib.common.utils.Log_OC; | |||||||
| 
 | 
 | ||||||
| public class ReadRemoteFolderOperation extends RemoteOperation { | public class ReadRemoteFolderOperation extends RemoteOperation { | ||||||
| 
 | 
 | ||||||
|     private static final String TAG = ReadRemoteFolderOperation.class.getSimpleName(); | 	private static final String TAG = ReadRemoteFolderOperation.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
|     private static final String IF_NONE_MATCH_HEADER = "If-None-Match"; | 	private String mRemotePath; | ||||||
|  | 	private ArrayList<Object> mFolderAndFiles; | ||||||
| 	 | 	 | ||||||
|     private String mRemotePath; | 	/** | ||||||
|     private String mETagToNotMatch; |  | ||||||
|     private ArrayList<Object> mFolderAndFiles; |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * Constructor |      * Constructor | ||||||
|      *  |      *  | ||||||
|      * @param remotePath		Remote path of the file.  |      * @param remotePath		Remote path of the file.  | ||||||
|      */ |      */ | ||||||
|     public ReadRemoteFolderOperation(String remotePath) { | 	public ReadRemoteFolderOperation(String remotePath) { | ||||||
|         mRemotePath = remotePath; | 		mRemotePath = remotePath; | ||||||
|         mETagToNotMatch = ""; | 	} | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
|     /** | 	/** | ||||||
|      * Constructor |  | ||||||
|      * |  | ||||||
|      * @param remotePath		Remote path of the file. |  | ||||||
|      */ |  | ||||||
|     public ReadRemoteFolderOperation(String remotePath, String eTagToNotMatch) { |  | ||||||
|         mRemotePath = remotePath; |  | ||||||
|         mETagToNotMatch = (eTagToNotMatch == null) ? "" : eTagToNotMatch; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     /** |  | ||||||
|      * Performs the read operation. |      * Performs the read operation. | ||||||
|      *  |      *  | ||||||
|      * @param   client      Client object to communicate with the remote ownCloud server. |      * @param   client      Client object to communicate with the remote ownCloud server. | ||||||
|      */ |      */ | ||||||
|     @Override | 	@Override | ||||||
|     protected RemoteOperationResult run(OwnCloudClient client) { | 	protected RemoteOperationResult run(OwnCloudClient client) { | ||||||
|         RemoteOperationResult result = null; | 		RemoteOperationResult result = null; | ||||||
|         PropFindMethod query = null; |         PropFindMethod query = null; | ||||||
|          |          | ||||||
|         try { |         try { | ||||||
| @ -90,17 +76,13 @@ public class ReadRemoteFolderOperation extends RemoteOperation { | |||||||
|             query = new PropFindMethod(client.getWebdavUri() + WebdavUtils.encodePath(mRemotePath), |             query = new PropFindMethod(client.getWebdavUri() + WebdavUtils.encodePath(mRemotePath), | ||||||
|                     WebdavUtils.getAllPropSet(),    // PropFind Properties |                     WebdavUtils.getAllPropSet(),    // PropFind Properties | ||||||
|                     DavConstants.DEPTH_1); |                     DavConstants.DEPTH_1); | ||||||
|             if (mETagToNotMatch.length() > 0) { |  | ||||||
|                 query.addRequestHeader(IF_NONE_MATCH_HEADER, "\"" + mETagToNotMatch + "\""); |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             int status = client.executeMethod(query); |             int status = client.executeMethod(query); | ||||||
| 
 | 
 | ||||||
|             // check and process response |             // check and process response | ||||||
|             boolean isSuccess = ( |             boolean isSuccess = ( | ||||||
|                     status == HttpStatus.SC_MULTI_STATUS || |                     status == HttpStatus.SC_MULTI_STATUS || | ||||||
|                     status == HttpStatus.SC_OK |                     status == HttpStatus.SC_OK | ||||||
|                     ); | 		            ); | ||||||
|             if (isSuccess) { |             if (isSuccess) { | ||||||
|             	// get data from remote folder  |             	// get data from remote folder  | ||||||
|             	MultiStatus dataInServer = query.getResponseBodyAsMultiStatus(); |             	MultiStatus dataInServer = query.getResponseBodyAsMultiStatus(); | ||||||
| @ -113,7 +95,7 @@ public class ReadRemoteFolderOperation extends RemoteOperation { | |||||||
|             		result.setData(mFolderAndFiles); |             		result.setData(mFolderAndFiles); | ||||||
|             	} |             	} | ||||||
|             } else { |             } else { | ||||||
|                 // synchronization failed, or no change in folder (mETagToNotMatch matched) |                 // synchronization failed | ||||||
|                 client.exhaustResponse(query.getResponseBodyAsStream()); |                 client.exhaustResponse(query.getResponseBodyAsStream()); | ||||||
|                 result = new RemoteOperationResult(false, status, query.getResponseHeaders()); |                 result = new RemoteOperationResult(false, status, query.getResponseHeaders()); | ||||||
|             } |             } | ||||||
| @ -138,6 +120,10 @@ public class ReadRemoteFolderOperation extends RemoteOperation { | |||||||
|              |              | ||||||
|         } |         } | ||||||
|         return result; |         return result; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  |     public boolean isMultiStatus(int status) { | ||||||
|  |         return (status == HttpStatus.SC_MULTI_STATUS);  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user