From 0b27fac7ec84d9770f1dc88529d8687801be02e4 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Tue, 7 May 2013 08:50:28 +0200 Subject: [PATCH] OO-534: fix loadtest mode --- .../olat/core/gui/components/Container.java | 4 ++++ .../org/olat/core/gui/components/Window.java | 2 +- .../org/olat/core/gui/render/Renderer.java | 21 ++++++++----------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/Container.java b/src/main/java/org/olat/core/gui/components/Container.java index 79ab79d993b..790bd473572 100644 --- a/src/main/java/org/olat/core/gui/components/Container.java +++ b/src/main/java/org/olat/core/gui/components/Container.java @@ -110,6 +110,10 @@ public abstract class Container extends Component implements ComponentCollection return components.values(); } + public Map<String,Component> getComponentMap() { + return components; + } + public void clear() { components.clear(); } diff --git a/src/main/java/org/olat/core/gui/components/Window.java b/src/main/java/org/olat/core/gui/components/Window.java index 0409dc21412..7eb9abd3ebc 100644 --- a/src/main/java/org/olat/core/gui/components/Window.java +++ b/src/main/java/org/olat/core/gui/components/Window.java @@ -1066,7 +1066,7 @@ public class Window extends Container { boolean correctFullPath = true; for (int i = res.length -1; i >= 0 && correctFullPath; i--) { String cname = res[i]; - Container co = (Container) cur; // we did not record the leaf, so we know it's a container + ComponentCollection co = (ComponentCollection) cur; // we did not record the leaf, so we know it's a container Component c = co.getComponent(cname); if (c == null) { correctFullPath = false; diff --git a/src/main/java/org/olat/core/gui/render/Renderer.java b/src/main/java/org/olat/core/gui/render/Renderer.java index e2371d389d4..839465929d7 100644 --- a/src/main/java/org/olat/core/gui/render/Renderer.java +++ b/src/main/java/org/olat/core/gui/render/Renderer.java @@ -26,6 +26,9 @@ package org.olat.core.gui.render; +import java.util.Iterator; +import java.util.Map; + import org.olat.core.defaults.dispatcher.StaticMediaDispatcher; import org.olat.core.gui.GUIInterna; import org.olat.core.gui.GlobalSettings; @@ -43,16 +46,6 @@ import org.olat.core.util.WebappHelper; */ public class Renderer { - /** - * <code>showDebugInfo</code> - */ - //public static boolean showDebugInfo = false; - /** - * true: use mini style, false: use traditional style - */ - //public static boolean debugMiniStyle = true; - - private URLBuilder urlBuilder; private Translator translator; private Container renderContainer; @@ -235,16 +228,20 @@ public class Renderer { Container ccpar = cc.getParent(); while (ccpar != null) { // omit content pane // find out name under which cc was registered in its parent - that is the relevant name, not the name of the component itself - for (Component chd: ccpar.getComponents()) { + Map<String,Component> namedChildren = ccpar.getComponentMap(); + for (Iterator<String> it_chd = namedChildren.keySet().iterator(); it_chd.hasNext();) { + String chdName = it_chd.next(); + Component chd = ccpar.getComponent(chdName); if (chd == cc) { // found -> append name - pathsb.append(chd.getComponentName()).append('!'); + pathsb.append(chdName).append('!'); break; } } cc = ccpar; ccpar = cc.getParent(); } + System.out.println(pathsb.toString()); cubu.setComponentPath(pathsb.toString()); } -- GitLab