[richfaces-svn-commits] JBoss Rich Faces SVN: r414 - in trunk/richfaces/tree/src: main/java/org/richfaces/renderkit and 3 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Apr 13 13:29:02 EDT 2007
Author: nbelaevski
Date: 2007-04-13 13:29:02 -0400 (Fri, 13 Apr 2007)
New Revision: 414
Modified:
trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java
trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java
trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/html/images/TreePlusImage.java
trunk/richfaces/tree/src/test/java/org/richfaces/component/ListRowKeyTest.java
trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeNodeTest.java
trunk/richfaces/tree/src/test/java/org/richfaces/component/xml/TreeDataBuilderTest.java
Log:
Tree not expanding in "ajax" mode reopened fixed
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/component/CacheableTreeDataModel.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -46,9 +46,10 @@
public void process(FacesContext context, Object rowKey, Object argument)
throws IOException {
- treeDataModel.setRowKey(rowKey);
- locateTreeNode((TreeRowKey) rowKey, true).setData(
- treeDataModel.getRowData());
+ TreeRowKey treeRowKey = (TreeRowKey) rowKey;
+ treeDataModel.setRowKey(treeRowKey);
+ locateTreeNode(treeRowKey, true).setData(treeDataModel.getRowData());
+
if (visitor != null) {
visitor.process(context, rowKey, argument);
}
@@ -115,7 +116,7 @@
TreeNode treeNode = treeDataModel.locateTreeNode(rowKey);
if (treeNode != null) {
- if (cachedTreeNode == null || (!treeNode.isLeaf() && cachedTreeNode.isLeaf())) {
+ if (cachedTreeNode == null || (cachedTreeNode.isLeaf() && !treeNode.isLeaf())) {
//fill cache
treeDataModel.walk(context, new Visitor(dataVisitor), range,
rowKey, argument, last);
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/component/UITree.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -25,6 +25,7 @@
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
+import java.util.Set;
import javax.faces.application.Application;
import javax.faces.component.NamingContainer;
@@ -129,7 +130,7 @@
Application application = facesContext.getApplication();
defaultFacet = (UITreeNode) application
.createComponent(UITreeNode.COMPONENT_TYPE);
- defaultFacet.setId(facesContext.getViewRoot().createUniqueId());
+ defaultFacet.setId("_defaultNodeFace");
defaultFacet.setParent(this);
defaultFacet.getAttributes().put(
UITreeNode.DEFAULT_NODE_FACE_ATTRIBUTE_NAME, Boolean.TRUE);
@@ -248,9 +249,19 @@
if (cacheableModel != null) {
if (cacheableModel.isTransient()) {
state.setTreeDataModel(null);
+ setExtendedDataModel(createDataModel(false));
+ } else {
+ Set ajaxKeys = getAjaxKeys();
+ for (Iterator iterator = ajaxKeys.iterator(); iterator
+ .hasNext();) {
+ TreeRowKey treeRowKey = (TreeRowKey) iterator.next();
+
+ cacheableModel.resetSub(treeRowKey);
+ }
}
}
+
// transfer nodes delayed to open to rendering queue
state.transferQueuedNodes();
// re-set stopInCollapsed to handle AJAX switch type change
@@ -478,8 +489,7 @@
return isAjaxSubmitSelection();
}
-
- protected ExtendedDataModel createDataModel() {
+ private ExtendedDataModel createDataModel(boolean allowTransientModel) {
TreeState state = ((TreeState) getComponentState());
CacheableTreeDataModel stateModel = state.getTreeDataModel();
@@ -488,7 +498,7 @@
if (stateModel == null) {
String preserveModel = getPreserveModel();
- if (PRESERVE_MODEL_REQUEST.equals(preserveModel)) {
+ if (allowTransientModel && PRESERVE_MODEL_REQUEST.equals(preserveModel)) {
stateModel = new CacheableTreeRequestDataModel(treeDataModel);
state.setTreeDataModel(stateModel);
} else if (PRESERVE_MODEL_STATE.equals(preserveModel)) {
@@ -504,6 +514,11 @@
return stateModel;
}
+
+
+ protected ExtendedDataModel createDataModel() {
+ return createDataModel(true);
+ }
/**
* Queues expansion command for node whose row key is equal to rowKey
@@ -691,8 +706,8 @@
String id = super.getId();
if (id == null) {
- id = FacesContext.getCurrentInstance().getViewRoot()
- .createUniqueId();
+ id = "_defaultNodeFaceOutput";//FacesContext.getCurrentInstance().getViewRoot()
+ //.createUniqueId();
setId(id);
}
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -30,7 +30,6 @@
import org.richfaces.component.state.events.CollapseNodeCommandEvent;
import org.richfaces.component.state.events.ExpandNodeCommandEvent;
import org.richfaces.component.util.ViewUtil;
-import org.richfaces.renderkit.DnDParametersEncoder;
/**
* @author Nick - mailto:nbelaevski at exadel.com created 23.11.2006
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -41,13 +41,11 @@
import org.ajax4jsf.framework.util.javascript.JSFunction;
import org.ajax4jsf.framework.util.javascript.JSReference;
import org.ajax4jsf.framework.util.javascript.ScriptUtils;
-import org.richfaces.component.CacheableTreeDataModel;
import org.richfaces.component.LastElementAware;
import org.richfaces.component.TreeRowKey;
import org.richfaces.component.UITree;
import org.richfaces.component.UITreeNode;
import org.richfaces.component.nsutils.NSUtils;
-import org.richfaces.component.state.TreeState;
public abstract class TreeRendererBase extends CompositeRenderer {
@@ -159,7 +157,7 @@
while (ajaxKeysItr.hasNext()) {
TreeRowKey key = (TreeRowKey) ajaxKeysItr.next();
tree.setRowKey(key);
-
+
String id = tree.getNodeFacet().getClientId(context);
if (ids.isEmpty() || ids.contains(id) || ids.contains(tree.getClientId(context))/* handle tree updates requests */) {
writeContent(context, tree, key);
@@ -301,12 +299,6 @@
TreeRowKey rowKey = (TreeRowKey) key;
- TreeState state = (TreeState) input.getComponentState();
- CacheableTreeDataModel cacheableModel = state.getTreeDataModel();
- if (cacheableModel != null) {
- cacheableModel.resetSub(rowKey);
- }
-
final TreeDataModelEventNavigator levelNavigator = new TreeDataModelEventNavigator(
input, rowKey) {
Modified: trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/html/images/TreePlusImage.java
===================================================================
--- trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/html/images/TreePlusImage.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/main/java/org/richfaces/renderkit/html/images/TreePlusImage.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -31,7 +31,6 @@
import javax.faces.context.FacesContext;
import org.ajax4jsf.framework.resource.ResourceContext;
-import org.richfaces.renderkit.html.images.TreeImageBase.TreeImageData;
public class TreePlusImage extends TreeImageBase {
private static final Dimension dimensions = new Dimension(16, 16);
Modified: trunk/richfaces/tree/src/test/java/org/richfaces/component/ListRowKeyTest.java
===================================================================
--- trunk/richfaces/tree/src/test/java/org/richfaces/component/ListRowKeyTest.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/test/java/org/richfaces/component/ListRowKeyTest.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -21,9 +21,7 @@
package org.richfaces.component;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
Modified: trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeNodeTest.java
===================================================================
--- trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeNodeTest.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeNodeTest.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -23,10 +23,6 @@
import java.util.Iterator;
-import javax.faces.component.UIViewRoot;
-
-import org.richfaces.component.html.HtmlTree;
-
import junit.framework.TestCase;
/**
Modified: trunk/richfaces/tree/src/test/java/org/richfaces/component/xml/TreeDataBuilderTest.java
===================================================================
--- trunk/richfaces/tree/src/test/java/org/richfaces/component/xml/TreeDataBuilderTest.java 2007-04-13 17:12:45 UTC (rev 413)
+++ trunk/richfaces/tree/src/test/java/org/richfaces/component/xml/TreeDataBuilderTest.java 2007-04-13 17:29:02 UTC (rev 414)
@@ -24,11 +24,11 @@
import java.util.Iterator;
import java.util.Map;
+import junit.framework.TestCase;
+
import org.richfaces.component.TreeNode;
import org.xml.sax.InputSource;
-import junit.framework.TestCase;
-
/**
* @author Nick Belaevski - nbelaevski at exadel.com
* created 30.03.2007
More information about the richfaces-svn-commits
mailing list