Thanks Prakash!
Yes, essentially, we are making sure the rows are available in the
model, in an implicit way. makeRowsAvailable() sounds good to me.
Thanks,
Jing
On 3/28/2012 11:48 AM, Prakash Udupa wrote:
Since you already specify the number of rows to make sure is available
in the model, this looks more of a 'fetch a specified number of rows',
than 'sync' (with what ?) service.
Can we consider the following name for the methods instead ?:
public void makeRowsAvailable(int numRows)
This also matches well with the areRowsAvailable() methods on the
CollectionModel and UIXCollection.
Thanks,
Prakash
On 3/28/2012 1:16 PM, Jing Wu wrote:
Any comments?
-Jing
On 3/27/2012 10:18 AM, Jing Wu wrote:
Hi,
please review the new API we added for JIRA 2253:
https://issues.apache.org/jira/browse/TRINIDAD-2253
For table/tree/treeTable, it's very possible that some rows on the
client side may not be available in the model at server side. One
example is when the model supports ranging and range size is
relatively small. In that case, if one tries to access the row on
client that's not available in the model, issues will arise.
This enhancement is to provide the ability to synchronize the number
of rows in the model with the number of rows at client, to make sure
the model contains at least the same amount of rows as that on the
client. The model can choose how to respond to size synchronization
depending on it's own logic.
public method syncNumRows() is added to UIXCollection to initiate
the synchronization.
/**
* Synchronize the number of rows client and server cache. The server
* should keep no less what what client caches.
*
* @param numRows the number of rows client holds
*/
public void syncNumRows(int numRows)
{
getCollectionModel().syncNumRows(numRows);
}
The default implementation of syncNumRows on CollectionModel is to
do nothing.
/**
* Synchronize the number of rows client and server cache. For
collection models that
* do paging, they should keep row cache no less that what client
holds.
*
* @param numRows the number of rows client holds
*/
public void syncNumRows(int numRows)
{
return;
}
Thanks,
Jing