/** Performs the search on the artists list. */ public void onArtistSearch() { if ((artistSearch == null) || (artistSearch.trim().isEmpty())) { filteredArtists = null; } else { final Locale locale = languageBean.getLocale(); final String query = artistSearch.toUpperCase(); filteredArtists = support .getArtists() .parallelStream() .filter( artist -> { switch (selectedArtistSearchOption) { case NAME: return artist.getFullName().toUpperCase().contains(query); case ARTIST_GROUP: return ((artist.getArtistGroup() != null) && (artist.getArtistGroup().toUpperCase().contains(query))); case ARTIST_CATEGORY: return (artist.getArtistCategory() != null) && (artist.getArtistCategory().toUpperCase().contains(query)); case COUNTRY: return (artist.getCountryName(locale) != null) ? artist.getCountryName(locale).toUpperCase().contains(query) : Boolean.FALSE; default: throw new IllegalArgumentException( "SearchOption: " + selectedArtistSearchOption.name() + " not supported"); } }) .collect(Collectors.toList()); } }
/** Performs the search on the venue list. */ public void onVenueSearch() { if ((venueSearch == null) || (venueSearch.trim().isEmpty())) { filteredVenues = null; } else { final String query = venueSearch.toUpperCase(); filteredVenues = support .getVenues() .parallelStream() .filter( venue -> { switch (selectedVenueSearchOption) { case NAME: return venue.getName().toUpperCase().contains(query); case ADDRESS: return venue.getAddress().toUpperCase().contains(query); default: throw new IllegalArgumentException( "SearchOption: " + selectedArtistSearchOption.name() + " not supported"); } }) .collect(Collectors.toList()); } }