Skip to content

Instantly share code, notes, and snippets.

@xsobolx
Created April 5, 2017 09:09
Show Gist options
  • Select an option

  • Save xsobolx/95c47f9c6d8b27bee3b851de232e18f4 to your computer and use it in GitHub Desktop.

Select an option

Save xsobolx/95c47f9c6d8b27bee3b851de232e18f4 to your computer and use it in GitHub Desktop.
Observable personsObs =
Observable
.from(personList)
.reduce(new ArrayList<Person>(), (acc, person) -> {
person.setInPhonebook(isInPhonebook);
person.setAccessoryType(accessoryType);
acc.add(person);
return acc;
})
.map(personDao::save);
Observable contactsObs =
Observable
.from(personList)
.reduce(new ArrayList<Contact>(), (acc, person) -> {
for (Contact contact : person.getContacts()) {
contact.setPersonId(person.getId());
contact.setAccessoryType(person.getAccessoryType());
}
return acc;
})
.map(contacts -> contactDao.save(contacts).asRxCompletable());
return Observable.merge(personsObs, contactsObs).toCompletable();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment