package to.rtc.rtc2jira.importer.mapping;
import java.util.logging.Logger;
import to.rtc.rtc2jira.importer.mapping.spi.MappingAdapter;
import to.rtc.rtc2jira.storage.FieldNames;
import com.ibm.team.repository.common.TeamRepositoryException;
import com.ibm.team.workitem.common.model.IAttribute;
import com.ibm.team.workitem.common.model.ILiteral;
import com.ibm.team.workitem.common.model.Identifier;
import com.orientechnologies.orient.core.record.impl.ODocument;
public class BisonProjectMapping extends MappingAdapter {
static final Logger LOGGER = Logger.getLogger(BisonProjectMapping.class.getName());
private String value;
@Override
protected void beforeWorkItem() {
value = null;
}
@Override
public void acceptAttribute(IAttribute attribute) {
Identifier<ILiteral> identifier = getValue(attribute);
String strValue = identifier.getStringIdentifier();
String defaultProjectName = getDefaultProjectName(attribute);
if ("projektname.literal.l12".equals(defaultProjectName)) {
value = mapItemValue(strValue);
} else {
value = strValue;
}
}
@Override
public void afterWorkItem(ODocument doc) {
if (value != null && !value.isEmpty()) {
doc.field(FieldNames.BISON_PROJECT_NAME, value);
}
}
private String getDefaultProjectName(IAttribute attribute) {
String result = "";
try {
@SuppressWarnings("unchecked")
Identifier<ILiteral> identifier =
(Identifier<ILiteral>) attribute.getDefaultValue(
(com.ibm.team.workitem.common.IAuditableCommon) getTeamRepository().getClientLibrary(
com.ibm.team.workitem.common.IAuditableCommon.class), this.getWorkItem(),
new org.eclipse.core.runtime.NullProgressMonitor());
if (identifier != null) {
result = identifier.getStringIdentifier();
}
} catch (TeamRepositoryException e) {
}
return result;
}
String mapItemValue(String original) {
return original + ".mapped";
}
}