package net.techreadiness.batch.org;
import java.util.Map;
import javax.inject.Inject;
import net.techreadiness.persistence.domain.ContactDO;
import net.techreadiness.persistence.domain.OrgDO;
import net.techreadiness.service.object.Contact;
import net.techreadiness.service.object.Org;
import net.techreadiness.service.object.mapping.MappingService;
import org.springframework.batch.item.ItemProcessor;
import com.google.common.collect.Maps;
public class OrgDOToDataProcessor implements ItemProcessor<OrgDO, OrgData> {
@Inject
private MappingService mappingService;
@Override
public OrgData process(OrgDO item) throws Exception {
OrgData orgData = new OrgData();
Org org = mappingService.map(item);
orgData.setOrg(org);
if (item.getContacts() != null) {
Map<String, Contact> contacts = Maps.newHashMap();
for (ContactDO contactDo : item.getContacts()) {
Contact contact = mappingService.map(contactDo);
contacts.put(contact.getContactTypeCode(), contact);
}
orgData.setContacts(contacts);
}
return orgData;
}
}