Здравствуйте!
Подскажите, пожалуйста, в чем может быть ошибка…
У меня есть некая реализация AbstractBackEndHierarchicalDataProvider
public class MyDataProvider extends AbstractBackEndHierarchicalDataProvider<MyEntity, Void> {
@Override
public int getChildCount(HierarchicalQuery<MyEntity, Void> query) {
MyEntity parent = query.getParent();
int count = 0;
if (parent instanceof MyEntityChild) {
return 0;
} else if (parent instanceof MyEntityParent) {
count = getMyEntityChildCount(parent);
} else {
count = getMyEntityParentCount();
}
return count;
}
@Override
protected Stream<MyEntity> fetchChildrenFromBackEnd(HierarchicalQuery<MyEntity, Void> query) {
MyEntity parent = query.getParent();
if (parent instanceof MyEntityChild) {
return Stream.empty();
} else if (parent instanceof MyEntityParent) {
return fetchChildren(parent, query.getOffset(), query.getLimit()).stream();
} else {
return fetchParents(query.getOffset(), query.getLimit()).stream();
}
}
@Override
public boolean hasChildren(MyEntity item) {
return getChildCount(new HierarchicalQuery<>(null, item)) > 0 ? true : false;
}
...
}
Проблема:
При скролинге методы getOffset & getLimit возвращают всегда одни и те же значения, т.е.каждый раз получаю все данные с бэка.
getOffset()=0, а getLimit()=тому, что вернет getChildCount
Похоже что здесь та же история: [https://github.com/vaadin/framework8-demo/tree/master/tree-database-example]
(http://)