From e9b6c4dbcb83a251e60a32822851487a203a056f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pekka=20Maanp=C3=A4=C3=A4?= Date: Mon, 11 Mar 2019 16:55:44 +0200 Subject: [PATCH] Avoid calling DataProvider::size when it's not needed (#230) Now it is not called when using a lazy data provider, because - the size is used to check if client-side filtering can be used - lazy data providers always handle filtering in server-side anyway Fix #222 --- .../java/com/vaadin/flow/component/combobox/ComboBox.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vaadin-combo-box-flow/src/main/java/com/vaadin/flow/component/combobox/ComboBox.java b/vaadin-combo-box-flow/src/main/java/com/vaadin/flow/component/combobox/ComboBox.java index 61447b11..0c407178 100644 --- a/vaadin-combo-box-flow/src/main/java/com/vaadin/flow/component/combobox/ComboBox.java +++ b/vaadin-combo-box-flow/src/main/java/com/vaadin/flow/component/combobox/ComboBox.java @@ -520,9 +520,8 @@ public void setDataProvider(DataProvider dataProvider, } private void refreshAllData(boolean forceServerSideFiltering) { - int size = getDataProvider().size(new Query<>()); - setClientSideFilter( - !forceServerSideFiltering && size <= getPageSizeDouble()); + setClientSideFilter(!forceServerSideFiltering && getDataProvider() + .size(new Query<>()) <= getPageSizeDouble()); reset(); }