Author: nbelaevski
Date: 2007-11-11 19:45:24 -0500 (Sun, 11 Nov 2007)
New Revision: 3895
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
trunk/ui/effect/src/main/templates/effect.jspx
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
Log:
http://jira.jboss.com/jira/browse/RF-1325
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -35,6 +35,7 @@
import org.ajax4jsf.event.AjaxListener;
import org.ajax4jsf.event.AjaxSingleEvent;
import org.ajax4jsf.event.AjaxSource;
+import org.ajax4jsf.renderkit.RendererUtils;
/**
* @author shura (latest modification by $Author: alexsmirnov $)
@@ -73,9 +74,10 @@
String focus = getFocus();
if (null != focus) {
// search for component in tree.
- // TODO - use more pourful search, as in h:outputLabel
+ // XXX - use more pourful search, as in h:outputLabel
// component.
- UIComponent focusComponent = findComponent(focus);
+ UIComponent focusComponent = RendererUtils.getInstance().
+ findComponentFor(this, focus);
if (null != focusComponent) {
focus = focusComponent.getClientId(context);
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -59,6 +59,7 @@
import org.ajax4jsf.renderkit.AjaxContainerRenderer;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.HeaderResourceProducer;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.ajax4jsf.webapp.BaseFilter;
import org.ajax4jsf.webapp.FilterServletResponseWrapper;
@@ -575,7 +576,7 @@
/**
* Test for relative id of target components. Attempt convert to absolute.
* For use as argument for
- * {@link UIComponent#findComponent(java.lang.String)}
+ * {@link RendererUtils#findComponentFor(UIComponent, String)}
*
* @param component
* @param id
@@ -589,7 +590,8 @@
throw new NullPointerException(
"Base component for search re-rendered compnnent is null");
}
- UIComponent target = findComponentFor(component, id);
+ UIComponent target = RendererUtils.getInstance().
+ findComponentFor(component, id);
if (null != target) {
return AjaxRendererUtils.getAbsoluteId(target);
}
@@ -598,52 +600,6 @@
}
/**
- * @param component
- * @param id
- * @return
- */
- private UIComponent findComponentFor(UIComponent component, String id) {
- UIComponent target = null;
- UIComponent parent = component;
- UIComponent root = component;
- while (null == target && null != parent) {
- target = parent.findComponent(id);
- root = parent;
- parent = parent.getParent();
- }
- if (null == target) {
- target = findUIComponentBelow(root, id);
- }
- return target;
- }
-
- private UIComponent findUIComponentBelow(UIComponent root, String id) {
-
- UIComponent target = null;
- for (Iterator iter = root.getFacetsAndChildren(); iter.hasNext();) {
- UIComponent child = (UIComponent) iter.next();
- if (child instanceof NamingContainer) {
- try {
- target = child.findComponent(id);
- } catch (IllegalArgumentException iae) {
- continue;
- }
- }
- if (target == null) {
- if (child.getChildCount() > 0) {
- target = findUIComponentBelow(child, id);
- }
- }
-
- if (target != null) {
- break;
- }
-
- }
- return target;
- }
-
- /**
* @return Returns the ajaxRenderedAreas.
*/
public Set getAjaxRenderedAreas() {
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -285,7 +285,8 @@
if (null != ajaxAreas) {
for (Iterator iter = ajaxAreas.iterator(); iter.hasNext();) {
String id = (String) iter.next();
- UIComponent comp = uiComponent.findComponent(id);
+ UIComponent comp = RendererUtils.getInstance().
+ findComponentFor(uiComponent, id);
if (null != comp) {
areasIds.add(comp.getClientId(facesContext));
} else {
@@ -541,24 +542,9 @@
statusId = (String) component.getAttributes().get(STATUS_ATTR_NAME);
}
if (null != statusId) {
- UIComponent status = null;
- UIComponent currentParent = component;
- try {
- // Check the naming container of the current
- // component for component identified by
- // 'forComponent'
- while (currentParent != null) {
- // If the current component is a NamingContainer,
- // see if it contains what we're looking for.
- status = currentParent.findComponent(statusId);
- if (status != null)
- break;
- // if not, start checking further up in the view
- currentParent = currentParent.getParent();
- }
- } catch (Exception e) {
- // ignore - log the warning
- }
+ UIComponent status = RendererUtils.getInstance().
+ findComponentFor(component, statusId);
+
if (null != status) {
statusId = status
.getClientId(FacesContext.getCurrentInstance());
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
---
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -825,8 +825,8 @@
* @param id
* @return
*/
- public UIComponent findComponentFor(FacesContext context,
- UIComponent component, String id) {
+ public UIComponent findComponentFor(UIComponent component,
+ String id) {
UIComponent target = null;
UIComponent parent = component;
UIComponent root = component;
Modified: trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
===================================================================
---
trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -65,7 +65,7 @@
while (matcher.find()) {
// make new id selector here using matcher.group(1)
- UIComponent target = RendererUtils.getInstance().findComponentFor(context, component,
matcher.group(1));
+ UIComponent target = RendererUtils.getInstance().findComponentFor(component,
matcher.group(1));
if (target != null) {
matcher.appendReplacement(sb, "#"
Modified: trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
===================================================================
--- trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-11-12
00:36:36 UTC (rev 3894)
+++ trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -31,6 +31,7 @@
import org.ajax4jsf.Messages;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
/**
@@ -242,7 +243,7 @@
String forValue = getFor();
UIComponent container;
if (null != forValue) {
- container = findComponent(forValue);
+ container = RendererUtils.getInstance().findComponentFor(this, forValue);
// 'for' attribute must be pointed to real container in view tree
if (null == container || !(container instanceof AjaxContainer)) {
throw new FacesException(
Modified:
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
===================================================================
---
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -140,7 +140,7 @@
// DataScroller may be a child of uiData
forComp = getParent();
} else {
- forComp = RendererUtils.getInstance().findComponentFor(getFacesContext(),
this, forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id
'"
Modified: trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
---
trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -202,7 +202,7 @@
throw new FacesException(
"could not find dataTable for datascroller " +
this.getId());
} else {
- forComp = RendererUtils.getInstance().findComponentFor(getFacesContext(),
this, forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id
'"
Modified:
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
===================================================================
---
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -144,7 +144,7 @@
if (indicatorId == null) {
String simpleId = draggable.getDragIndicator();
if (simpleId != null) {
- UIComponent indicator = RendererUtils.getInstance().findComponentFor(context,
component, simpleId);
+ UIComponent indicator = RendererUtils.getInstance().findComponentFor(component,
simpleId);
if (indicator != null) {
indicatorId = indicator.getClientId(context);
}
Modified: trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-12
00:36:36 UTC (rev 3894)
+++ trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -59,7 +59,7 @@
UIComponent targetComponent=null;
if (!"".equals(targetId)) {
- targetComponent=RendererUtils.getInstance().findComponentFor(FacesContext.getCurrentInstance(),this,targetId);
+ targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
}
if (targetComponent!=null) {
targetPart =
"{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";
Modified: trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
---
trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -99,7 +99,7 @@
if ("id".equals(key)) {
Object value = x.nextValue();
- UIComponent component = RendererUtils.getInstance().findComponentFor(context, effect,
value.toString());
+ UIComponent component = RendererUtils.getInstance().findComponentFor(effect,
value.toString());
if (component != null) {
value = component.getClientId(context);
}
Modified: trunk/ui/effect/src/main/templates/effect.jspx
===================================================================
--- trunk/ui/effect/src/main/templates/effect.jspx 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/effect/src/main/templates/effect.jspx 2007-11-12 00:45:24 UTC (rev 3895)
@@ -25,7 +25,7 @@
String sid = (String) variables.getVariable("for");
variables.setVariable("attachObj","''");
if (! "".equals(sid)) {
- UIComponent forcomp = getUtils().findComponentFor(context,
(UIComponent)component,sid);
+ UIComponent forcomp = getUtils().findComponentFor((UIComponent)component,sid);
if (forcomp != null) {
String cid= forcomp.getClientId(context);
variables.setVariable("forPart",
@@ -43,7 +43,7 @@
String tid = (String) variables.getVariable("targetId");
variables.setVariable("targetObj","''");
if (! "".equals(tid)) {
- UIComponent targetcomp = getUtils().findComponentFor(context,
(UIComponent)component,tid);
+ UIComponent targetcomp = getUtils().findComponentFor(component,tid);
if (targetcomp != null) {
variables.setVariable("targetPart","{targetId:'"+targetcomp.getClientId(context)+"'}");
} else {
Modified:
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
---
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -8,14 +8,12 @@
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
-import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
-import javax.faces.component.UIMessage;
-import javax.faces.component.UIMessages;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.resource.InternetResource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
@@ -99,7 +97,8 @@
if(forClientId.length() != 0){
- UIComponent result = findForComponent(context, forClientId,component);
+ UIComponent result = RendererUtils.getInstance().
+ findComponentFor(component, forClientId);
if (result == null) {
msgIter = CollectionUtils.EMPTY_COLLECTION.iterator();
} else {
@@ -263,67 +262,6 @@
}
- protected UIComponent findForComponent(FacesContext context, String forClientId,
UIComponent component) throws IOException{
-
- if(null == forClientId || forClientId.length() == 0){
- return null;
- }
-
- UIComponent result = null;
- UIComponent parent = component;
-
- while(parent != null){
- result = parent.findComponent(forClientId);
-
- if(result != null){
- break;
- }
- parent = parent.getParent();
- }
-
- if(result == null){
- result = findComponentBelow(context.getViewRoot(), forClientId);
- }
-
- if(result == null){
- if(log.isWarnEnabled()){
- log.warn(COMPONENT_NOT_FOUND_IN_VIEW_WARN_MESSAGE + ":"+ forClientId);
- }
- }
-
- return result;
- }
-
- protected UIComponent findComponentBelow(UIComponent startComponent, String
forClientId){
-
- UIComponent retComp = null;
-
- if(startComponent.getChildCount() == 0){
- return null;
- }
-
- List children = startComponent.getChildren();
-
- for(int i = 0, size = children.size(); i < size; i++){
- UIComponent comp = (UIComponent) children.get(i);
-
- if(comp instanceof NamingContainer){
- retComp = comp.findComponent(forClientId);
- }
-
- if(retComp == null){
- if(comp.getChildCount() > 0){
- retComp = findComponentBelow(comp, forClientId);
- }
- }
-
- if(retComp != null)
- break;
- }
-
- return retComp;
- };
-
protected boolean isAcceptableMessage(FacesMessage message){
boolean accept = false;
Modified:
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
===================================================================
---
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -21,37 +21,39 @@
package org.richfaces.renderkit.html;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import javax.faces.FacesException;
+import javax.faces.component.NamingContainer;
+import javax.faces.component.UIColumn;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSFunctionDefinition;
import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.RendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.ajax4jsf.renderkit.compiler.HtmlCompiler;
import org.ajax4jsf.renderkit.compiler.PreparedTemplate;
import org.ajax4jsf.renderkit.compiler.TemplateContext;
import org.ajax4jsf.resource.InternetResource;
import org.ajax4jsf.resource.TemplateCSSResource;
+import org.richfaces.component.AjaxSuggestionEvent;
+import org.richfaces.component.UISuggestionBox;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
-import org.ajax4jsf.javascript.JSFunction;
-import org.ajax4jsf.javascript.JSFunctionDefinition;
-import org.richfaces.component.AjaxSuggestionEvent;
-import org.richfaces.component.UISuggestionBox;
-import javax.faces.FacesException;
-import javax.faces.component.NamingContainer;
-import javax.faces.component.UIColumn;
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIData;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Pattern;
-
/**
* Renderer for SuggestionBox component.
*/
@@ -269,8 +271,8 @@
String target = ((UISuggestionBox) component).getFor();
if (null != target) {
// Use parent since UIData - naming container
- UIComponent targetComponent = component.getParent().findComponent(
- target);
+ UIComponent targetComponent = RendererUtils.getInstance().
+ findComponentFor(component, target);
if (null != targetComponent) {
return targetComponent;
} else {
Modified: trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
---
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -27,7 +27,6 @@
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
@@ -82,7 +81,7 @@
if (null != target) {
- UIComponent targetComponent =
RendererUtils.getInstance().findComponentFor(FacesContext.getCurrentInstance(), control,
target);
+ UIComponent targetComponent =
RendererUtils.getInstance().findComponentFor(control, target);
if (null != targetComponent) {
return (UITogglePanel)targetComponent;
} else {
Modified:
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
===================================================================
---
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-11-12
00:36:36 UTC (rev 3894)
+++
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -211,7 +211,7 @@
String forValue = toolTip.getFor();
if (forValue != null && forValue.length() != 0) {
- UIComponent targetComponent = getUtils().findComponentFor(context, component,
forValue);
+ UIComponent targetComponent = getUtils().findComponentFor(component, forValue);
if (targetComponent != null) {
return targetComponent.getClientId(context);
} else {
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-11-12 00:36:36
UTC (rev 3894)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-11-12 00:45:24
UTC (rev 3895)
@@ -44,6 +44,7 @@
import org.ajax4jsf.model.ExtendedDataModel;
import org.ajax4jsf.model.Range;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.apache.commons.collections.iterators.SingletonIterator;
import org.richfaces.component.events.TreeEvents;
import org.richfaces.component.state.TreeState;
@@ -818,9 +819,9 @@
public String getResolvedDragIndicator(FacesContext facesContext) {
String dragIndicator = getDragIndicator();
- UIComponent parent = getParent();
- if (dragIndicator != null && parent != null) {
- UIComponent indicator = parent.findComponent(dragIndicator);
+ if (dragIndicator != null) {
+ UIComponent indicator = RendererUtils.getInstance().
+ findComponentFor(this, dragIndicator);
if (indicator != null) {
return indicator.getClientId(facesContext);
}
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-11-12
00:36:36 UTC (rev 3894)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-11-12
00:45:24 UTC (rev 3895)
@@ -15,6 +15,7 @@
import org.ajax4jsf.component.AjaxComponent;
import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.richfaces.component.events.TreeEvents;
import org.richfaces.event.DragEvent;
import org.richfaces.event.DragListener;
@@ -356,13 +357,10 @@
UITree tree = getUITree();
if (tree != null) {
if (indicatorId != null) {
- //tree is naming container
- UIComponent parent = tree.getParent();
- if (parent != null) {
- UIComponent indicator = parent.findComponent(indicatorId);
- if (indicator != null) {
- return indicator.getClientId(facesContext);
- }
+ UIComponent indicator = RendererUtils.getInstance().
+ findComponentFor(this, indicatorId);
+ if (indicator != null) {
+ return indicator.getClientId(facesContext);
}
} else {
return tree.getResolvedDragIndicator(facesContext);