From 1818e77105c235d3eed49e18fdd98cf72a50c913 Mon Sep 17 00:00:00 2001 From: ksaintin Date: Mon, 10 Mar 2025 15:21:04 +0100 Subject: [PATCH 1/3] Manage a java.lang.IllegalArgumentException: Illegal pattern when default_snapshot_name_date_format is set to a wrong format --- .../ui/snapshot/SnapshotTableViewController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java index ec865db6c5..cbd2cc675e 100644 --- a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java +++ b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java @@ -247,8 +247,14 @@ private void takeSnapshot(Consumer> consumer) { snapshot.setSnapshotData(snapshotData); showSnapshotInTable(snapshot); if (!Preferences.default_snapshot_name_date_format.isEmpty()) { - SimpleDateFormat formatter = new SimpleDateFormat(Preferences.default_snapshot_name_date_format); - snapshot.getSnapshotNode().setName(formatter.format(new Date())); + try { + //The format could be not correct + SimpleDateFormat formatter = new SimpleDateFormat(Preferences.default_snapshot_name_date_format); + snapshot.getSnapshotNode().setName(formatter.format(new Date())); + } + catch (Exception e) { + // Do not manage date format + } } consumer.accept(Optional.of(snapshot)); }); From 44b7362f3d4e46933067ca7365df4541890c5562 Mon Sep 17 00:00:00 2001 From: ksaintin Date: Mon, 10 Mar 2025 16:07:48 +0100 Subject: [PATCH 2/3] Log a warning message when the date format is wrong --- .../ui/snapshot/SnapshotTableViewController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java index cbd2cc675e..4ee7b0fa9e 100644 --- a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java +++ b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotTableViewController.java @@ -247,13 +247,14 @@ private void takeSnapshot(Consumer> consumer) { snapshot.setSnapshotData(snapshotData); showSnapshotInTable(snapshot); if (!Preferences.default_snapshot_name_date_format.isEmpty()) { + String dateFormat = Preferences.default_snapshot_name_date_format; try { //The format could be not correct - SimpleDateFormat formatter = new SimpleDateFormat(Preferences.default_snapshot_name_date_format); + SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); snapshot.getSnapshotNode().setName(formatter.format(new Date())); } catch (Exception e) { - // Do not manage date format + LOGGER.log(Level.WARNING, dateFormat + " is not a valid date format please check 'default_snapshot_name_date_format' preference ", e); } } consumer.accept(Optional.of(snapshot)); From 68939e8c8361556254355d9289d3ab34b3339554 Mon Sep 17 00:00:00 2001 From: ksaintin Date: Mon, 10 Mar 2025 17:14:11 +0100 Subject: [PATCH 3/3] Fix the preference package name in conflict with save_and_restore_preferences.properties --- .../main/resources/save_and_restore_util_preferences.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/save-and-restore/util/src/main/resources/save_and_restore_util_preferences.properties b/app/save-and-restore/util/src/main/resources/save_and_restore_util_preferences.properties index 40254d8408..e2b9fa1382 100644 --- a/app/save-and-restore/util/src/main/resources/save_and_restore_util_preferences.properties +++ b/app/save-and-restore/util/src/main/resources/save_and_restore_util_preferences.properties @@ -1,5 +1,5 @@ # ----------------------------------------------- -# Package org.phoebus.applications.saveandrestore +# Package org.phoebus.saveandrestore.util # ----------------------------------------------- # connection timeout (in ms) when taking snapshot