Author: ilya_shaikovsky
Date: 2008-11-17 08:25:36 -0500 (Mon, 17 Nov 2008)
New Revision: 11189
Modified:
trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java
Log:
https://jira.jboss.org/jira/browse/RF-4928
Modified:
trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java
===================================================================
---
trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java 2008-11-17
12:50:00 UTC (rev 11188)
+++
trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java 2008-11-17
13:25:36 UTC (rev 11189)
@@ -29,7 +29,6 @@
private Integer currentPk;
private Map<Integer,AuctionItem> wrappedData = new
HashMap<Integer,AuctionItem>();
private List<Integer> wrappedKeys = null;
- private boolean detached = false;
/**
*
@@ -60,22 +59,11 @@
public void walk(FacesContext context, DataVisitor visitor, Range range, Object
argument) throws IOException {
int firstRow = ((SequenceRange)range).getFirstRow();
int numberOfRows = ((SequenceRange)range).getRows();
- if (detached) { // Is this serialized model
-// Here we just ignore current Rage and use whatever data was saved in serialized model.
-// Such approach uses much more getByPk() operations, instead of just one request by
range.
-// Concrete case may be different from that, so you can just load data from data provider
by range.
-// We are using wrappedKeys list only to preserve actual order of items.
- for (Integer key:wrappedKeys) {
- setRowKey(key);
- visitor.process(context, key, argument);
- }
- } else { // if not serialized, than we request data from data provider
- wrappedKeys = new ArrayList<Integer>();
- for (AuctionItem item:dataProvider.getItemsByrange(new Integer(firstRow),
numberOfRows, null, true)) {
- wrappedKeys.add(item.getPk());
- wrappedData.put(item.getPk(), item);
- visitor.process(context, item.getPk(), argument);
- }
+ wrappedKeys = new ArrayList<Integer>();
+ for (AuctionItem item:dataProvider.getItemsByrange(new Integer(firstRow), numberOfRows,
null, true)) {
+ wrappedKeys.add(item.getPk());
+ wrappedData.put(item.getPk(), item);
+ visitor.process(context, item.getPk(), argument);
}
}
/**
@@ -163,9 +151,6 @@
*/
public SerializableDataModel getSerializableModel(Range range) {
if (wrappedKeys!=null) {
- detached = true;
-// Some activity to detach persistent data from wrappedData map may be taken here.
-// In that specific case we are doing nothing.
return this;
} else {
return null;