Author: nbelaevski
Date: 2007-12-21 22:29:43 -0500 (Fri, 21 Dec 2007)
New Revision: 4967
Added:
trunk/samples/treeModelDemo/src/main/java/org/richfaces/model/SimpleRecursiveNode.java
Modified:
trunk/samples/treeModelDemo/src/main/java/org/richfaces/TreeModelBean.java
trunk/samples/treeModelDemo/src/main/webapp/pages/index.jsp
Log:
http://jira.jboss.com/jira/browse/RF-980
Modified: trunk/samples/treeModelDemo/src/main/java/org/richfaces/TreeModelBean.java
===================================================================
--- trunk/samples/treeModelDemo/src/main/java/org/richfaces/TreeModelBean.java 2007-12-22
03:10:52 UTC (rev 4966)
+++ trunk/samples/treeModelDemo/src/main/java/org/richfaces/TreeModelBean.java 2007-12-22
03:29:43 UTC (rev 4967)
@@ -3,7 +3,10 @@
*/
package org.richfaces;
+import java.util.List;
+
import org.richfaces.component.UITree;
+import org.richfaces.model.SimpleRecursiveNode;
/**
* @author Nick Belaevski
@@ -15,4 +18,25 @@
public Boolean adviseNodeOpened(UITree tree) {
return Boolean.TRUE;
}
+
+ private SimpleRecursiveNode simpleRecursiveNode;
+
+ public TreeModelBean() {
+ simpleRecursiveNode = new SimpleRecursiveNode(null, null);
+ for (int i = 0; i < 5; i++) {
+ SimpleRecursiveNode node2 = new SimpleRecursiveNode(simpleRecursiveNode, "Node
" + i);
+
+ for (int j = 0; j < 6; j++) {
+ SimpleRecursiveNode node3 = new SimpleRecursiveNode(node2, "Node " + i +
" " + j);
+
+ for (int k = 0; k < 4; k++) {
+ SimpleRecursiveNode node4 = new SimpleRecursiveNode(node3, "Node " + i +
" " + j + " " + k);
+ }
+ }
+ }
+ }
+
+ public List getSimpleResursiveNodes() {
+ return simpleRecursiveNode.getChildren();
+ }
}
Added:
trunk/samples/treeModelDemo/src/main/java/org/richfaces/model/SimpleRecursiveNode.java
===================================================================
---
trunk/samples/treeModelDemo/src/main/java/org/richfaces/model/SimpleRecursiveNode.java
(rev 0)
+++
trunk/samples/treeModelDemo/src/main/java/org/richfaces/model/SimpleRecursiveNode.java 2007-12-22
03:29:43 UTC (rev 4967)
@@ -0,0 +1,79 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * <br /><br />
+ *
+ * Created 22.12.2007
+ * @author Nick Belaevski
+ * @since 3.2
+ */
+
+public class SimpleRecursiveNode {
+
+ private SimpleRecursiveNode parent;
+
+ private List children = new ArrayList();
+
+ private String text;
+
+ public SimpleRecursiveNode(SimpleRecursiveNode parent,
+ String text) {
+ super();
+ this.parent = parent;
+ if (parent != null) {
+ parent.addChild(this);
+ }
+ this.text = text;
+ }
+
+ public void addChild(SimpleRecursiveNode node) {
+ children.add(node);
+ }
+
+ public void removeChild(SimpleRecursiveNode node) {
+ children.remove(node);
+ }
+
+ public void remove() {
+ if (parent != null) {
+ parent.removeChild(this);
+ }
+ }
+
+ public SimpleRecursiveNode getParent() {
+ return parent;
+ }
+
+ public List getChildren() {
+ return children;
+ }
+
+ public String getText() {
+ return text;
+ }
+}
Modified: trunk/samples/treeModelDemo/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/samples/treeModelDemo/src/main/webapp/pages/index.jsp 2007-12-22 03:10:52 UTC
(rev 4966)
+++ trunk/samples/treeModelDemo/src/main/webapp/pages/index.jsp 2007-12-22 03:29:43 UTC
(rev 4967)
@@ -85,6 +85,14 @@
</model:treeNodes--%>
</model:treeNodesAdaptor>
</tree:tree>
+
+ <tree:tree adviseNodeOpened="#{treeModelBean.adviseNodeOpened}"
switchType="client">
+ <model:recursiveTreeNodesAdaptor
roots="#{treeModelBean.simpleResursiveNodes}" var="node"
nodes="#{node.children}">
+ <tree:treeNode>
+ <h:commandLink value="#{node.text}" action="#{node.remove}"
/>
+ </tree:treeNode>
+ </model:recursiveTreeNodesAdaptor>
+ </tree:tree>
</h:form>
</f:view>
</body>