package moviescraper.doctord.view;
import java.util.ArrayList;
import moviescraper.doctord.model.dataitem.Genre;
import moviescraper.doctord.model.preferences.MoviescraperPreferences;
public class FavoriteGenrePickerPanel extends FavoriteItemPickerPanel {
private static final long serialVersionUID = 1L;
public final static String listSeperator = ",,";
public FavoriteGenrePickerPanel() {
super();
}
@Override
public String[] getSettingValues() {
ArrayList<Genre> favoriteGenreArrayList = getFavoriteGenresFromPreferences();
String[] genreArray = new String[favoriteGenreArrayList.size()];
for(int i = 0; i < favoriteGenreArrayList.size(); i++)
{
genreArray[i] = favoriteGenreArrayList.get(i).getGenre();
}
return genreArray;
}
public static ArrayList<Genre> getFavoriteGenresFromPreferences() {
String[] existingFavoriteGenresArray = MoviescraperPreferences.getInstance().getfrequentlyUsedGenres().split(listSeperator);
ArrayList<Genre> favoriteGenresToReturn = new ArrayList<>(existingFavoriteGenresArray.length);
for(String existingFavoriteGenre : existingFavoriteGenresArray)
{
favoriteGenresToReturn.add(new Genre(existingFavoriteGenre));
}
//alphabetical order list
favoriteGenresToReturn.sort((p1, p2) -> p1.getGenre().compareTo(p2.getGenre()));
return favoriteGenresToReturn;
}
@Override
public void storeSettingValues() {
String preferenceValue = "";
for(int i = 0; i < favoritesListModel.size(); i++)
{
preferenceValue += favoritesListModel.get(i);
if(i != favoritesListModel.size() -1)
preferenceValue += listSeperator ;
}
MoviescraperPreferences.getInstance().setFrequentlyUsedGenres(preferenceValue);
}
}