aboutsummaryrefslogtreecommitdiffstats
path: root/client/src
diff options
context:
space:
mode:
Diffstat (limited to 'client/src')
-rw-r--r--client/src/com/vaadin/client/data/AbstractRemoteDataSource.java33
-rw-r--r--client/src/com/vaadin/client/widget/grid/datasources/ListDataSource.java9
2 files changed, 22 insertions, 20 deletions
diff --git a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
index 1de271c646..1ab9764337 100644
--- a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
+++ b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java
@@ -166,7 +166,7 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
@Override
public void updateRow() {
int index = indexOf(row);
- if (index >= 0) {
+ if (index >= 0 && dataChangeHandler != null) {
dataChangeHandler.dataUpdated(index, 1);
}
}
@@ -301,7 +301,7 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
.partitionWith(cached);
handleMissingRows(missingCachePartition[0]);
handleMissingRows(missingCachePartition[2]);
- } else {
+ } else if (dataChangeHandler != null) {
dataChangeHandler.dataAvailable(cached.getStart(),
cached.length());
}
@@ -400,7 +400,6 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
* a list of rows, starting from <code>firstRowIndex</code>
*/
protected void setRowData(int firstRowIndex, List<T> rowData) {
-
assert firstRowIndex + rowData.size() <= size();
Profiler.enter("AbstractRemoteDataSource.setRowData");
@@ -450,7 +449,10 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
cached = newUsefulData;
}
}
- dataChangeHandler.dataAvailable(cached.getStart(), cached.length());
+ if (dataChangeHandler != null) {
+ dataChangeHandler.dataAvailable(cached.getStart(),
+ cached.length());
+ }
updatePinnedRows(rowData);
}
@@ -517,8 +519,9 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
cached = cached.offsetBy(-removedRange.length());
}
- assertDataChangeHandlerIsInjected();
- dataChangeHandler.dataRemoved(firstRowIndex, count);
+ if (dataChangeHandler != null) {
+ dataChangeHandler.dataRemoved(firstRowIndex, count);
+ }
ensureCoverageCheck();
Profiler.leave("AbstractRemoteDataSource.removeRowData");
@@ -563,8 +566,9 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
keyToIndexMap.remove(getRowKey(row));
}
}
- assertDataChangeHandlerIsInjected();
- dataChangeHandler.dataAdded(firstRowIndex, count);
+ if (dataChangeHandler != null) {
+ dataChangeHandler.dataAdded(firstRowIndex, count);
+ }
ensureCoverageCheck();
Profiler.leave("AbstractRemoteDataSource.insertRowData");
@@ -709,15 +713,8 @@ public abstract class AbstractRemoteDataSource<T> implements DataSource<T> {
size = newSize;
dropFromCache(getCachedRange());
cached = Range.withLength(0, 0);
- assertDataChangeHandlerIsInjected();
- dataChangeHandler.resetDataAndSize(newSize);
- }
-
- private void assertDataChangeHandlerIsInjected() {
- assert dataChangeHandler != null : "The dataChangeHandler was "
- + "called before it was injected. Maybe you tried "
- + "to manipulate the data in the DataSource's "
- + "constructor instead of in overriding onAttach() "
- + "and doing it there?";
+ if (dataChangeHandler != null) {
+ dataChangeHandler.resetDataAndSize(newSize);
+ }
}
}
diff --git a/client/src/com/vaadin/client/widget/grid/datasources/ListDataSource.java b/client/src/com/vaadin/client/widget/grid/datasources/ListDataSource.java
index 47e072490e..46e972b3e8 100644
--- a/client/src/com/vaadin/client/widget/grid/datasources/ListDataSource.java
+++ b/client/src/com/vaadin/client/widget/grid/datasources/ListDataSource.java
@@ -110,7 +110,9 @@ public class ListDataSource<T> implements DataSource<T> {
@Override
public void updateRow() {
- changeHandler.dataUpdated(ds.indexOf(getRow()), 1);
+ if (changeHandler != null) {
+ changeHandler.dataUpdated(ds.indexOf(getRow()), 1);
+ }
}
}
@@ -389,7 +391,10 @@ public class ListDataSource<T> implements DataSource<T> {
throw new IllegalStateException(
"Trying to fetch rows outside of array");
}
- changeHandler.dataAvailable(firstRowIndex, numberOfRows);
+
+ if (changeHandler != null) {
+ changeHandler.dataAvailable(firstRowIndex, numberOfRows);
+ }
}
@Override