Проблемы Vaadin ComboBox с использованием AbstractBackEndDataProvider в представлении пользовательского интерфейса.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблемы Vaadin ComboBox с использованием AbstractBackEndDataProvider в представлении пользовательского интерфейса.

Сообщение Anonymous »

Я разрабатываю проект Vaadin, который извлекает данные из внешнего веб-API. Во внешнем интерфейсе у меня есть поле со списком, которое передается на аутсорсинг с использованием AbstractBackEndDataProvider, подробности следующие:

Код: Выделить всё

public class housing_projects_data_provider extends AbstractBackEndDataProvider {

private Integer                lastkey;
private String                 searchText;
private final                  housing_projects_services  services;

public housing_projects_data_provider(housing_projects_services services)
{
this.services = services;
}

public void setFilter(String searchText)
{
this.searchText=searchText;
refreshAll();
}

@Override
protected Stream fetchFromBackEnd(Query query) {
String filter = query.getFilter().orElse(null);
try {
if (query.getOffset() == 0) {
List items = services.housing_projects_list(query.getOffset(), query.getLimit(), filter).collectList().block();
if (!items.isEmpty()) {
this.lastkey = items.get(items.size() - 1).getId();
}
return items.stream();
} else {
List items = services.housing_projects_list(query.getOffset(), query.getLimit(), filter).collectList().block();
if (!items.isEmpty()) {
this.lastkey = items.get(items.size() - 1).getId();
}
return items.stream();
}
} catch (Exception e) {
return Stream.of(); //Stream of empty Array to return without error
}
}

@Override
protected int sizeInBackEnd(Query query)
{
String filter=query.getFilter().orElse(this.searchText);
return services.housing_projects_count(filter).block();
}

public void reset() {
this.lastkey = null;
refreshAll();
}

}
Затем у меня есть поле со списком внешнего интерфейса, вызывающее вышеуказанный поставщик данных, как показано ниже:

Код: Выделить всё

private final housing_projects_services housingprojectservices;

public Conveynacing view(housing_projects_services housingprojectservices)
{
this.housingprojectservices = housingprojectservices;
}

housing_projects_data_provider data_provider = new housing_projects_data_provider(housingprojectservices);

ComboBox projects = new ComboBox();
projects.setLabel("Select Project");
projects.getStyle().set("--vaadin-combo-box-overlay-width", "350px");
projects.setDataProvider(data_provider);
Проблема здесь в том, что отладчик жалуется:

Невозможно разрешить метод setDataProvider(housing_projects_data_provider)

Я не знаю, в чем на самом деле проблема, поскольку все методы кажутся инициированными правильно.
Есть идеи, что я здесь делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -a-ui-view
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»