diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java index 57cbb9aaeed312b51e71153e4b5e571afcbc38a8..61798baf7f3fdf638878eecebb08ac44d9aa72e4 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java @@ -884,15 +884,23 @@ public class AssessmentTestComposerController extends MainLayoutBasicController metadata.setOpenOLATMetadataMasterIdentifier(identifier); metadata.setOpenOLATMetadataIdentifier(UUID.randomUUID().toString()); doSaveManifest(); - return doReloadItem(ureq); + + // reselect the node (--force) + String itemId = itemRef.getIdentifier().toString(); + TreeNode newItemNode = menuTree.getTreeModel().getNodeById(itemId); + menuTree.setSelectedNode(newItemNode); + menuTree.open(newItemNode); + return doReloadItem(ureq); } private TreeNode doReloadItem(UserRequest ureq) { TreeNode selectedNode = menuTree.getSelectedNode(); updateTreeModel(false); - menuTree.setSelectedNodeId(selectedNode.getIdent()); - selectedNode = menuTree.getSelectedNode(); - partEditorFactory(ureq, selectedNode); + if(selectedNode != null) { + menuTree.setSelectedNodeId(selectedNode.getIdent()); + selectedNode = menuTree.getSelectedNode(); + partEditorFactory(ureq, selectedNode); + } return selectedNode; }