Loading library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileVersionsRemoteOperationIT.kt +10 −4 Original line number Diff line number Diff line Loading @@ -22,12 +22,13 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { fun listVersions() { val txtFile = getFile(ASSETS__TEXT_FILE_NAME) val filePath = "/test.md" val mimetype = "text/markdown" var uploadResult = UploadFileRemoteOperation( txtFile.absolutePath, filePath, "txt/plain", mimetype, System.currentTimeMillis() / MILLI_TO_SECOND ) .execute(client) Loading @@ -48,7 +49,7 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { // with NC26+ we always have a starting version versionCount++ } assertEquals(versionCount, sutResult.data.size) assertEquals(versionCount, sutResult.resultData.size) // modify file to have a version FileWriter(txtFile).apply { Loading @@ -61,7 +62,7 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { UploadFileRemoteOperation( txtFile.absolutePath, filePath, "txt/plain", mimetype, System.currentTimeMillis() / MILLI_TO_SECOND ) .execute(client) Loading @@ -75,6 +76,11 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { assertTrue(sutResult.isSuccess) versionCount++ assertEquals(versionCount, sutResult.data.size) val versions = sutResult.resultData assertEquals(versionCount, versions.size) versions[0].apply { assertTrue(fileLength > 0) assertEquals(mimetype, mimeType) } } } library/src/main/java/com/owncloud/android/lib/resources/files/ReadFileVersionsRemoteOperation.java +18 −15 Original line number Diff line number Diff line Loading @@ -27,12 +27,12 @@ import java.util.ArrayList; * Remote operation performing the read of remote versions on Nextcloud server. */ public class ReadFileVersionsRemoteOperation extends RemoteOperation { public class ReadFileVersionsRemoteOperation extends RemoteOperation<ArrayList<FileVersion>> { private static final String TAG = ReadFileVersionsRemoteOperation.class.getSimpleName(); private final long localId; private ArrayList<Object> versions; private ArrayList<FileVersion> versions; /** * Constructor Loading @@ -49,8 +49,8 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { * @param client Client object to communicate with the remote ownCloud server. */ @Override protected RemoteOperationResult run(OwnCloudClient client) { RemoteOperationResult result = null; protected RemoteOperationResult<ArrayList<FileVersion>> run(OwnCloudClient client) { RemoteOperationResult<ArrayList<FileVersion>> result = null; PropFindMethod query = null; try { Loading @@ -69,34 +69,34 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { readData(dataInServer, client); // Result of the operation result = new RemoteOperationResult(true, query); result = new RemoteOperationResult<>(true, query); // Add data to the result if (result.isSuccess()) { result.setData(versions); result.setResultData(versions); } } else { // synchronization failed client.exhaustResponse(query.getResponseBodyAsStream()); result = new RemoteOperationResult(false, query); result = new RemoteOperationResult<>(false, query); } } catch (Exception e) { result = new RemoteOperationResult(e); result = new RemoteOperationResult<>(e); } finally { if (query != null) query.releaseConnection(); // let the connection available for other methods if (result == null) { result = new RemoteOperationResult(new Exception("unknown error")); Log_OC.e(TAG, "Synchronized file with id " + localId + ": failed"); result = new RemoteOperationResult<>(new Exception("unknown error")); Log_OC.e(TAG, "Read file version for " + localId + ": failed"); } else { if (result.isSuccess()) { Log_OC.i(TAG, "Synchronized file with id " + localId + ": " + result.getLogMessage()); Log_OC.i(TAG, "Read file version for " + localId + ": " + result.getLogMessage()); } else { if (result.isException()) { Log_OC.e(TAG, "Synchronized with id " + localId + ": " + result.getLogMessage(), Log_OC.e(TAG, "Read file version for " + localId + ": " + result.getLogMessage(), result.getException()); } else { Log_OC.w(TAG, "Synchronized with id " + localId + ": " + result.getLogMessage()); Log_OC.w(TAG, "Read file version for " + localId + ": " + result.getLogMessage()); } } } Loading @@ -119,7 +119,10 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { // loop to update every child for (int i = 1; i < remoteData.getResponses().length; ++i) { versions.add(new FileVersion(localId, new WebdavEntry(remoteData.getResponses()[i], splitElement))); versions.add(new FileVersion( localId, new WebdavEntry(remoteData.getResponses()[i], splitElement)) ); } } } library/src/main/java/com/owncloud/android/lib/resources/files/model/FileVersion.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public class FileVersion implements Parcelable, ServerFileInterface { @Override public long getFileLength() { return 0; return fileLength; } public void setMimeType(String mimeType) { Loading Loading
library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileVersionsRemoteOperationIT.kt +10 −4 Original line number Diff line number Diff line Loading @@ -22,12 +22,13 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { fun listVersions() { val txtFile = getFile(ASSETS__TEXT_FILE_NAME) val filePath = "/test.md" val mimetype = "text/markdown" var uploadResult = UploadFileRemoteOperation( txtFile.absolutePath, filePath, "txt/plain", mimetype, System.currentTimeMillis() / MILLI_TO_SECOND ) .execute(client) Loading @@ -48,7 +49,7 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { // with NC26+ we always have a starting version versionCount++ } assertEquals(versionCount, sutResult.data.size) assertEquals(versionCount, sutResult.resultData.size) // modify file to have a version FileWriter(txtFile).apply { Loading @@ -61,7 +62,7 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { UploadFileRemoteOperation( txtFile.absolutePath, filePath, "txt/plain", mimetype, System.currentTimeMillis() / MILLI_TO_SECOND ) .execute(client) Loading @@ -75,6 +76,11 @@ class ReadFileVersionsRemoteOperationIT : AbstractIT() { assertTrue(sutResult.isSuccess) versionCount++ assertEquals(versionCount, sutResult.data.size) val versions = sutResult.resultData assertEquals(versionCount, versions.size) versions[0].apply { assertTrue(fileLength > 0) assertEquals(mimetype, mimeType) } } }
library/src/main/java/com/owncloud/android/lib/resources/files/ReadFileVersionsRemoteOperation.java +18 −15 Original line number Diff line number Diff line Loading @@ -27,12 +27,12 @@ import java.util.ArrayList; * Remote operation performing the read of remote versions on Nextcloud server. */ public class ReadFileVersionsRemoteOperation extends RemoteOperation { public class ReadFileVersionsRemoteOperation extends RemoteOperation<ArrayList<FileVersion>> { private static final String TAG = ReadFileVersionsRemoteOperation.class.getSimpleName(); private final long localId; private ArrayList<Object> versions; private ArrayList<FileVersion> versions; /** * Constructor Loading @@ -49,8 +49,8 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { * @param client Client object to communicate with the remote ownCloud server. */ @Override protected RemoteOperationResult run(OwnCloudClient client) { RemoteOperationResult result = null; protected RemoteOperationResult<ArrayList<FileVersion>> run(OwnCloudClient client) { RemoteOperationResult<ArrayList<FileVersion>> result = null; PropFindMethod query = null; try { Loading @@ -69,34 +69,34 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { readData(dataInServer, client); // Result of the operation result = new RemoteOperationResult(true, query); result = new RemoteOperationResult<>(true, query); // Add data to the result if (result.isSuccess()) { result.setData(versions); result.setResultData(versions); } } else { // synchronization failed client.exhaustResponse(query.getResponseBodyAsStream()); result = new RemoteOperationResult(false, query); result = new RemoteOperationResult<>(false, query); } } catch (Exception e) { result = new RemoteOperationResult(e); result = new RemoteOperationResult<>(e); } finally { if (query != null) query.releaseConnection(); // let the connection available for other methods if (result == null) { result = new RemoteOperationResult(new Exception("unknown error")); Log_OC.e(TAG, "Synchronized file with id " + localId + ": failed"); result = new RemoteOperationResult<>(new Exception("unknown error")); Log_OC.e(TAG, "Read file version for " + localId + ": failed"); } else { if (result.isSuccess()) { Log_OC.i(TAG, "Synchronized file with id " + localId + ": " + result.getLogMessage()); Log_OC.i(TAG, "Read file version for " + localId + ": " + result.getLogMessage()); } else { if (result.isException()) { Log_OC.e(TAG, "Synchronized with id " + localId + ": " + result.getLogMessage(), Log_OC.e(TAG, "Read file version for " + localId + ": " + result.getLogMessage(), result.getException()); } else { Log_OC.w(TAG, "Synchronized with id " + localId + ": " + result.getLogMessage()); Log_OC.w(TAG, "Read file version for " + localId + ": " + result.getLogMessage()); } } } Loading @@ -119,7 +119,10 @@ public class ReadFileVersionsRemoteOperation extends RemoteOperation { // loop to update every child for (int i = 1; i < remoteData.getResponses().length; ++i) { versions.add(new FileVersion(localId, new WebdavEntry(remoteData.getResponses()[i], splitElement))); versions.add(new FileVersion( localId, new WebdavEntry(remoteData.getResponses()[i], splitElement)) ); } } }
library/src/main/java/com/owncloud/android/lib/resources/files/model/FileVersion.java +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ public class FileVersion implements Parcelable, ServerFileInterface { @Override public long getFileLength() { return 0; return fileLength; } public void setMimeType(String mimeType) { Loading