From bcf4ab1d4739116ea90b94ca9f176af984dc56e0 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Thu, 13 May 2021 20:08:40 +0200 Subject: [PATCH] Code cleanup --- .../ctbrec/ui/action/SetStopDateAction.java | 16 +-- .../java/ctbrec/ui/tabs/RecordingsTab.java | 97 ++++++++++--------- 2 files changed, 58 insertions(+), 55 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/action/SetStopDateAction.java b/client/src/main/java/ctbrec/ui/action/SetStopDateAction.java index 9e9b6e2e..daa4a4e5 100644 --- a/client/src/main/java/ctbrec/ui/action/SetStopDateAction.java +++ b/client/src/main/java/ctbrec/ui/action/SetStopDateAction.java @@ -44,28 +44,28 @@ public class SetStopDateAction { public CompletableFuture execute() { source.setCursor(Cursor.WAIT); - DatePicker datePicker = new DatePicker(); - GridPane gridPane = new GridPane(); + var datePicker = new DatePicker(); + var gridPane = new GridPane(); gridPane.setHgap(10); gridPane.setVgap(10); gridPane.setPadding(new Insets(20, 150, 10, 10)); gridPane.add(new Label("Stop at"), 0, 0); gridPane.add(datePicker, 1, 0); gridPane.add(new Label("And then"), 0, 1); - ToggleGroup toggleGroup = new ToggleGroup(); - RadioButton pauseButton = new RadioButton("pause recording"); + var toggleGroup = new ToggleGroup(); + var pauseButton = new RadioButton("pause recording"); pauseButton.setSelected(model.getRecordUntilSubsequentAction() == PAUSE); pauseButton.setToggleGroup(toggleGroup); - RadioButton removeButton = new RadioButton("remove model"); + var removeButton = new RadioButton("remove model"); removeButton.setSelected(model.getRecordUntilSubsequentAction() == REMOVE); removeButton.setToggleGroup(toggleGroup); - HBox row = new HBox(); + var row = new HBox(); row.getChildren().addAll(pauseButton, removeButton); HBox.setMargin(pauseButton, new Insets(5)); HBox.setMargin(removeButton, new Insets(5)); gridPane.add(row, 1, 1); if (model.isRecordingTimeLimited()) { - LocalDate localDate = LocalDate.ofInstant(model.getRecordUntil(), ZoneId.systemDefault()); + var localDate = LocalDate.ofInstant(model.getRecordUntil(), ZoneId.systemDefault()); datePicker.setValue(localDate); } boolean userClickedOk = Dialogs.showCustomInput(source.getScene(), "Stop Recording at", gridPane); @@ -73,7 +73,7 @@ public class SetStopDateAction { if (userClickedOk) { SubsequentAction action = pauseButton.isSelected() ? PAUSE : REMOVE; LOG.info("Stop at {} and {}", datePicker.getValue(), action); - Instant stopAt = Instant.from(datePicker.getValue().atStartOfDay().atZone(ZoneId.systemDefault())); + var stopAt = Instant.from(datePicker.getValue().atStartOfDay().atZone(ZoneId.systemDefault())); model.setRecordUntil(stopAt); model.setRecordUntilSubsequentAction(action); try { diff --git a/client/src/main/java/ctbrec/ui/tabs/RecordingsTab.java b/client/src/main/java/ctbrec/ui/tabs/RecordingsTab.java index 7338cccb..51a5f509 100644 --- a/client/src/main/java/ctbrec/ui/tabs/RecordingsTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/RecordingsTab.java @@ -143,7 +143,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown TableColumn date = new TableColumn<>("Date"); date.setId("date"); date.setCellValueFactory(cdf -> { - Instant instant = cdf.getValue().getStartDate(); + var instant = cdf.getValue().getStartDate(); return new SimpleObjectProperty<>(instant); }); date.setCellFactory(new DateTimeCellFactory<>()); @@ -175,15 +175,15 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown table.addEventFilter(KeyEvent.KEY_PRESSED, this::onKeyPressed); scrollPane.setContent(table); - HBox spaceBox = new HBox(5); - Label spaceLeftLabel = new Label("Space left on device"); + var spaceBox = new HBox(5); + var spaceLeftLabel = new Label("Space left on device"); spaceBox.getChildren().add(spaceLeftLabel); spaceLeft = new ProgressBar(0); spaceLeft.setPrefSize(200, 22); spaceFreeLabel = new Label(); spaceFreeLabel.setFont(Font.font(11)); - StackPane stack = new StackPane(spaceLeft, spaceFreeLabel); - Label spaceUsedLabel = new Label("Space used:"); + var stack = new StackPane(spaceLeft, spaceFreeLabel); + var spaceUsedLabel = new Label("Space used:"); spaceUsedValue = new Label(); spaceBox.getChildren().addAll(stack, spaceUsedLabel, spaceUsedValue); HBox.setMargin(spaceLeftLabel, new Insets(2, 0, 0, 0)); @@ -191,7 +191,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown HBox.setMargin(spaceUsedValue, new Insets(2, 0, 0, 0)); BorderPane.setMargin(spaceBox, new Insets(5)); - BorderPane root = new BorderPane(); + var root = new BorderPane(); root.setPadding(new Insets(5)); root.setTop(spaceBox); root.setCenter(scrollPane); @@ -247,7 +247,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2) { Recording recording = table.getSelectionModel().getSelectedItem(); if (recording != null) { - State state = recording.getStatus(); + var state = recording.getStatus(); if(state == FINISHED || state == RECORDING && config.getSettings().localRecording) { play(recording); } @@ -281,7 +281,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown }); updateService.setOnFailed(event -> { LOG.info("Couldn't get list of recordings from recorder", event.getSource().getException()); - AutosizeAlert autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene()); + var autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene()); autosizeAlert.setTitle("Whoopsie!"); autosizeAlert.setHeaderText("Recordings not available"); autosizeAlert.setContentText("An error occurred while retrieving the list of recordings"); @@ -300,7 +300,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown spaceLeft.setProgress(free); double totalGiB = ((double) spaceTotal) / 1024 / 1024 / 1024; double freeGiB = ((double) spaceFree) / 1024 / 1024 / 1024; - DecimalFormat df = new DecimalFormat("0.00"); + var df = new DecimalFormat("0.00"); String tt = df.format(freeGiB) + " / " + df.format(totalGiB) + " GiB"; spaceLeft.setTooltip(new Tooltip(tt)); spaceFreeLabel.setText(tt); @@ -367,7 +367,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } }; ExecutorService executor = Executors.newSingleThreadExecutor(r -> { - Thread t = new Thread(r); + var t = new Thread(r); t.setDaemon(true); t.setName("RecordingsTab UpdateService"); return t; @@ -398,7 +398,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown contextMenu.setAutoFix(true); JavaFxRecording first = recordings.get(0); - MenuItem openInPlayer = new MenuItem("Open in Player"); + var openInPlayer = new MenuItem("Open in Player"); openInPlayer.setOnAction(e -> play(first)); if (first.getStatus() == FINISHED || Config.getInstance().getSettings().localRecording) { contextMenu.getItems().add(openInPlayer); @@ -408,62 +408,62 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown contextMenu.getItems().add(openInPlayer); } - MenuItem openContactSheet = new MenuItem("Open contact sheet"); + var openContactSheet = new MenuItem("Open contact sheet"); openContactSheet.setOnAction(e -> openContactSheet(first)); openContactSheet.setDisable(first.getContactSheet().isEmpty()); contextMenu.getItems().add(openContactSheet); - MenuItem stopRecording = new MenuItem("Stop Recording"); + var stopRecording = new MenuItem("Stop Recording"); stopRecording.setOnAction(e -> stopRecording(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList()))); if (recordings.stream().anyMatch(r -> r.getStatus() == RECORDING)) { contextMenu.getItems().add(stopRecording); } - MenuItem pauseRecording = new MenuItem("Pause Recording"); + var pauseRecording = new MenuItem("Pause Recording"); pauseRecording.setOnAction(e -> pauseRecording(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList()))); if (recordings.stream().anyMatch(r -> r.getStatus() == RECORDING)) { contextMenu.getItems().add(pauseRecording); } - MenuItem deleteRecording = new MenuItem("Delete"); + var deleteRecording = new MenuItem("Delete"); deleteRecording.setOnAction(e -> delete(recordings)); if (first.getStatus() == FINISHED || first.getStatus() == WAITING || first.getStatus() == FAILED || recordings.size() > 1) { contextMenu.getItems().add(deleteRecording); deleteRecording.setDisable(recordings.stream().allMatch(Recording::isPinned)); } - MenuItem followModels = new MenuItem("Follow Model"); + var followModels = new MenuItem("Follow Model"); followModels.setOnAction(e -> follow(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList()))); followModels.setDisable(!recordings.stream().map(JavaFxRecording::getModel).allMatch(m -> m.getSite().supportsFollow() && m.getSite().credentialsAvailable())); contextMenu.getItems().add(followModels); - MenuItem openDir = new MenuItem("Open directory"); + var openDir = new MenuItem("Open directory"); openDir.setOnAction(e -> onOpenDirectory(first)); if (Config.getInstance().getSettings().localRecording) { contextMenu.getItems().add(openDir); } - MenuItem downloadRecording = new MenuItem("Download"); + var downloadRecording = new MenuItem("Download"); downloadRecording.setOnAction(e -> download(first)); if (!Config.getInstance().getSettings().localRecording && first.getStatus() == FINISHED) { contextMenu.getItems().add(downloadRecording); } - MenuItem notes = new MenuItem("Notes"); + var notes = new MenuItem("Notes"); notes.setOnAction(e -> notes(first)); contextMenu.getItems().add(notes); if (first.isPinned()) { - MenuItem unpinRecording = new MenuItem("Unpin"); + var unpinRecording = new MenuItem("Unpin"); unpinRecording.setOnAction(e -> unpin(recordings)); contextMenu.getItems().add(unpinRecording); } else { - MenuItem pinRecording = new MenuItem("Pin"); + var pinRecording = new MenuItem("Pin"); pinRecording.setOnAction(e -> pin(recordings)); contextMenu.getItems().add(pinRecording); } - MenuItem rerunPostProcessing = new MenuItem("Rerun Post-Processing"); + var rerunPostProcessing = new MenuItem("Rerun Post-Processing"); rerunPostProcessing.setOnAction(e -> triggerPostProcessing(recordings)); contextMenu.getItems().add(rerunPostProcessing); rerunPostProcessing.setDisable(!recordings.stream().allMatch(Recording::canBePostProcessed)); @@ -481,7 +481,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } private void stopRecording(List selectedModels) { - boolean confirmed = true; + var confirmed = true; if (Config.getInstance().getSettings().confirmationForDangerousActions) { int n = selectedModels.size(); String plural = n > 1 ? "s" : ""; @@ -506,7 +506,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown try { target = File.createTempFile("cs_", ".jpg"); target.deleteOnExit(); - FileDownload download = new FileDownload(CamrecApplication.httpClient, p -> { + var download = new FileDownload(CamrecApplication.httpClient, p -> { if (p == 100) { DesktopIntegration.open(target); } @@ -554,7 +554,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown List exceptions = new ArrayList<>(); try { for (JavaFxRecording javaFxRecording : recordings) { - Recording rec = javaFxRecording.getDelegate(); + var rec = javaFxRecording.getDelegate(); try { recorder.pin(rec); javaFxRecording.setPinned(true); @@ -579,7 +579,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown List exceptions = new ArrayList<>(); try { for (JavaFxRecording javaFxRecording : recordings) { - Recording rec = javaFxRecording.getDelegate(); + var rec = javaFxRecording.getDelegate(); try { recorder.unpin(rec); javaFxRecording.setPinned(false); @@ -604,7 +604,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown ensureKeyCodeIsLetterOrDigit(code); // determine where to start looking for the next model - int startAt = 0; + var startAt = 0; if (table.getSelectionModel().getSelectedIndex() >= 0) { startAt = table.getSelectionModel().getSelectedIndex() + 1; if (startAt >= table.getItems().size()) { @@ -645,7 +645,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } private void onOpenDirectory(JavaFxRecording first) { - File tsFile = first.getAbsoluteFile(); + var tsFile = first.getAbsoluteFile(); GlobalThreadPool.submit(() -> DesktopIntegration.open(tsFile.getParent())); } @@ -665,10 +665,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown private void download(Recording recording) { LOG.debug("Path {}", recording.getAbsoluteFile()); String filename = proposeTargetFilename(recording); - FileChooser chooser = new FileChooser(); + var chooser = new FileChooser(); chooser.setInitialFileName(filename); if (config.getSettings().lastDownloadDir != null && !config.getSettings().lastDownloadDir.equals("")) { - File dir = new File(config.getSettings().lastDownloadDir); + var dir = new File(config.getSettings().lastDownloadDir); while (!dir.exists()) { dir = dir.getParentFile(); } @@ -689,7 +689,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } else { String downloadFilename = config.getSettings().downloadFilename; String fileSuffix = config.getSettings().ffmpegFileSuffix; - PostProcessingContext ctx = new PostProcessingContext(); + var ctx = new PostProcessingContext(); ctx.setRecording(recording); ctx.setConfig(config); return new DownloadPostprocessor().fillInPlaceHolders(downloadFilename, ctx) + '.' + fileSuffix; @@ -697,16 +697,16 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } private void startDownloadThread(File target, Recording recording) { - Thread t = new Thread(() -> { + var t = new Thread(() -> { try { String hlsBase = config.getServerUrl() + "/hls"; if (recording.isSingleFile()) { - URL url = new URL(hlsBase + '/' + recording.getId()); - FileDownload download = new FileDownload(CamrecApplication.httpClient, createDownloadListener(recording)); + var url = new URL(hlsBase + '/' + recording.getId()); + var download = new FileDownload(CamrecApplication.httpClient, createDownloadListener(recording)); download.start(url, target); } else { - URL url = new URL(hlsBase + '/' + recording.getId() + "/playlist.m3u8"); - RecordingDownload download = new RecordingDownload(CamrecApplication.httpClient); + var url = new URL(hlsBase + '/' + recording.getId() + "/playlist.m3u8"); + var download = new RecordingDownload(CamrecApplication.httpClient); download.init(config, recording.getModel(), Instant.now(), Executors.newSingleThreadExecutor()); LOG.info("Downloading {}", url); download.downloadFinishedRecording(url.toString(), target, createDownloadListener(recording), recording.getSizeInByte()); @@ -714,6 +714,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown } catch (FileNotFoundException e) { showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The target file couldn't be created", e); LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The recording could not be downloaded", e); + LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e); } catch (Exception e) { showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The recording could not be downloaded", e); LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e); @@ -721,8 +725,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown Platform.runLater(() -> { recording.setStatus(FINISHED); recording.setProgress(-1); - RecordingStateChangedEvent evt = new RecordingStateChangedEvent(target, recording.getStatus(), recording.getModel(), - recording.getStartDate()); + var evt = new RecordingStateChangedEvent(target, recording.getStatus(), recording.getModel(), recording.getStartDate()); EventBusHolder.BUS.post(evt); }); } @@ -751,10 +754,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown private void showErrorDialog(final String title, final String msg, final List exceptions) { Platform.runLater(() -> { - AutosizeAlert autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene()); + var autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene()); autosizeAlert.setTitle(title); autosizeAlert.setHeaderText(msg); - StringBuilder contentText = new StringBuilder("On or more error(s) occurred:"); + var contentText = new StringBuilder("On or more error(s) occurred:"); for (Exception exception : exceptions) { contentText.append("\n• ").append(exception.getLocalizedMessage()); } @@ -785,7 +788,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown Recording r = recordings.get(0); msg = "Delete " + r.getModel().getName() + "/" + r.getStartDate() + " for good?"; } - AutosizeAlert confirm = new AutosizeAlert(AlertType.CONFIRMATION, msg, getTabPane().getScene(), YES, NO); + var confirm = new AutosizeAlert(AlertType.CONFIRMATION, msg, getTabPane().getScene(), YES, NO); confirm.setTitle("Delete recording?"); confirm.setHeaderText(msg); confirm.setContentText(""); @@ -834,9 +837,9 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown Config.getInstance().getSettings().recordingsSortType = col.getSortType().toString(); } int columns = table.getColumns().size(); - double[] columnWidths = new double[columns]; - String[] columnIds = new String[columns]; - for (int i = 0; i < columnWidths.length; i++) { + var columnWidths = new double[columns]; + var columnIds = new String[columns]; + for (var i = 0; i < columnWidths.length; i++) { columnWidths[i] = table.getColumns().get(i).getWidth(); columnIds[i] = table.getColumns().get(i).getId(); } @@ -867,8 +870,8 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown private void restoreColumnOrder() { String[] columnIds = Config.getInstance().getSettings().recordingsColumnIds; ObservableList> columns = table.getColumns(); - for (int i = 0; i < columnIds.length; i++) { - for (int j = 0; j < table.getColumns().size(); j++) { + for (var i = 0; i < columnIds.length; i++) { + for (var j = 0; j < table.getColumns().size(); j++) { if (Objects.equals(columnIds[i], columns.get(j).getId())) { TableColumn col = columns.get(j); columns.remove(j); // NOSONAR @@ -881,7 +884,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown private void restoreColumnWidths() { double[] columnWidths = Config.getInstance().getSettings().recordingsColumnWidths; if (columnWidths != null && columnWidths.length == table.getColumns().size()) { - for (int i = 0; i < columnWidths.length; i++) { + for (var i = 0; i < columnWidths.length; i++) { table.getColumns().get(i).setPrefWidth(columnWidths[i]); } }