mirror of
https://github.com/cryptomator/cryptomator.git
synced 2025-03-03 16:14:10 +00:00
Refactored UnlockWorkflow
Replaced protected state methods (scheduled, etc.) with lambdas in the constructor Replaced try-multi-catch with if-instanceof in onFailed-lambda
This commit is contained in:
parent
022ba81f2f
commit
253abd4930
@ -73,6 +73,20 @@ public class UnlockWorkflow extends Task<Boolean> {
|
|||||||
this.successScene = successScene;
|
this.successScene = successScene;
|
||||||
this.invalidMountPointScene = invalidMountPointScene;
|
this.invalidMountPointScene = invalidMountPointScene;
|
||||||
this.errorComponent = errorComponent;
|
this.errorComponent = errorComponent;
|
||||||
|
|
||||||
|
setOnScheduled(event -> vault.setState(VaultState.PROCESSING));
|
||||||
|
setOnSucceeded(event -> vault.setState(VaultState.UNLOCKED));
|
||||||
|
setOnCancelled(event -> vault.setState(VaultState.LOCKED));
|
||||||
|
|
||||||
|
setOnFailed(event -> {
|
||||||
|
vault.setState(VaultState.LOCKED);
|
||||||
|
Throwable throwable = event.getSource().getException();
|
||||||
|
if (throwable instanceof InvalidMountPointException) {
|
||||||
|
handleInvalidMountPoint((InvalidMountPointException) throwable);
|
||||||
|
} else {
|
||||||
|
handleGenericError(throwable);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -85,12 +99,6 @@ public class UnlockWorkflow extends Task<Boolean> {
|
|||||||
cancel(false); // set Tasks state to cancelled
|
cancel(false); // set Tasks state to cancelled
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} catch (InvalidMountPointException e) {
|
|
||||||
handleInvalidMountPoint(e);
|
|
||||||
throw e; // rethrow to trigger correct exception handling in Task
|
|
||||||
} catch (Exception e) {
|
|
||||||
handleGenericError(e);
|
|
||||||
throw e; // rethrow to trigger correct exception handling in Task
|
|
||||||
} finally {
|
} finally {
|
||||||
wipePassword(password.get());
|
wipePassword(password.get());
|
||||||
wipePassword(savedPassword.orElse(null));
|
wipePassword(savedPassword.orElse(null));
|
||||||
@ -216,25 +224,4 @@ public class UnlockWorkflow extends Task<Boolean> {
|
|||||||
Arrays.fill(pw, ' ');
|
Arrays.fill(pw, ' ');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void scheduled() {
|
|
||||||
vault.setState(VaultState.PROCESSING);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void succeeded() {
|
|
||||||
vault.setState(VaultState.UNLOCKED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void failed() {
|
|
||||||
vault.setState(VaultState.LOCKED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void cancelled() {
|
|
||||||
vault.setState(VaultState.LOCKED);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user