Author: nbelaevski
Date: 2007-07-30 11:50:26 -0400 (Mon, 30 Jul 2007)
New Revision: 1929
Added:
trunk/framework/api/src/main/java/org/richfaces/model/MapDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/SequenceDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelDataProvider.java
Removed:
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareArrayDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareDataModel.java
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelProvider.java
trunk/sandbox/samples/treeModelDemo/src/main/java/org/richfaces/model/Package.java
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UIRecursiveTreeNodes.java
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UITreeNodes.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
Log:
- TreeModel API & Impl optimized
- MapDataModel.java added
- Sample case for MapDataModel.java added
Deleted:
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareArrayDataModel.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareArrayDataModel.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareArrayDataModel.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -1,118 +0,0 @@
-/**
- *
- */
-package org.richfaces.model;
-
-import java.io.IOException;
-
-import javax.faces.context.FacesContext;
-
-import org.ajax4jsf.model.DataVisitor;
-import org.ajax4jsf.model.ExtendedDataModel;
-import org.ajax4jsf.model.Range;
-
-/**
- * @author Nick Belaevski
- * mailto:nbelaevski@exadel.com
- * created 26.07.2007
- *
- */
-public class LastAwareArrayDataModel extends ExtendedDataModel implements
LastAwareDataModel {
-
- private Object[] wrappedData;
- private Integer rowKey;
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.model.ExtendedDataModel#getRowKey()
- */
- public Object getRowKey() {
- return rowKey;
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.model.ExtendedDataModel#setRowKey(java.lang.Object)
- */
- public void setRowKey(Object key) {
- this.rowKey = (Integer) key;
- }
-
- /* (non-Javadoc)
- * @see org.ajax4jsf.model.ExtendedDataModel#walk(javax.faces.context.FacesContext,
org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range, java.lang.Object)
- */
- public void walk(FacesContext context, DataVisitor visitor, Range range,
- Object argument) throws IOException {
- if (wrappedData != null) {
- for (int i = 0; i < wrappedData.length; i++) {
- Integer key = new Integer(i);
-
- visitor.process(context, key, argument);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#getRowCount()
- */
- public int getRowCount() {
- return wrappedData != null ? wrappedData.length : 0;
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#getRowData()
- */
- public Object getRowData() {
- if (wrappedData == null) {
- return null;
- }
-
- return wrappedData[rowKey.intValue()];
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#getRowIndex()
- */
- public int getRowIndex() {
- return 0;
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#getWrappedData()
- */
- public Object getWrappedData() {
- return wrappedData;
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#isRowAvailable()
- */
- public boolean isRowAvailable() {
- return wrappedData != null && wrappedData.length < rowKey.intValue();
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#setRowIndex(int)
- */
- public void setRowIndex(int rowIndex) {
-
- }
-
- /* (non-Javadoc)
- * @see javax.faces.model.DataModel#setWrappedData(java.lang.Object)
- */
- public void setWrappedData(Object data) {
- this.wrappedData = (Object[]) data;
- }
-
- public boolean isLast() {
- return wrappedData != null && wrappedData.length == rowKey.intValue() + 1;
- }
-
- public LastAwareArrayDataModel(Object[] wrappedData) {
- super();
- setWrappedData(wrappedData);
- }
-
- public boolean isEmpty() {
- return wrappedData == null || wrappedData.length == 0;
- }
-}
Deleted: trunk/framework/api/src/main/java/org/richfaces/model/LastAwareDataModel.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareDataModel.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/framework/api/src/main/java/org/richfaces/model/LastAwareDataModel.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -1,16 +0,0 @@
-/**
- *
- */
-package org.richfaces.model;
-
-/**
- * @author Nick Belaevski
- * mailto:nbelaevski@exadel.com
- * created 26.07.2007
- *
- */
-public interface LastAwareDataModel {
- public boolean isLast();
-
- public boolean isEmpty();
-}
Added: trunk/framework/api/src/main/java/org/richfaces/model/MapDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/MapDataModel.java
(rev 0)
+++ trunk/framework/api/src/main/java/org/richfaces/model/MapDataModel.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -0,0 +1,128 @@
+/**
+ *
+ */
+package org.richfaces.model;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.model.DataVisitor;
+import org.ajax4jsf.model.ExtendedDataModel;
+import org.ajax4jsf.model.Range;
+
+/**
+ * @author Nick Belaevski mailto:nbelaevski@exadel.com created 30.07.2007
+ *
+ */
+public class MapDataModel extends ExtendedDataModel {
+
+ private Map map;
+ private Object rowKey;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.model.ExtendedDataModel#getRowKey()
+ */
+ public Object getRowKey() {
+ return rowKey;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.model.ExtendedDataModel#setRowKey(java.lang.Object)
+ */
+
+ public void setRowKey(Object key) {
+ this.rowKey = key;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.ajax4jsf.model.ExtendedDataModel#walk(javax.faces.context.FacesContext,
+ * org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range,
+ * java.lang.Object)
+ */
+
+ public void walk(FacesContext context, DataVisitor visitor, Range range,
+ Object argument) throws IOException {
+ if (map != null) {
+ for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) {
+ Object key = (Object) iterator.next();
+
+ visitor.process(context, key, argument);
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#getRowCount()
+ */
+
+ public int getRowCount() {
+ return map != null ? map.size() : 0;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#getRowData()
+ */
+
+ public Object getRowData() {
+ return map != null ? map.get(rowKey) : null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#getRowIndex()
+ */
+
+ public int getRowIndex() {
+ return 0;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#getWrappedData()
+ */
+ public Object getWrappedData() {
+ return map;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#isRowAvailable()
+ */
+ public boolean isRowAvailable() {
+ return map != null && map.containsKey(rowKey);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#setRowIndex(int)
+ */
+ public void setRowIndex(int rowIndex) {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.model.DataModel#setWrappedData(java.lang.Object)
+ */
+ public void setWrappedData(Object data) {
+ this.map = (Map) data;
+ }
+
+}
Added: trunk/framework/api/src/main/java/org/richfaces/model/SequenceDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/SequenceDataModel.java
(rev 0)
+++
trunk/framework/api/src/main/java/org/richfaces/model/SequenceDataModel.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -0,0 +1,115 @@
+/**
+ *
+ */
+package org.richfaces.model;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.model.DataVisitor;
+import org.ajax4jsf.model.ExtendedDataModel;
+import org.ajax4jsf.model.Range;
+
+/**
+ * @author Nick Belaevski
+ * mailto:nbelaevski@exadel.com
+ * created 30.07.2007
+ *
+ */
+public class SequenceDataModel extends ExtendedDataModel {
+
+ private Object wrappedData;
+ private List list;
+ private Integer key;
+
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.model.ExtendedDataModel#getRowKey()
+ */
+ public Object getRowKey() {
+ return key;
+ }
+
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.model.ExtendedDataModel#setRowKey(java.lang.Object)
+ */
+ public void setRowKey(Object key) {
+ this.key = (Integer) key;
+ }
+
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.model.ExtendedDataModel#walk(javax.faces.context.FacesContext,
org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range, java.lang.Object)
+ */
+ public void walk(FacesContext context, DataVisitor visitor, Range range,
+ Object argument) throws IOException {
+
+ if (list != null) {
+ int i = 0;
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ iterator.next();
+
+ visitor.process(context, new Integer(i), argument);
+
+ i++;
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#getRowCount()
+ */
+ public int getRowCount() {
+ return list != null ? list.size() : 0;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#getRowData()
+ */
+ public Object getRowData() {
+ return list != null ? list.get(key.intValue()) : null;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#getRowIndex()
+ */
+ public int getRowIndex() {
+ return 0;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#getWrappedData()
+ */
+ public Object getWrappedData() {
+ return wrappedData;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#isRowAvailable()
+ */
+ public boolean isRowAvailable() {
+ return list != null && list.size() > key.intValue();
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#setRowIndex(int)
+ */
+ public void setRowIndex(int rowIndex) {
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.model.DataModel#setWrappedData(java.lang.Object)
+ */
+ public void setWrappedData(Object data) {
+ this.wrappedData = data;
+ if (data instanceof List) {
+ this.list = (List) data;
+ } else if (data != null) {
+ this.list = Arrays.asList((Object[]) data);
+ } else {
+ this.list = null;
+ }
+ }
+}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModel.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -24,10 +24,12 @@
public class StackingTreeModel extends AbstractTreeDataModel implements
TreeComponentModel {
private String id;
-
+ private String var;
+
private String modelId;
private Object modelKey;
+ private StackingTreeModelDataProvider dataProvider;
protected StackingTreeModel stackingTreeModel;
// private ExtendedDataModel dataModel;
@@ -35,27 +37,60 @@
private Map models = new LinkedHashMap();
private List treeComponentModelListeners = new ArrayList();
+ private Object varObject;
public ExtendedDataModel getDataModel() {
- return null;
+ Object data = dataProvider.getData();
+ ExtendedDataModel dataModel;
+ if (data instanceof Map) {
+ dataModel = new MapDataModel();
+ } else {
+ dataModel = new SequenceDataModel();
+ }
+
+ dataModel.setWrappedData(data);
+ return dataModel;
}
- public StackingTreeModel(String id) {
+ public StackingTreeModel(String id, String var, StackingTreeModelDataProvider
dataProvider) {
super();
this.id = id;
+ this.var = var;
+ this.dataProvider = dataProvider;
}
- public void leaveModel() {
+ public StackingTreeModel() {
+ this(null, null, null);
+ }
+
+ public void leaveModel(FacesContext facesContext) {
if (stackingTreeModel != null && stackingTreeModel != this) {
stackingTreeModel.leaveModel();
}
stackingTreeModel = null;
modelId = null;
modelKey = null;
+
+ if (var != null) {
+ Map map = facesContext.getExternalContext().getRequestMap();
+ map.put(var, varObject);
+ }
}
+
+ public void leaveModel() {
+ leaveModel(FacesContext.getCurrentInstance());
+ }
+ public void setupModel(Object object, FacesContext facesContext) {
+ if (var != null) {
+ Map map = facesContext.getExternalContext().getRequestMap();
+ varObject = map.get(var);
+ map.put(var, object);
+ }
+ }
+
public void setupModel(Object object) {
-
+ setupModel(object, FacesContext.getCurrentInstance());
}
public void setParent(StackingTreeModel parent) {
@@ -95,7 +130,7 @@
dataModel = getDataModel();
}
dataModel.setRowKey(localRowKey);
- setupModel(dataModel.getRowData());
+ setupModel(dataModel.getRowData(), context);
System.out.println(dataModel.getRowData() + (last ? " * " : "") +
" - " + argumentKey);
processElement(context, dataVisitor, argument, argumentKey, last);
Added:
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelDataProvider.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelDataProvider.java
(rev 0)
+++
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelDataProvider.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -0,0 +1,14 @@
+/**
+ *
+ */
+package org.richfaces.model;
+
+/**
+ * @author Nick Belaevski
+ * mailto:nbelaevski@exadel.com
+ * created 30.07.2007
+ *
+ */
+public interface StackingTreeModelDataProvider {
+ public Object getData();
+}
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelProvider.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelProvider.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/framework/api/src/main/java/org/richfaces/model/StackingTreeModelProvider.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -4,7 +4,6 @@
package org.richfaces.model;
import java.util.Iterator;
-import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
@@ -19,15 +18,8 @@
public abstract Object getNodes();
public abstract void setNodes(Object nodes);
- public Object[] getData() {
- Object[] data;
- List nodes = (List) getNodes();
- if (nodes != null) {
- data = nodes.toArray();
- } else {
- data = new Object[0];
- }
- return data;
+ public Object getData() {
+ return getNodes();
}
protected abstract StackingTreeModel createStackingTreeModel();
Modified:
trunk/sandbox/samples/treeModelDemo/src/main/java/org/richfaces/model/Package.java
===================================================================
---
trunk/sandbox/samples/treeModelDemo/src/main/java/org/richfaces/model/Package.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/sandbox/samples/treeModelDemo/src/main/java/org/richfaces/model/Package.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -3,8 +3,8 @@
*/
package org.richfaces.model;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.LinkedHashMap;
+import java.util.Map;
/**
* @author Nick Belaevski
@@ -13,18 +13,18 @@
*
*/
public class Package extends Entry {
- private List classes = new ArrayList();
+ private Map classes = new LinkedHashMap();
- public List getClasses() {
+ public Map getClasses() {
return classes;
}
- public void setClasses(List classes) {
+ public void setClasses(Map classes) {
this.classes = classes;
}
public void addClass(Class clazz) {
- this.classes.add(clazz);
+ this.classes.put(clazz.getName(), clazz);
clazz.setParent(this);
}
}
Modified:
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UIRecursiveTreeNodes.java
===================================================================
---
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UIRecursiveTreeNodes.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UIRecursiveTreeNodes.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -4,26 +4,17 @@
package org.richfaces.component;
-import java.io.IOException;
-import java.util.LinkedHashMap;
-import java.util.List;
import java.util.Map;
-import javax.faces.context.FacesContext;
-
-import org.ajax4jsf.model.DataVisitor;
-import org.ajax4jsf.model.ExtendedDataModel;
-import org.ajax4jsf.model.Range;
-import org.richfaces.model.LastAwareArrayDataModel;
import org.richfaces.model.StackingTreeModel;
-import org.richfaces.model.StackingTreeModelProvider;
+import org.richfaces.model.StackingTreeModelDataProvider;
/**
* JSF component class
*
*/
-public abstract class UIRecursiveTreeNodes extends StackingTreeModelProvider {
+public abstract class UIRecursiveTreeNodes extends UITreeNodes {
private static final String COMPONENT_TYPE =
"org.richfaces.RecursiveTreeNodes";
@@ -32,113 +23,36 @@
public abstract Object getRoot();
public abstract void setRoot(Object root);
- public Object[] getRoots() {
- List nodes = (List) getRoot();
- Object[] roots;
- if (nodes != null) {
- roots = nodes.toArray();
- } else {
- roots = new Object[0];
- }
- return roots;
+ public Object getData() {
+ return getRoot();
}
+
+ public abstract String getVar();
+ public abstract void setVar(String var);
+
+ public StackingTreeModel getStackingModel() {
+ StackingTreeModel stackingModel = super.getStackingModel();
+
+ StackingTreeModel recursiveModel = new StackingTreeModel(getId(), getVar(), new
StackingTreeModelDataProvider() {
- protected StackingTreeModel createStackingTreeModel() {
- StackingTreeModel treeModel = new StackingTreeModel(getId()) {
-
- private Object varObject;
-
- public void walk(FacesContext context, DataVisitor dataVisitor,
- Range range, Object rowKey, Object argument, boolean last)
- throws IOException {
-
- Object var = getAttributes().get("var");
- Map map = context.getExternalContext().getRequestMap();
- Object varObject = map.get(var);
-
- super.walk(context, dataVisitor, range, rowKey, argument, last);
-
- map.put(var, varObject);
+ public Object getData() {
+ return UIRecursiveTreeNodes.this.getNodes();
}
+
+ }) {
public void setupModel(Object object) {
super.setupModel(object);
- Object var = getAttributes().get("var");
-
- Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
- varObject = map.get(var);
- map.put(var, object);
componentSelected(UIRecursiveTreeNodes.this);
}
- public void leaveModel() {
- super.leaveModel();
- Object var = getAttributes().get("var");
-
- Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
- map.put(var, varObject);
- }
-
- public ExtendedDataModel getDataModel() {
- return new LastAwareArrayDataModel(getRoots());
- }
-
public Map getModels() {
- LinkedHashMap models = new LinkedHashMap();
- models.putAll(super.getModels());
- StackingTreeModel model = new StackingTreeModel(getId()) {
-
- private Object varObject;
-
- public void walk(FacesContext context, DataVisitor dataVisitor,
- Range range, Object rowKey, Object argument, boolean last)
- throws IOException {
-
- Object var = getAttributes().get("var");
- Map map = context.getExternalContext().getRequestMap();
- Object varObject = map.get(var);
-
- super.walk(context, dataVisitor, range, rowKey, argument, last);
-
- map.put(var, varObject);
- }
-
- public void setupModel(Object object) {
- super.setupModel(object);
- Object var = getAttributes().get("var");
-
- Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
- varObject = map.get(var);
- map.put(var, object);
- componentSelected(UIRecursiveTreeNodes.this);
- }
-
- public void leaveModel() {
- super.leaveModel();
- Object var = getAttributes().get("var");
-
- Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
- map.put(var, varObject);
- }
-
- public ExtendedDataModel getDataModel() {
- return new LastAwareArrayDataModel(getData());
- }
-
- public Map getModels() {
- LinkedHashMap models = new LinkedHashMap();
- models.putAll(this.parent.getModels());
-
- return models;
- }
- };
- model.setParent(this);
- models.put(getId(), model);
-
- return models;
+ return this.parent.getModels();
}
};
-
- return treeModel;
+ stackingModel.addStackingModel(recursiveModel);
+
+ return stackingModel;
}
+
}
Modified:
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UITreeNodes.java
===================================================================
---
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UITreeNodes.java 2007-07-30
15:42:39 UTC (rev 1928)
+++
trunk/sandbox/ui/treeModel/src/main/java/org/richfaces/component/UITreeNodes.java 2007-07-30
15:50:26 UTC (rev 1929)
@@ -4,13 +4,8 @@
package org.richfaces.component;
-import java.util.Map;
-
-import javax.faces.context.FacesContext;
-
-import org.ajax4jsf.model.ExtendedDataModel;
-import org.richfaces.model.LastAwareArrayDataModel;
import org.richfaces.model.StackingTreeModel;
+import org.richfaces.model.StackingTreeModelDataProvider;
import org.richfaces.model.StackingTreeModelProvider;
@@ -24,18 +19,21 @@
private static final String COMPONENT_FAMILY = "org.richfaces.TreeNodes";
+ public abstract String getVar();
+ public abstract void setVar(String var);
+
protected StackingTreeModel createStackingTreeModel() {
- StackingTreeModel treeModel = new StackingTreeModel(getId()) {
+ StackingTreeModel treeModel = new StackingTreeModel(getId(), getVar(), new
StackingTreeModelDataProvider() {
+
+ public Object getData() {
+ return UITreeNodes.this.getData();
+ }
+
+ }) {
public void setupModel(Object object) {
super.setupModel(object);
- Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
- map.put(getAttributes().get("var"), object);
componentSelected(UITreeNodes.this);
}
-
- public ExtendedDataModel getDataModel() {
- return new LastAwareArrayDataModel(getData());
- }
};
return treeModel;
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-07-30 15:42:39
UTC (rev 1928)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-07-30 15:50:26
UTC (rev 1929)
@@ -508,7 +508,7 @@
return treeDataModel;
} else {
//TODO implement request caching
- StackingTreeModel stackingTreeModel = new StackingTreeModel(null);
+ StackingTreeModel stackingTreeModel = new StackingTreeModel();
if (getChildCount() > 0) {
Iterator children = getChildren().iterator();
while (children.hasNext()) {