Apply async handling to DaoChartView as well

This commit is contained in:
chimp1984 2021-11-02 03:02:29 +01:00
parent 6b89bf0da9
commit a4b106cd4a
No known key found for this signature in database
GPG key ID: 9801B4EC591F90E3
2 changed files with 63 additions and 30 deletions

View file

@ -21,6 +21,8 @@ import bisq.desktop.components.chart.ChartView;
import bisq.core.locale.Res;
import bisq.common.UserThread;
import javax.inject.Inject;
import javafx.scene.chart.XYChart;
@ -179,33 +181,63 @@ public class DaoChartView extends ChartView<DaoChartViewModel> {
applyProofOfBurn();
}
compensationAmountProperty.set(model.getCompensationAmount());
reimbursementAmountProperty.set(model.getReimbursementAmount());
bsqTradeFeeAmountProperty.set(model.getBsqTradeFeeAmount());
proofOfBurnAmountProperty.set(model.getProofOfBurnAmount());
model.getCompensationAmount()
.whenComplete((data, t) ->
UserThread.execute(() ->
compensationAmountProperty.set(data)));
model.getReimbursementAmount()
.whenComplete((data, t) ->
UserThread.execute(() ->
reimbursementAmountProperty.set(data)));
model.getBsqTradeFeeAmount()
.whenComplete((data, t) ->
UserThread.execute(() ->
bsqTradeFeeAmountProperty.set(data)));
model.getProofOfBurnAmount()
.whenComplete((data, t) ->
UserThread.execute(() ->
proofOfBurnAmountProperty.set(data)));
}
private void applyTotalIssued() {
seriesTotalIssued.getData().setAll(model.getTotalIssuedChartData());
model.getTotalIssuedChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesTotalIssued.getData().setAll(data)));
}
private void applyCompensation() {
seriesCompensation.getData().setAll(model.getCompensationChartData());
model.getCompensationChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesCompensation.getData().setAll(data)));
}
private void applyReimbursement() {
seriesReimbursement.getData().setAll(model.getReimbursementChartData());
model.getReimbursementChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesReimbursement.getData().setAll(data)));
}
private void applyTotalBurned() {
seriesTotalBurned.getData().setAll(model.getTotalBurnedChartData());
model.getTotalBurnedChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesTotalBurned.getData().setAll(data)));
}
private void applyBsqTradeFee() {
seriesBsqTradeFee.getData().setAll(model.getBsqTradeFeeChartData());
model.getBsqTradeFeeChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesBsqTradeFee.getData().setAll(data)));
}
private void applyProofOfBurn() {
seriesProofOfBurn.getData().setAll(model.getProofOfBurnChartData());
model.getProofOfBurnChartData()
.whenComplete((data, t) ->
UserThread.execute(() ->
seriesProofOfBurn.getData().setAll(data)));
}
}

View file

@ -31,6 +31,7 @@ import javafx.util.StringConverter;
import java.text.DecimalFormat;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import lombok.extern.slf4j.Slf4j;
@ -53,28 +54,28 @@ public class DaoChartViewModel extends ChartViewModel<DaoChartDataModel> {
// Chart data
///////////////////////////////////////////////////////////////////////////////////////////
List<XYChart.Data<Number, Number>> getTotalIssuedChartData() {
return toChartData(dataModel.getTotalIssuedByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getTotalIssuedChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getTotalIssuedByInterval()));
}
List<XYChart.Data<Number, Number>> getCompensationChartData() {
return toChartData(dataModel.getCompensationByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getCompensationChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getCompensationByInterval()));
}
List<XYChart.Data<Number, Number>> getReimbursementChartData() {
return toChartData(dataModel.getReimbursementByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getReimbursementChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getReimbursementByInterval()));
}
List<XYChart.Data<Number, Number>> getTotalBurnedChartData() {
return toChartData(dataModel.getTotalBurnedByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getTotalBurnedChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getTotalBurnedByInterval()));
}
List<XYChart.Data<Number, Number>> getBsqTradeFeeChartData() {
return toChartData(dataModel.getBsqTradeFeeByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getBsqTradeFeeChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getBsqTradeFeeByInterval()));
}
List<XYChart.Data<Number, Number>> getProofOfBurnChartData() {
return toChartData(dataModel.getProofOfBurnByInterval());
CompletableFuture<List<XYChart.Data<Number, Number>>> getProofOfBurnChartData() {
return CompletableFuture.supplyAsync(() -> toChartData(dataModel.getProofOfBurnByInterval()));
}
@ -107,19 +108,19 @@ public class DaoChartViewModel extends ChartViewModel<DaoChartDataModel> {
// DaoChartDataModel delegates
///////////////////////////////////////////////////////////////////////////////////////////
long getCompensationAmount() {
return dataModel.getCompensationAmount();
CompletableFuture<Long> getCompensationAmount() {
return CompletableFuture.supplyAsync(dataModel::getCompensationAmount);
}
long getReimbursementAmount() {
return dataModel.getReimbursementAmount();
CompletableFuture<Long> getReimbursementAmount() {
return CompletableFuture.supplyAsync(dataModel::getReimbursementAmount);
}
long getBsqTradeFeeAmount() {
return dataModel.getBsqTradeFeeAmount();
CompletableFuture<Long> getBsqTradeFeeAmount() {
return CompletableFuture.supplyAsync(dataModel::getBsqTradeFeeAmount);
}
long getProofOfBurnAmount() {
return dataModel.getProofOfBurnAmount();
CompletableFuture<Long> getProofOfBurnAmount() {
return CompletableFuture.supplyAsync(dataModel::getProofOfBurnAmount);
}
}