package to.rtc.rtc2jira.importer.mapping; import java.util.LinkedList; import java.util.List; import com.ibm.team.repository.common.IContributor; import com.ibm.team.repository.common.IContributorHandle; import com.ibm.team.workitem.common.model.IAttribute; import com.orientechnologies.orient.core.record.impl.ODocument; import to.rtc.rtc2jira.importer.mapping.spi.MappingAdapter; import to.rtc.rtc2jira.storage.FieldNames; public class SubscriptionsMapping extends MappingAdapter { private List<String> subscriptions; @Override protected void beforeWorkItem() { subscriptions = null; } @Override public void acceptAttribute(IAttribute attribute) { List<IContributorHandle> rtcSubscriptions = getValue(attribute); subscriptions = new LinkedList<>(); for (IContributorHandle handle : rtcSubscriptions) { IContributor subscriber = fetchCompleteItem(handle); String s = String.format("%s <%s>", subscriber.getName(), subscriber.getEmailAddress()); subscriptions.add(s); } } @Override public void afterWorkItem(ODocument doc) { if (subscriptions != null && !subscriptions.isEmpty()) { doc.field(FieldNames.SUBSCRIPTIONS, subscriptions); } } }