mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-27 10:55:33 +02:00
[385630] [dstore] backup files created during upload should be removed when upload successful
This commit is contained in:
parent
57850d9ac3
commit
5d0ce36db8
1 changed files with 18 additions and 8 deletions
|
@ -67,7 +67,9 @@ public class ByteStreamHandler implements IByteStreamHandler
|
||||||
|
|
||||||
if (_doBackups){
|
if (_doBackups){
|
||||||
String keepBackups = System.getProperty("keepbackupfiles"); //$NON-NLS-1$
|
String keepBackups = System.getProperty("keepbackupfiles"); //$NON-NLS-1$
|
||||||
_keepBackups = (keepBackups == null || keepBackups.equals("true")); //$NON-NLS-1$
|
|
||||||
|
// default is not NOT keep backups
|
||||||
|
_keepBackups = (keepBackups != null && keepBackups.equals("true")); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,6 +92,7 @@ public class ByteStreamHandler implements IByteStreamHandler
|
||||||
public void run(){
|
public void run(){
|
||||||
super.run();
|
super.run();
|
||||||
boolean doneDelete = false;
|
boolean doneDelete = false;
|
||||||
|
|
||||||
while (!doneDelete){
|
while (!doneDelete){
|
||||||
try {
|
try {
|
||||||
Thread.sleep(10000); // wait 10 seconds
|
Thread.sleep(10000); // wait 10 seconds
|
||||||
|
@ -97,6 +100,12 @@ public class ByteStreamHandler implements IByteStreamHandler
|
||||||
catch (InterruptedException e){
|
catch (InterruptedException e){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make sure there was no disconnect
|
||||||
|
if (!_dataStore.isConnected()){
|
||||||
|
// keep the backup
|
||||||
|
doneDelete = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
long curLength = _currentFile.length();
|
long curLength = _currentFile.length();
|
||||||
if (curLength == _initialLength){ // looks like total upload is complete
|
if (curLength == _initialLength){ // looks like total upload is complete
|
||||||
_backupFile.delete();
|
_backupFile.delete();
|
||||||
|
@ -108,9 +117,10 @@ public class ByteStreamHandler implements IByteStreamHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void deleteBackupFile(File currentFile, File backupFile){
|
private void deleteBackupFile(File currentFile, File backupFile){
|
||||||
if (backupFile != null && _keepBackups){ // only matters if there is a backup file
|
if (backupFile != null && !_keepBackups){ // only matters if there is a backup file
|
||||||
DeleteBackupThread thread = new DeleteBackupThread(_dataStore, currentFile, backupFile);
|
DeleteBackupThread thread = new DeleteBackupThread(_dataStore, currentFile, backupFile);
|
||||||
thread.start();
|
thread.start();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue