From da72f15d7d4ebb35d1898b8ab0f4d8bd716c27cd Mon Sep 17 00:00:00 2001 From: georgweiss Date: Fri, 16 Oct 2026 14:45:17 +0200 Subject: [PATCH] Allow expansion of save&restore composite snapshot node --- .../app/doc/images/composite-snapshot.png | Bin 0 -> 638 bytes .../ui/SaveAndRestoreController.java | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 app/save-and-restore/app/doc/images/composite-snapshot.png diff --git a/app/save-and-restore/app/doc/images/composite-snapshot.png b/app/save-and-restore/app/doc/images/composite-snapshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bce5562246244ad0cec5f291de8e3957510099bc GIT binary patch literal 638 zcmV-^0)hRBP)|NsB~qTmCw^Zzf&(_gAz=SV1O$YlvZQ#DqV`9@bTpX3@4T~ zG5q@e876cgX3|ANTn4j%3=L`9!@$PL0~h@N|1X%nd2l7e*$w@;^coQI{{Me}zGC1z z$JhK{Rc`(N%-T+jVEOs=11MNPxB;Jw85p20TvOx8@ay{*xFj1VFN3;$1Oo%ZUldJj zoLmgL9;pnMcg(I|lBZvfEofLEUjGN?fDAAo8i@+v!E37eo3A_I9Q-AM!4`l5*u64{Qr+?CT@3nM6=Tt3JkAgP2R#)Pg2lmbBE2oFmTjf7b_ zxG@ao78FNShe#E0aAC*99JH*88Wf5qt_=6j>|l8R>@JuurmWAPXySsQ4x`va2B4sc z?AnP{?$zCk46K|y41!Y17;?+Y+%a5?0Z>v55)f6=0rSw4-`DpqiE{CIf~6QXz`$?; Y0K6|Ml-ihL)&Kwi07*qoM6N<$f~F-PxBvhE literal 0 HcmV?d00001 diff --git a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/SaveAndRestoreController.java b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/SaveAndRestoreController.java index a0a0cde25d..3811aeb71e 100644 --- a/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/SaveAndRestoreController.java +++ b/app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/SaveAndRestoreController.java @@ -430,7 +430,18 @@ private String getSavedFilterName() { * @param targetItem {@link TreeItem} on which the operation is performed. */ protected void expandTreeNode(TreeItem targetItem) { - List childNodes = saveAndRestoreService.getChildNodes(targetItem.getValue()); + List childNodes; + if(targetItem.getValue().getNodeType().equals(NodeType.COMPOSITE_SNAPSHOT)){ + try { + childNodes = saveAndRestoreService.getCompositeSnapshotNodes(targetItem.getValue().getUniqueId()); + } catch (Exception e) { + ExceptionDetailsErrorDialog.openError(treeTableView, Messages.errorGeneric, Messages.errorUnableToRetrieveData, e); + return; + } + } + else{ + childNodes = saveAndRestoreService.getChildNodes(targetItem.getValue()); + } List> list = childNodes.stream().map(this::createTreeItem).toList(); targetItem.getChildren().setAll(list); @@ -745,7 +756,7 @@ private TreeItem createTreeItem(final Node node) { return new TreeItem<>(node) { @Override public boolean isLeaf() { - return node.getNodeType().equals(NodeType.SNAPSHOT) || node.getNodeType().equals(NodeType.COMPOSITE_SNAPSHOT); + return node.getNodeType().equals(NodeType.SNAPSHOT); } }; }