[richfaces-svn-commits] JBoss Rich Faces SVN: r11759 - in trunk/samples/tree-demo/src/main: java/org/richfaces/rf4196 and 2 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sun Dec 14 13:11:01 EST 2008


Author: nbelaevski
Date: 2008-12-14 13:11:00 -0500 (Sun, 14 Dec 2008)
New Revision: 11759

Added:
   trunk/samples/tree-demo/src/main/java/org/richfaces/rf4196/
   trunk/samples/tree-demo/src/main/java/org/richfaces/rf4196/Bean.java
   trunk/samples/tree-demo/src/main/webapp/pages/rf-4196.jsp
Modified:
   trunk/samples/tree-demo/src/main/java/org/richfaces/Bean.java
   trunk/samples/tree-demo/src/main/webapp/WEB-INF/faces-config.xml
Log:
https://jira.jboss.org/jira/browse/RF-4196

Modified: trunk/samples/tree-demo/src/main/java/org/richfaces/Bean.java
===================================================================
--- trunk/samples/tree-demo/src/main/java/org/richfaces/Bean.java	2008-12-14 18:07:10 UTC (rev 11758)
+++ trunk/samples/tree-demo/src/main/java/org/richfaces/Bean.java	2008-12-14 18:11:00 UTC (rev 11759)
@@ -31,8 +31,11 @@
 
 import javax.faces.FacesException;
 import javax.faces.application.Application;
+import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
+import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
 import javax.faces.event.ActionEvent;
 
 import org.ajax4jsf.context.AjaxContext;
@@ -91,6 +94,8 @@
 
 	private int counter2 = 0;
 
+	private int requestCounter = 0;
+	
 	public String getIcon() {
 		return icon;
 	}
@@ -482,4 +487,20 @@
 	    System.out.println("Bean.action() " + 
 		    event.getComponent().getClientId(FacesContext.getCurrentInstance()));
 	}
+	
+	private static final String REQUEST_COUNTER_ATTRIBUTE = Bean.class.getName() + ":requestCounter";
+	
+	public int getRequestCounter() {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		ExternalContext externalContext = facesContext.getExternalContext();
+		Map<String, Object> requestMap = externalContext.getRequestMap();
+		
+		if (requestMap.get(REQUEST_COUNTER_ATTRIBUTE) == null) {
+			requestMap.put(REQUEST_COUNTER_ATTRIBUTE, Boolean.TRUE);
+			
+			requestCounter++;
+		}
+		
+		return requestCounter;
+	}
 }
\ No newline at end of file

Added: trunk/samples/tree-demo/src/main/java/org/richfaces/rf4196/Bean.java
===================================================================
--- trunk/samples/tree-demo/src/main/java/org/richfaces/rf4196/Bean.java	                        (rev 0)
+++ trunk/samples/tree-demo/src/main/java/org/richfaces/rf4196/Bean.java	2008-12-14 18:11:00 UTC (rev 11759)
@@ -0,0 +1,32 @@
+package org.richfaces.rf4196;
+
+import org.richfaces.component.UITree;
+import org.richfaces.event.NodeSelectedEvent;
+
+public class Bean {
+	private UITree tree;
+	
+	public UITree getTree() {
+		return tree;
+	}
+	
+	public void setTree(UITree tree) {
+		this.tree = tree;
+	}
+	
+	public void rerenderNode() {
+		tree.addNodeRequestKey(tree.getRowKey());
+	}
+
+	public void rerenderSubtree() {
+		tree.addRequestKey(tree.getRowKey());
+	}
+	
+	public void rerenderRoot() {
+		tree.addRequestKey(null);
+	}
+	
+	public void select(NodeSelectedEvent event) {
+		tree.addNodeRequestKey(tree.getRowKey());
+	}
+}

Modified: trunk/samples/tree-demo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/samples/tree-demo/src/main/webapp/WEB-INF/faces-config.xml	2008-12-14 18:07:10 UTC (rev 11758)
+++ trunk/samples/tree-demo/src/main/webapp/WEB-INF/faces-config.xml	2008-12-14 18:11:00 UTC (rev 11759)
@@ -30,4 +30,10 @@
 		<managed-bean-class>org.richfaces.rf3899.Bean</managed-bean-class>
 		<managed-bean-scope>session</managed-bean-scope>
 	</managed-bean>
+
+	<managed-bean>
+		<managed-bean-name>rf4196</managed-bean-name>
+		<managed-bean-class>org.richfaces.rf4196.Bean</managed-bean-class>
+		<managed-bean-scope>request</managed-bean-scope>
+	</managed-bean>
 </faces-config>

Added: trunk/samples/tree-demo/src/main/webapp/pages/rf-4196.jsp
===================================================================
--- trunk/samples/tree-demo/src/main/webapp/pages/rf-4196.jsp	                        (rev 0)
+++ trunk/samples/tree-demo/src/main/webapp/pages/rf-4196.jsp	2008-12-14 18:11:00 UTC (rev 11759)
@@ -0,0 +1,26 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
+<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
+<%@ taglib uri="http://labs.jboss.com/jbossrichfaces/ui/tree" prefix="rich"%>
+<html>
+	<head>
+		<title></title>
+	</head>
+	<body>
+		<f:view>
+			<a4j:status startText="...start..." stopText="stopped" />
+			
+			<h:form>
+				<rich:tree ajaxSubmitSelection="true" nodeSelectListener="#{rf4196.select}" ajaxKeys="#{null}" binding="#{rf4196.tree}" value="#{bean.data}" var="item" switchType="ajax">
+					<rich:treeNode>
+						<h:outputText escape="false" value="#{item} <b style='color: red;'>#{bean.requestCounter}</b> Re-render: " />
+						<a4j:commandLink value="Node" action="#{rf4196.rerenderNode}" /> / 				
+						<a4j:commandLink value="Subtree" action="#{rf4196.rerenderSubtree}" />				
+					</rich:treeNode>
+				</rich:tree>
+				
+				<a4j:commandLink value="Re-render tree root node" action="#{rf4196.rerenderRoot}" />
+			</h:form>
+		</f:view>
+	</body>
+</html>




More information about the richfaces-svn-commits mailing list