[richfaces-svn-commits] JBoss Rich Faces SVN: r2180 - in trunk: ui/panelbar/src/main/java/org/richfaces/component and 4 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Aug 9 12:01:11 EDT 2007


Author: nbelaevski
Date: 2007-08-09 12:01:11 -0400 (Thu, 09 Aug 2007)
New Revision: 2180

Modified:
   trunk/cdk/
   trunk/ui/panelbar/src/main/java/org/richfaces/component/UIPanelBarItem.java
   trunk/ui/panelbar/src/main/templates/panelBarItem.jspx
   trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITab.java
   trunk/ui/toolBar/src/main/java/org/richfaces/component/UIToolBarGroup.java
   trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarGroupRenderer.java
Log:
http://jira.jboss.com/jira/browse/RF-570 fixed



Property changes on: trunk/cdk
___________________________________________________________________
Name: svn:ignore
   + target


Modified: trunk/ui/panelbar/src/main/java/org/richfaces/component/UIPanelBarItem.java
===================================================================
--- trunk/ui/panelbar/src/main/java/org/richfaces/component/UIPanelBarItem.java	2007-08-09 15:57:14 UTC (rev 2179)
+++ trunk/ui/panelbar/src/main/java/org/richfaces/component/UIPanelBarItem.java	2007-08-09 16:01:11 UTC (rev 2180)
@@ -21,6 +21,8 @@
 
 package org.richfaces.component;
 
+import javax.faces.FacesException;
+import javax.faces.component.UIComponent;
 import javax.faces.component.UIComponentBase;
 
 public abstract class UIPanelBarItem 
@@ -37,8 +39,16 @@
     public abstract void setName(Object name);
 
     public UIPanelBar getPanel(){
-		//XXX by nick - andrew - panelBarItem is an immediate panelBar child, no need to traverse up a lot
-		return (UIPanelBar) getParent();
+		UIComponent component = getParent();
+    	while (component != null && !(component instanceof UIPanelBar)) {
+    		component = component.getParent();
+    	}
+
+    	if (component == null) {
+    		throw new FacesException("The component: " + this.getClientId(getFacesContext()) + " is not nested within " + UIPanelBar.class.getSimpleName());
+    	} else {
+        	return (UIPanelBar) component;
+    	}
 	}
 
         public boolean getRendersChildren() {

Modified: trunk/ui/panelbar/src/main/templates/panelBarItem.jspx
===================================================================
--- trunk/ui/panelbar/src/main/templates/panelBarItem.jspx	2007-08-09 15:57:14 UTC (rev 2179)
+++ trunk/ui/panelbar/src/main/templates/panelBarItem.jspx	2007-08-09 16:01:11 UTC (rev 2180)
@@ -10,9 +10,12 @@
 	component="org.richfaces.component.UIPanelBarItem">
 
 	<f:clientid var="clientId" />
-	<div id="#{clientId}" class="dr-pnlbar rich-panelbar dr-pnlbar-ext #{component.panel.attributes['styleClass']}" style="#{component.panel.attributes['style']}">
-	<div class="dr-pnlbar-h rich-panelbar-header #{component.panel.attributes['headerClass']} #{component.attributes['headerClass']}"
-		style="#{component.panel.attributes['headerStyle']};#{component.attributes['headerStyle']}">
+
+	<c:object var="panel" value="#{component.panel}" type="javax.faces.component.UIComponent" />
+
+	<div id="#{clientId}" class="dr-pnlbar rich-panelbar dr-pnlbar-ext #{panel.attributes['styleClass']}" style="#{panel.attributes['style']}">
+	<div class="dr-pnlbar-h rich-panelbar-header #{panel.attributes['headerClass']} #{component.attributes['headerClass']}"
+		style="#{panel.attributes['headerStyle']};#{component.attributes['headerStyle']}">
         <jsp:scriptlet><![CDATA[
             if(component.getFacet("label")!=null && component.getFacet("label").isRendered()) {
         ]]></jsp:scriptlet>
@@ -25,8 +28,8 @@
             }
         ]]></jsp:scriptlet>
 	</div>
-	<div class="dr-pnlbar-h-act rich-panelbar-header-act #{component.panel.attributes['headerClass']} #{component.attributes['headerClass']} #{component.panel.attributes['headerClassActive']} #{component.attributes['headerClassActive']}"
-		style="#{component.panel.attributes['headerStyle']};#{component.attributes['headerStyle']};#{component.panel.attributes['headerStyleActive']};#{component.attributes['headerStyleActive']};display: none;">
+	<div class="dr-pnlbar-h-act rich-panelbar-header-act #{panel.attributes['headerClass']} #{component.attributes['headerClass']} #{panel.attributes['headerClassActive']} #{component.attributes['headerClassActive']}"
+		style="#{panel.attributes['headerStyle']};#{component.attributes['headerStyle']};#{panel.attributes['headerStyleActive']};#{component.attributes['headerStyleActive']};display: none;">
 
         <jsp:scriptlet><![CDATA[
             if(component.getFacet("label")!=null && component.getFacet("label").isRendered()) {
@@ -42,8 +45,8 @@
 	</div>
 
 	<div style="display: none; width: 100%;">
-	<table cellpadding="0" width="100%" style="height: 100%;"><tbody><tr><td class="dr-pnlbar-c rich-panelbar-content #{component.panel.attributes['contentClass']} #{component.attributes['contentClass']}"
-		style="#{component.panel.attributes['contentStyle']};#{component.attributes['contentStyle']}">
+	<table cellpadding="0" width="100%" style="height: 100%;"><tbody><tr><td class="dr-pnlbar-c rich-panelbar-content #{panel.attributes['contentClass']} #{component.attributes['contentClass']}"
+		style="#{panel.attributes['contentStyle']};#{component.attributes['contentStyle']}">
 		<vcp:body>
 			<f:call name="renderChildren" />
 		</vcp:body>

Modified: trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITab.java
===================================================================
--- trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITab.java	2007-08-09 15:57:14 UTC (rev 2179)
+++ trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITab.java	2007-08-09 16:01:11 UTC (rev 2180)
@@ -75,16 +75,16 @@
      * @return {@link UITabPanel}
      */
     public UITabPanel getPane() throws FacesException {
-        UIComponent parent = this.getParent();
-        if (parent instanceof UITabPanel) {
-            return (UITabPanel) parent;
-        }
+        UIComponent component = this.getParent();
+    	while (component != null && !(component instanceof UITabPanel)) {
+    		component = component.getParent();
+    	}
 
-        if (parent == null) {
-            return null;
-        }
-
-        throw new FacesException("UITab " + this.getClientId(getFacesContext()) + "component not inside in tab panel");
+    	if (component == null) {
+    		throw new FacesException("The component: " + this.getClientId(getFacesContext()) + " is not nested within " + UITabPanel.class.getSimpleName());
+    	} else {
+            return (UITabPanel) component;
+    	}
     }
 
     /* (non-Javadoc)

Modified: trunk/ui/toolBar/src/main/java/org/richfaces/component/UIToolBarGroup.java
===================================================================
--- trunk/ui/toolBar/src/main/java/org/richfaces/component/UIToolBarGroup.java	2007-08-09 15:57:14 UTC (rev 2179)
+++ trunk/ui/toolBar/src/main/java/org/richfaces/component/UIToolBarGroup.java	2007-08-09 16:01:11 UTC (rev 2180)
@@ -21,6 +21,7 @@
 
 package org.richfaces.component;
 
+import javax.faces.FacesException;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIComponentBase;
 
@@ -38,16 +39,15 @@
 	public abstract void setLocation(String location);
 
 	public UIToolBar getToolBar() {
-		UIComponent parent = getParent();
-		if (parent == null) {
-			return null;
-		}
-		
-		if (parent instanceof UIToolBar) {
-			return (UIToolBar) parent;
-		}
-		
-		//TODO nick - nick - message text
-		throw new ClassCastException("Parent should be " + UIToolBar.class.getName());
+        UIComponent component = this.getParent();
+    	while (component != null && !(component instanceof UIToolBar)) {
+    		component = component.getParent();
+    	}
+
+    	if (component == null) {
+    		throw new FacesException("The component: " + this.getClientId(getFacesContext()) + " is not nested within " + UIToolBar.class.getSimpleName());
+    	} else {
+            return (UIToolBar) component;
+    	}
 	}
 }

Modified: trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarGroupRenderer.java
===================================================================
--- trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarGroupRenderer.java	2007-08-09 15:57:14 UTC (rev 2179)
+++ trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarGroupRenderer.java	2007-08-09 16:01:11 UTC (rev 2180)
@@ -54,9 +54,9 @@
 		String style = (String) toolBarGroup.getAttributes().get("style");
 		String styleClass = (String) toolBarGroup.getAttributes().get("styleClass");
 		if (null == styleClass) styleClass = "";
-		String contentClass = (String) toolBarGroup.getParent().getAttributes().get("contentClass");
+		String contentClass = (String) toolBarGroup.getToolBar().getAttributes().get("contentClass");
 		if (null == contentClass) contentClass = "";
-		String contentStyle = (String) toolBarGroup.getParent().getAttributes().get("contentStyle");
+		String contentStyle = (String) toolBarGroup.getToolBar().getAttributes().get("contentStyle");
 		
 		if (component.getChildCount() > 0) {
 			for (Iterator it = component.getChildren().iterator(); it.hasNext();) {




More information about the richfaces-svn-commits mailing list