Sped-up inital loading od RecordedModelsTab

This commit is contained in:
0xboobface 2018-11-07 17:24:20 +01:00
parent 2a3e9c0634
commit c884c3b248
2 changed files with 10 additions and 13 deletions

View File

@ -25,10 +25,6 @@ public class JavaFxModel implements Model {
public JavaFxModel(Model delegate) { public JavaFxModel(Model delegate) {
this.delegate = delegate; this.delegate = delegate;
try {
onlineProperty.set(delegate.isOnline());
pausedProperty.set(delegate.isSuspended());
} catch (IOException | ExecutionException | InterruptedException e) {}
} }
@Override @Override

View File

@ -192,18 +192,20 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
queue.clear(); queue.clear();
for (Model model : models) { for (Model model : models) {
int index = observableModels.indexOf(model); int index = observableModels.indexOf(model);
final JavaFxModel javaFxModel;
if (index == -1) { if (index == -1) {
observableModels.add(new JavaFxModel(model)); javaFxModel = new JavaFxModel(model);
observableModels.add(javaFxModel);
} else { } else {
// make sure to update the JavaFX online property, so that the table cell is updated // make sure to update the JavaFX online property, so that the table cell is updated
JavaFxModel javaFxModel = observableModels.get(index); javaFxModel = observableModels.get(index);
threadPool.submit(() -> {
try {
javaFxModel.getOnlineProperty().set(javaFxModel.isOnline());
javaFxModel.setSuspended(model.isSuspended());
} catch (IOException | ExecutionException | InterruptedException e) {}
});
} }
threadPool.submit(() -> {
try {
javaFxModel.getOnlineProperty().set(javaFxModel.isOnline());
javaFxModel.setSuspended(model.isSuspended());
} catch (IOException | ExecutionException | InterruptedException e) {}
});
} }
for (Iterator<JavaFxModel> iterator = observableModels.iterator(); iterator.hasNext();) { for (Iterator<JavaFxModel> iterator = observableModels.iterator(); iterator.hasNext();) {
Model model = iterator.next(); Model model = iterator.next();
@ -211,7 +213,6 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
iterator.remove(); iterator.remove();
} }
} }
}); });
updateService.setOnFailed((event) -> { updateService.setOnFailed((event) -> {
LOG.info("Couldn't get list of models from recorder", event.getSource().getException()); LOG.info("Couldn't get list of models from recorder", event.getSource().getException());