Change-Id: I861cf9ed99637cd74ecb2f65705a2c7717afbd08feature/databinding
@@ -56,7 +56,7 @@ public class DataSourceConnector extends AbstractExtensionConnector { | |||
registerRpc(DataProviderClientRpc.class, new DataProviderClientRpc() { | |||
@Override | |||
public void resetSize(long size) { | |||
public void reset() { | |||
ds.asList().clear(); | |||
// Inform the server-side that all keys are now dropped. | |||
Set<String> keySet = new HashSet<String>(keyToJson.keySet()); |
@@ -61,9 +61,4 @@ public class CollectionDataSource<T> extends AbstractDataSource<T> { | |||
public Iterator<T> iterator() { | |||
return backend.iterator(); | |||
} | |||
@Override | |||
public long size() { | |||
return backend.size(); | |||
} | |||
} |
@@ -27,13 +27,6 @@ import java.io.Serializable; | |||
*/ | |||
public interface DataSource<T> extends Iterable<T>, Serializable { | |||
/** | |||
* Gets the data object count from the back end. | |||
* | |||
* @return back end size | |||
*/ | |||
long size(); | |||
/** | |||
* Saves a data object to the back end. If it's a new object, it should be | |||
* created in the back end. Existing objects with changes should be stored. |
@@ -86,9 +86,11 @@ public class SimpleDataProvider<T> extends DataProvider<T> { | |||
public void beforeClientResponse(boolean initial) { | |||
super.beforeClientResponse(initial); | |||
if (reset) { | |||
getRpcProxy(DataProviderClientRpc.class).reset(); | |||
} | |||
if (initial || reset) { | |||
getRpcProxy(DataProviderClientRpc.class).resetSize( | |||
dataSource.size()); | |||
pushData(0, dataSource); | |||
} else if (!updatedData.isEmpty()) { | |||
JsonArray dataArray = Json.createArray(); |
@@ -28,12 +28,9 @@ import elemental.json.JsonObject; | |||
public interface DataProviderClientRpc extends ClientRpc { | |||
/** | |||
* Sets the size of the client-side DataSource. | |||
* | |||
* @param size | |||
* the new data set size | |||
* Informs the client-side DataSource that all data has been invalidated. | |||
*/ | |||
void resetSize(long size); | |||
void reset(); | |||
/** | |||
* Sets the data of the client-side DataSource to match the given data |