diff --git a/app/save-and-restore/app/doc/index.rst b/app/save-and-restore/app/doc/index.rst index 37be53ff00..09c6674841 100644 --- a/app/save-and-restore/app/doc/index.rst +++ b/app/save-and-restore/app/doc/index.rst @@ -365,7 +365,7 @@ Filter PV items in list ^^^^^^^^^^^^^^^^^^^^^^^ The list of items in the snapshot view can be filtered based on the PV name. See screenshot for highlighted UI element where user may specify a string pattern to match PV names. Non-matching items will be hidden from the list view and -**also excluded from a restore operation**. +**also excluded from a restore operation**. Filtering is case-insensitive. To filter the view without excluding PV items from a restore operation, user needs to tick the “Preserve selection…” checkbox. diff --git a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java index 880dc87c1e..3386b85292 100644 --- a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java +++ b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/snapshot/SnapshotController.java @@ -1239,11 +1239,11 @@ private void applyFilter() { List> regexPatterns = filters.stream() .map(item -> { if (item.startsWith("/")) { - return List.of(Pattern.compile(item.substring(1, item.length() - 1).trim())); + return List.of(Pattern.compile(item.substring(1, item.length() - 1).trim(), Pattern.CASE_INSENSITIVE)); } else { return Arrays.stream(item.split("&")) .map(andItem -> andItem.replaceAll("\\*", ".*")) - .map(andItem -> Pattern.compile(andItem.trim())) + .map(andItem -> Pattern.compile(andItem.trim(), Pattern.CASE_INSENSITIVE)) .collect(Collectors.toList()); } }).toList(); @@ -1653,4 +1653,4 @@ public void updateItem(AlarmSeverity alarmSeverity, boolean empty) { } } -} \ No newline at end of file +}