[richfaces-svn-commits] JBoss Rich Faces SVN: r5097 - in branches/3.1.x: framework/impl/src/main/java/org/ajax4jsf/renderkit and 14 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Dec 28 15:57:43 EST 2007


Author: nbelaevski
Date: 2007-12-28 15:57:43 -0500 (Fri, 28 Dec 2007)
New Revision: 5097

Modified:
   branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
   branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
   branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
   branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
   branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
   branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
   branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
   branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
   branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
   branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
   branches/3.1.x/ui/effect/src/main/templates/effect.jspx
   branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
   branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
   branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
   branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
   branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
   branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java
   branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
Log:
http://jira.jboss.com/jira/browse/RF-1325

Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -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: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -55,7 +55,7 @@
 	 */
 	protected static final String JAVASCRIPT_NAMESPACE = "Exadel";
 	private static final Log log = LogFactory.getLog(RendererBase.class);
-	private static final RendererUtils utils = new RendererUtils();
+	private static final RendererUtils utils = RendererUtils.getInstance();
 
 	private SkinFactory skinFactory = null;
 	private InternetResourceBuilder resourceBuilder = null;

Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -55,11 +55,10 @@
  * 
  */
 public class RendererUtils {
-    
-    //we'd better use this instance multithreadly quickly
-    	private static final RendererUtils instance = new RendererUtils();
-
-
+	
+	//we'd better use this instance multithreadly quickly
+	private static final RendererUtils instance = new RendererUtils();
+	
 	public static final String DUMMY_FORM_ID = ":_form";
 	/**
 	 * Substitutions for components properies names and HTML attributes names.
@@ -73,13 +72,19 @@
 		Arrays.sort(HTML.PASS_THRU_URI);
 	}
 
-        /**
-         * Use this method to get singleton instance of RendererUtils
-         * @return singleton instance
-         */
-        public static RendererUtils getInstance() {
-                return instance;
-        }
+	//can be created by subclasses; 
+	//administratively restricted to be created by package members ;)
+	protected RendererUtils() {
+		super();
+	}
+	
+	/**
+	 * Use this method to get singleton instance of RendererUtils
+	 * @return singleton instance
+	 */
+	public static RendererUtils getInstance() {
+		return instance;
+	}
 
 	/**
 	 * Common HTML elements and attributes names.

Modified: branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -36,12 +36,8 @@
  */
 public class FormUtil {
 	
-	//TODO nick -> nick - howto get rid of this static instance?
-	private static RendererUtils rendererUtils = new RendererUtils();
-	
 	public static void throwEnclFormReqExceptionIfNeed(FacesContext context, UIComponent component) throws EnclosingFormRequiredException {
-		//RendererUtils rendererUtils = new RendererUtils(); 
-		UIForm form= rendererUtils.getNestingForm(context, component);
+		UIForm form= RendererUtils.getInstance().getNestingForm(context, component);
 		//TODO nick -> nick - switchType checking can be harmful here
 		String switchType = (String) component.getAttributes().get("switchType");
 		boolean isSwitchTypeClient = switchType == null ? false : switchType.equalsIgnoreCase("client") ;

Modified: branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
===================================================================
--- branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -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: branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
===================================================================
--- branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -35,6 +35,7 @@
 import javax.faces.event.FacesEvent;
 import javax.faces.model.ListDataModel;
 
+import org.ajax4jsf.renderkit.RendererUtils;
 import org.richfaces.event.DataFilterSliderAdapter;
 import org.richfaces.event.DataFilterSliderEvent;
 import org.richfaces.event.DataFilterSliderListener;
@@ -139,7 +140,7 @@
             // DataScroller may be a child of uiData
             forComp = getParent();
         } else {
-            forComp = findComponent(forAttribute);
+            forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
         }
         if (forComp == null) {
             throw new IllegalArgumentException("could not find dataTable with id '"

Modified: branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
--- branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -21,12 +21,6 @@
 
 package org.richfaces.component;
 
-import org.ajax4jsf.component.AjaxActionComponent;
-import org.ajax4jsf.renderkit.AjaxRendererUtils;
-import org.richfaces.event.DataScrollerEvent;
-import org.richfaces.event.DataScrollerListener;
-import org.richfaces.event.DataScrollerSource;
-
 import javax.faces.FacesException;
 import javax.faces.component.ActionSource;
 import javax.faces.component.UIComponent;
@@ -36,7 +30,14 @@
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
 
+import org.ajax4jsf.component.AjaxActionComponent;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.richfaces.event.DataScrollerEvent;
+import org.richfaces.event.DataScrollerListener;
+import org.richfaces.event.DataScrollerSource;
 
+
 /** JSF component class */
 //xxxx nick -> alex - extend UIComponentBase and
 //create event listener & event classes to define PageSwitchEvent
@@ -201,7 +202,7 @@
             throw new FacesException(
                     "could not find dataTable for  datascroller " + this.getId());
         } else {
-            forComp = findComponent(forAttribute);
+            forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
         }
         if (forComp == null) {
             throw new IllegalArgumentException("could not find dataTable with id '"

Modified: branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
===================================================================
--- branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -30,6 +30,7 @@
 import org.ajax4jsf.javascript.DnDScript;
 import org.ajax4jsf.javascript.PrototypeScript;
 import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
 import org.richfaces.component.Draggable;
 import org.richfaces.component.Dropzone;
 import org.richfaces.event.DnDEvent;
@@ -143,7 +144,7 @@
 			if (indicatorId == null) {
 				String simpleId = draggable.getDragIndicator();
 				if (simpleId != null) {
-					UIComponent indicator = component.findComponent(simpleId);
+					UIComponent indicator = RendererUtils.getInstance().findComponentFor(component, simpleId);
 					if (indicator != null) {
 						indicatorId = indicator.getClientId(context);
 					}

Modified: branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -46,8 +46,6 @@
 
        	private static final Log log = LogFactory.getLog(UIEffect.class);
 
-	private static RendererUtils rendererUtils = new RendererUtils();
-
     /**
      * @return JavaScript eventString. Rebuild on every call, since
      * can be in loop ( as in dataTable ) with different parameters.
@@ -61,7 +59,7 @@
         UIComponent targetComponent=null;
 
  	if (!"".equals(targetId)) {
-		targetComponent=rendererUtils.findComponentFor(FacesContext.getCurrentInstance(),this,targetId);
+		targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
 	}
         if (targetComponent!=null) {
 	       targetPart = "{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";

Modified: branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
--- branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -11,6 +11,7 @@
 
 import org.ajax4jsf.javascript.JSEncoder;
 import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
 import org.richfaces.component.UIEffect;
 import org.richfaces.json.JSONTokener;
 
@@ -98,7 +99,7 @@
             
             if ("id".equals(key)) {
             	Object value = x.nextValue();
-				UIComponent component = effect.findComponent(value.toString());
+				UIComponent component = RendererUtils.getInstance().findComponentFor(effect, value.toString());
 				if (component != null) {
 					value = component.getClientId(context);
 				}

Modified: branches/3.1.x/ui/effect/src/main/templates/effect.jspx
===================================================================
--- branches/3.1.x/ui/effect/src/main/templates/effect.jspx	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/templates/effect.jspx	2007-12-28 20:57:43 UTC (rev 5097)
@@ -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: branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
--- branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -8,12 +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.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;
@@ -95,7 +95,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 {
@@ -259,67 +260,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: branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
===================================================================
--- branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -21,39 +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 javax.faces.el.MethodBinding;
-import javax.faces.event.FacesEvent;
-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.
  */
@@ -272,8 +272,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: branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
--- branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -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 = control.findComponent(target);
+         UIComponent targetComponent = RendererUtils.getInstance().findComponentFor(control, target);
          if (null != targetComponent) {
            return (UITogglePanel)targetComponent;
          } else {        	 
@@ -145,7 +144,7 @@
 		
 		} else {
 			//xxxx by nick - nick - potential compatibility break?
-			panel = this.findComponent(panelId);
+			panel = RendererUtils.getInstance().findComponentFor(context, this, panelId);
 			if(panel == null) {
 				//xxx by nick - denis - please replace all RuntimeException with more concrete FacesException
 				throw new FacesException("Panel with id=" + panelId + " has not been found.");

Modified: branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
===================================================================
--- branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -131,8 +131,7 @@
 		} else {
 			// Server
 			//xxx by nick - denis - use org.ajax4jsf.renderkit.RendererUtils#getNestingForm(FacesContext, UIComponent)
-			RendererUtils rendererUtils = new RendererUtils(); 
-			UIForm Form= rendererUtils.getNestingForm(context, component);
+			UIForm Form= getUtils().getNestingForm(context, component);
 			String formId=null;			
 			if (Form!=null){
 				 formId = Form.getClientId(context);

Modified: branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
===================================================================
--- branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -135,18 +135,19 @@
 	}
 	
 	
-	public Map buildEventOptions(FacesContext context, UIComponent component){
+	public Map buildEventOptions(FacesContext context, UIComponent component, String targetId){
         Map eventOptions = AjaxRendererUtils.buildEventOptions(context,	component);
+        String jsVarName = "Richfaces.tooltips[\'" + targetId + "\']";
         
         //after element is subsituted in DOM tree, we have to re-create
         //it's JS-reference, cause old one is already invalid
-        String refreshTooltipInDOM = ";" + getJsVarName(context, component) + ".toolTip = $('" + component.getClientId(context) + "');" +
-        	";" + getJsVarName(context, component) + ".toolTipContent = $('" + component.getClientId(context) + "content');";
+		String refreshTooltipInDOM = ";" + jsVarName + ".toolTip = $('" + component.getClientId(context) + "');" +
+        	";" + jsVarName + ".toolTipContent = $('" + component.getClientId(context) + "content');";
         
-        String showNewToolTip = ";" + getJsVarName(context, component) + ".displayDiv();";
+        String showNewToolTip = ";" + jsVarName + ".displayDiv();";
         
         // before element will be substituted in DOM tree, we need to hide toolTipe to avoid blinking
-        String fireBeforeUpdateDOM = ";" + getJsVarName(context, component) + ".toolTip.style.display = 'none';";
+        String fireBeforeUpdateDOM = ";" + jsVarName + ".toolTip.style.display = 'none';";
         
        
         //enable ajaxSingle mode, i.e. we do not need to submit all form controls to get tooltip content
@@ -204,10 +205,14 @@
 		writer.write(ret.toString());
 		
 	}
+	
+	private String getTargetId(FacesContext context, UIComponent component) {
+		return component.getParent().getClientId(context);
+	}
 
 	public String constructJSVariable(FacesContext context, UIComponent component) {
 		UIToolTip toolTip = (UIToolTip)component;
-		String parentClientId = toolTip.getParent().getClientId(context);
+		String targetClientId = getTargetId(context, component);
 		StringBuffer ret = new StringBuffer();
 		String comma = ",";
 		String quot = "\"";
@@ -229,10 +234,10 @@
 		function.addParameter(ref);
 		String ajaxFunc = function.toScript();
 		
-		Map ajaxOptions = buildEventOptions(context, toolTip);
+		Map ajaxOptions = buildEventOptions(context, toolTip, targetClientId);
 		
 		ret.append("new ToolTip(" + ScriptUtils.toScript(eventsMap)).append(comma).append(quot).append( toolTip.getClientId(context)).append(quot).append(comma).
-		append(quot).append(parentClientId).append(quot).append(comma).
+		append(quot).append(targetClientId).append(quot).append(comma).
 		append(quot).append(toolTip.getMode()).append(quot).append(comma).
 		append(toolTip.isDisabled()).append(comma).
 		append(quot).append(toolTip.getDirection()).append(quot).append(comma).
@@ -245,10 +250,6 @@
 	}
 	
 	
-	private String getJsVarName(FacesContext context, UIComponent component){
-		return "Richfaces.tooltips[\'" + component.getParent().getClientId(context) + "\']";
-	}
-	
 	protected void doDecode(FacesContext context, UIComponent component) {
 
 		UIToolTip tooltip = (UIToolTip)component;

Modified: branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -46,6 +46,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;
@@ -805,9 +806,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: branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
===================================================================
--- branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java	2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java	2007-12-28 20:57:43 UTC (rev 5097)
@@ -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);




More information about the richfaces-svn-commits mailing list