diff --git a/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java b/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java index c543599c..a33b3b87 100644 --- a/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java @@ -88,7 +88,7 @@ public abstract class AbstractRecordedModelsTab extends Tab implements TabSelect protected Button checkModelAccountExistance = new Button("Check URLs"); protected Button exportModelsButton = new Button(); protected Button importModelsButton = new Button(); - protected TextField filter; + protected TextField filterTextField; protected FlowPane grid = new FlowPane(); protected ScrollPane scrollPane = new ScrollPane(); @@ -200,12 +200,12 @@ public abstract class AbstractRecordedModelsTab extends Tab implements TabSelect filterContainer.minWidth(100); filterContainer.prefWidth(150); HBox.setHgrow(filterContainer, Priority.ALWAYS); - filter = new SearchBox(false); - filter.minWidth(100); - filter.prefWidth(150); - filter.setPromptText("Filter"); - filter.textProperty().addListener((observableValue, oldValue, newValue) -> { - String q = filter.getText(); + filterTextField = new SearchBox(false); + filterTextField.minWidth(100); + filterTextField.prefWidth(150); + filterTextField.setPromptText("Filter"); + filterTextField.textProperty().addListener((observableValue, oldValue, newValue) -> { + String q = filterTextField.getText(); lock.lock(); try { filter(q); @@ -213,9 +213,9 @@ public abstract class AbstractRecordedModelsTab extends Tab implements TabSelect lock.unlock(); } }); - filter.getStyleClass().remove("search-box-icon"); + filterTextField.getStyleClass().remove("search-box-icon"); - filterContainer.getChildren().addAll(filter); + filterContainer.getChildren().addAll(filterTextField); addModelBox.getChildren().add(filterContainer); } diff --git a/client/src/main/java/ctbrec/ui/tabs/recorded/RecordLaterTab.java b/client/src/main/java/ctbrec/ui/tabs/recorded/RecordLaterTab.java index c7ac7632..c6324e50 100644 --- a/client/src/main/java/ctbrec/ui/tabs/recorded/RecordLaterTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/recorded/RecordLaterTab.java @@ -20,15 +20,11 @@ import javafx.util.Duration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; +import java.util.function.Predicate; public class RecordLaterTab extends AbstractRecordedModelsTab implements TabSelectionListener { private static final Logger LOG = LoggerFactory.getLogger(RecordLaterTab.class); @@ -91,18 +87,13 @@ public class RecordLaterTab extends AbstractRecordedModelsTab implements TabSele addOrUpdateModels(updatedModels); // remove old ones, which are not in the list of updated models - for (Iterator iterator = observableModels.iterator(); iterator.hasNext();) { - Model oldModel = iterator.next(); - if (!updatedModels.contains(oldModel)) { - iterator.remove(); - } - } + observableModels.removeIf(Predicate.not(updatedModels::contains)); } finally { lock.unlock(); } filteredModels.clear(); - filter(filter.getText()); + filter(filterTextField.getText()); table.sort(); table.refresh(); } @@ -125,14 +116,14 @@ public class RecordLaterTab extends AbstractRecordedModelsTab implements TabSele } private ScheduledService> createUpdateService() { - ScheduledService> modelUpdateService = new ScheduledService>() { + ScheduledService> modelUpdateService = new ScheduledService<>() { @Override protected Task> createTask() { - return new Task>() { + return new Task<>() { @Override - public List call() throws InvalidKeyException, NoSuchAlgorithmException, IOException { + public List call() { LOG.trace("Updating models marked for later recording"); - return recorder.getModels().stream().filter(Model::isMarkedForLaterRecording).map(JavaFxModel::new).collect(Collectors.toList()); + return recorder.getModels().stream().filter(Model::isMarkedForLaterRecording).map(JavaFxModel::new).toList(); } }; } @@ -172,13 +163,13 @@ public class RecordLaterTab extends AbstractRecordedModelsTab implements TabSele confirmed = Dialogs.showConfirmDialog("Remove From List", "Continue?", header, table.getScene()); } if (confirmed) { - List models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList()); - new StopRecordingAction(getTabPane(), models, recorder).execute().whenComplete((r, ex) -> { + List models = selectedModels.stream().map(JavaFxModel::getDelegate).toList(); + new StopRecordingAction(getTabPane(), models, recorder).execute().whenComplete((r, ex) -> r.stream().map(Result::getModel).forEach(m -> Platform.runLater(() -> { table.getSelectionModel().clearSelection(table.getItems().indexOf(m)); table.getItems().remove(m); - })); - }); + })) + ); portraitCache.invalidateAll(models); } } diff --git a/client/src/main/java/ctbrec/ui/tabs/recorded/RecordedModelsTab.java b/client/src/main/java/ctbrec/ui/tabs/recorded/RecordedModelsTab.java index 331c9175..50447f62 100644 --- a/client/src/main/java/ctbrec/ui/tabs/recorded/RecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/recorded/RecordedModelsTab.java @@ -45,7 +45,6 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; -import java.util.stream.Collectors; import static ctbrec.Recording.State.RECORDING; @@ -202,7 +201,7 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS protected void pauseAll(ActionEvent evt) { boolean yes = Dialogs.showConfirmDialog("Pause all models", "", "Pause the recording of all models?", getTabPane().getScene()); if (yes) { - List models = recorder.getModels().stream().filter(Predicate.not(Model::isMarkedForLaterRecording)).collect(Collectors.toList()); + List models = recorder.getModels().stream().filter(Predicate.not(Model::isMarkedForLaterRecording)).toList(); new PauseAction(getTabPane(), models, recorder).execute(); } } @@ -210,7 +209,7 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS protected void resumeAll(ActionEvent evt) { boolean yes = Dialogs.showConfirmDialog("Resume all models", "", "Resume the recording of all models?", getTabPane().getScene()); if (yes) { - List models = recorder.getModels().stream().filter(Predicate.not(Model::isMarkedForLaterRecording)).collect(Collectors.toList()); + List models = recorder.getModels().stream().filter(Predicate.not(Model::isMarkedForLaterRecording)).toList(); new ResumeAction(getTabPane(), models, recorder).execute(); } } @@ -247,7 +246,7 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS } filteredModels.clear(); - filter(filter.getText()); + filter(filterTextField.getText()); table.sort(); table.refresh(); } @@ -310,7 +309,7 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS break; } } - }).collect(Collectors.toList()); + }).toList(); } }; } @@ -350,7 +349,7 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS confirmed = Dialogs.showConfirmDialog("Stop Recording", "Continue?", header, table.getScene()); } if (confirmed) { - List models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList()); + List models = selectedModels.stream().map(JavaFxModel::getDelegate).toList(); new StopRecordingAction(getTabPane(), models, recorder).execute().whenComplete((r, ex) -> r.stream().map(Result::getModel).forEach(m -> Platform.runLater(() -> { table.getSelectionModel().clearSelection(table.getItems().indexOf(m)); @@ -362,12 +361,12 @@ public class RecordedModelsTab extends AbstractRecordedModelsTab implements TabS } private void pauseRecording(List selectedModels) { - List models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList()); + List models = selectedModels.stream().map(JavaFxModel::getDelegate).toList(); new PauseAction(getTabPane(), models, recorder).execute(); } private void resumeRecording(List selectedModels) { - List models = selectedModels.stream().map(JavaFxModel::getDelegate).collect(Collectors.toList()); + List models = selectedModels.stream().map(JavaFxModel::getDelegate).toList(); new ResumeAction(getTabPane(), models, recorder).execute(); }