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);
}
}
}