From f9facfaa7aae72a323f52286b6b2e717025f1481 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 12 Dec 2011 18:03:47 +0100 Subject: [PATCH] FXOLAT-397: make the catalog -> details more robust against concurrent changes --- .../olat/catalog/ui/CatalogController.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/olat/catalog/ui/CatalogController.java b/src/main/java/org/olat/catalog/ui/CatalogController.java index 3806134dc6b..4a28f8982e0 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogController.java +++ b/src/main/java/org/olat/catalog/ui/CatalogController.java @@ -434,14 +434,17 @@ public class CatalogController extends BasicController implements Activateable, if (s.startsWith(CATENTRY_LEAF)) { int pos = Integer.parseInt(s.substring(CATENTRY_LEAF.length())); CatalogEntry showDetailForLink = (CatalogEntry) childCe.get(pos); - RepositoryEntry repoEnt = showDetailForLink.getRepositoryEntry(); - fireEvent(ureq, new EntryChangedEvent(repoEnt, EntryChangedEvent.MODIFIED)); - //fxdiff BAKS-7 Resume function - OLATResourceable ceRes = OresHelper.createOLATResourceableInstance(CatalogEntry.class.getSimpleName(), showDetailForLink.getKey()); - WindowControl bwControl = addToHistory(ureq, ceRes, null); - OLATResourceable ores = OresHelper.createOLATResourceableInstance("details", 0l); - addToHistory(ureq, ores, null, bwControl, true); - return; + RepositoryEntry repoEnt = showDetailForLink.getRepositoryEntry(); + if(repoEnt == null) {//concurrent edition, reload the current listing + updateContent(ureq, currentCatalogEntry, currentCatalogEntryLevel); + } else { + fireEvent(ureq, new EntryChangedEvent(repoEnt, EntryChangedEvent.MODIFIED)); + //fxdiff BAKS-7 Resume function + OLATResourceable ceRes = OresHelper.createOLATResourceableInstance(CatalogEntry.class.getSimpleName(), showDetailForLink.getKey()); + WindowControl bwControl = addToHistory(ureq, ceRes, null); + OLATResourceable ores = OresHelper.createOLATResourceableInstance("details", 0l); + addToHistory(ureq, ores, null, bwControl, true); + } } } } -- GitLab