refactor: slightly simplify checkout logic

feat/data-edit-commands
William 10 months ago
parent 328d4476aa
commit 98cf42065b
No known key found for this signature in database

@ -45,15 +45,15 @@ public class LockstepDataSyncer extends DataSyncer {
@Override
public void setUserData(@NotNull OnlineUser user) {
this.listenForRedisData(user, () -> {
if (getRedis().getUserCheckedOut(user).isEmpty()) {
getRedis().setUserCheckedOut(user, true);
getRedis().getUserData(user).ifPresentOrElse(
data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED),
() -> this.setUserFromDatabase(user)
);
return true;
if (getRedis().getUserCheckedOut(user).isPresent()) {
return false;
}
return false;
getRedis().setUserCheckedOut(user, true);
getRedis().getUserData(user).ifPresentOrElse(
data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED),
() -> this.setUserFromDatabase(user)
);
return true;
});
}

@ -125,7 +125,7 @@ public abstract class OnlineUser extends User implements CommandUser, UserDataHo
getPlugin().fireEvent(getPlugin().getPreSyncEvent(this, snapshot), (event) -> {
if (!isOffline()) {
getPlugin().debug(String.format("Applying snapshot (%s) to %s (cause: %s)",
snapshot.getShortId(), getUsername(), cause
snapshot.getShortId(), getUsername(), cause.getDisplayName()
));
UserDataHolder.super.applySnapshot(
event.getData(), (succeeded) -> completeSync(succeeded, cause, getPlugin())

Loading…
Cancel
Save