forked from j62/ctbrec
Sped-up inital loading od RecordedModelsTab
This commit is contained in:
parent
2a3e9c0634
commit
c884c3b248
|
@ -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
|
||||||
|
|
|
@ -192,11 +192,14 @@ 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(() -> {
|
threadPool.submit(() -> {
|
||||||
try {
|
try {
|
||||||
javaFxModel.getOnlineProperty().set(javaFxModel.isOnline());
|
javaFxModel.getOnlineProperty().set(javaFxModel.isOnline());
|
||||||
|
@ -204,14 +207,12 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
|
||||||
} catch (IOException | ExecutionException | InterruptedException e) {}
|
} 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();
|
||||||
if (!models.contains(model)) {
|
if (!models.contains(model)) {
|
||||||
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());
|
||||||
|
|
Loading…
Reference in New Issue