private void addContact(Contact contact, Stats stats) throws ServiceException { int cid = contact.getId(); ContactData cd = new ContactData(contact); if (!cd.isEmpty()) { ParsedContact pc = cd.getParsedContact(); int itemId = localData.createContact(pc).getId(); updateContactMapping(itemId, contact); stats.added++; LOG.debug("Created new local contact: itemId=%d, cid=%d", itemId, cid); } else { LOG.debug( "Not adding contact with cid %d since it would " + "result in an empty contact", cid); } }
private void updateContact(Contact contact, DataSourceItem dsi, Stats stats) throws ServiceException { int cid = contact.getId(); ContactData cd = new ContactData(contact); if (!cd.isEmpty()) { ParsedContact pc = new ParsedContact(localData.getContact(dsi.itemId)); cd.modifyParsedContact(pc); localData.modifyContact(dsi.itemId, pc); updateContactMapping(dsi.itemId, contact); stats.updated++; LOG.debug("Modified local contact: itemId=%d, cid=%d", dsi.itemId, cid); } else { LOG.debug( "Removing contact with cid %d since changes would " + "result in an empty contact", cid); deleteContact(dsi.itemId, stats); } }