package org.atlasapi.persistence.content.people;
import org.atlasapi.media.entity.CrewMember;
import org.atlasapi.media.entity.Item;
import org.atlasapi.persistence.logging.AdapterLog;
import org.atlasapi.persistence.logging.AdapterLogEntry;
import org.atlasapi.persistence.logging.AdapterLogEntry.Severity;
import com.google.common.base.Preconditions;
public class QueuingItemsPeopleWriter implements ItemsPeopleWriter {
private final AdapterLog log;
private final QueuingPersonWriter personWriter;
public QueuingItemsPeopleWriter(QueuingPersonWriter personWriter, AdapterLog log) {
Preconditions.checkNotNull(personWriter);
this.personWriter = personWriter;
this.log = log;
}
public void createOrUpdatePeople(Item item) {
try {
for (CrewMember crewMember : item.people()) {
personWriter.addItemToPerson(crewMember.toPerson(), item);
}
} catch (Exception e) {
log.record(new AdapterLogEntry(Severity.ERROR).withCause(e).withSource(QueuingItemsPeopleWriter.class));
}
}
}