SimpleSearchLayout extends AbstractModelSearchLayout<ID, T> { @Override public ModelBasedSearchForm<ID, T> getSearchForm() { return (ModelBasedSearchForm<ID, T>) super.getSearchForm(); } SimpleSearchLayout(BaseService<ID, T> service, EntityModel<T> entityModel, QueryType queryType,
			FormOptions formOptions, SortOrder<?> sortOrder, FetchJoinInformation... joins); List<String> getColumnThresholds(); @Override ModelBasedSearchForm<ID, T> getSearchForm(); void setColumnThresholds(List<String> columnThresholds); @Override void setSearchValue(String propertyId, Object value); @Override void setSearchValue(String propertyId, Object value, Object auxValue);  }
@Test public void testSimpleSearchLayout_DoNotSearchImmediately() { SimpleSearchLayout<Integer, TestEntity> layout = createLayout(new FormOptions().setSearchImmediately(false)); layout.build(); Component label = VaadinUtils.getFirstChildOfClass(layout.getSearchResultsLayout(), Text.class); assertNotNull(label); layout.getSearchForm().getSearchButton().click(); label = VaadinUtils.getFirstChildOfClass(layout.getSearchResultsLayout(), Text.class); assertNull(label); ServiceBasedGridWrapper<?, ?> wrapper = VaadinUtils.getFirstChildOfClass(layout.getSearchResultsLayout(), ServiceBasedGridWrapper.class); assertNotNull(wrapper); layout.getSearchForm().getClearButton().click(); label = VaadinUtils.getFirstChildOfClass(layout.getSearchResultsLayout(), Text.class); assertNotNull(label); wrapper = VaadinUtils.getFirstChildOfClass(layout.getSearchResultsLayout(), ServiceBasedGridWrapper.class); assertNull(wrapper); }