package org.theotech.ceaselessandroid.util; import org.theotech.ceaselessandroid.realm.LocalCacheData; import org.theotech.ceaselessandroid.realm.Note; import org.theotech.ceaselessandroid.realm.Person; import org.theotech.ceaselessandroid.realm.RealmString; import org.theotech.ceaselessandroid.realm.pojo.LocalCacheDataPOJO; import org.theotech.ceaselessandroid.realm.pojo.NotePOJO; import org.theotech.ceaselessandroid.realm.pojo.PersonPOJO; import java.util.ArrayList; import java.util.List; import io.realm.RealmList; /** * Created by uberx on 10/11/2015. */ public class RealmUtils { public static List<String> convertPersonToId(RealmList<Person> list) { List<String> result = new ArrayList<>(); for (Person person : list) { result.add(person.getId()); } return result; } public static List<String> convertPersonToName(RealmList<Person> list) { List<String> result = new ArrayList<>(); for (Person person : list) { result.add(person.getName()); } return result; } public static List<String> convertRealmStringToString(RealmList<RealmString> list) { List<String> result = new ArrayList<>(); for (RealmString item : list) { result.add(item.getString()); } return result; } public static NotePOJO toNotePOJO(Note note) { if (note != null) { return new NotePOJO(note.getId(), note.getCreationDate(), note.getLastUpdatedDate(), note.getTitle(), note.getText(), convertPersonToId(note.getPeopleTagged()), convertPersonToName(note.getPeopleTagged())); } return null; } public static List<NotePOJO> toNotePOJOs(List<Note> notes) { if (notes != null) { List<NotePOJO> result = new ArrayList<>(); for (Note note : notes) { result.add(toNotePOJO(note)); } return result; } return null; } public static PersonPOJO toPersonPOJO(Person person) { if (person != null) { return new PersonPOJO(person.getId(), person.getName(), person.getSource(), toNotePOJOs(person.getNotes()), person.getLastPrayed(), person.isFavorite(), person.isIgnored(), person.isPrayed()); } return null; } public static List<PersonPOJO> toPersonPOJOs(List<Person> persons) { if (persons != null) { List<PersonPOJO> result = new ArrayList<>(); for (Person person : persons) { result.add(toPersonPOJO(person)); } return result; } return null; } public static LocalCacheDataPOJO toLocalCacheDataPOJO(LocalCacheData localCacheData) { if (localCacheData != null) { return new LocalCacheDataPOJO(localCacheData.getCreationDate(), localCacheData.getScriptureCitation(), localCacheData.getScriptureText(), localCacheData.getScriptureLink(), localCacheData.getScriptureJson(), localCacheData.getVerseImageURL(), convertRealmStringToString(localCacheData.getPersonIdsToPrayFor()), localCacheData.getPageIndex()); } return null; } }