19,9 → 19,14 |
*/ |
package net.brutex.mylyn.sbmconnector.core; |
|
import java.util.List; |
import java.util.Set; |
|
import net.brutex.mylyn.sbmconnector.SBMConnectorPlugin; |
import net.brutex.mylyn.sbmconnector.core.model.SBMField; |
import net.brutex.mylyn.sbmconnector.core.model.SBMFieldAttributes; |
import net.brutex.mylyn.sbmconnector.core.model.SBMFieldTypes; |
import net.brutex.mylyn.sbmconnector.core.model.SBMFieldValue; |
import net.brutex.mylyn.sbmconnector.core.model.SBMNote; |
import net.brutex.mylyn.sbmconnector.core.model.SBMStaticFields; |
import net.brutex.sbm.wsclient.TTItem; |
121,6 → 126,7 |
*/ |
public TaskData convert(TaskRepository repository, TTItem ttitem, IProgressMonitor monitor) |
throws CoreException { |
SBMClient client = SBMRepositoryConnector.getClient(repository); |
TaskData data = new TaskData(new SBMTicketAttributeMapper(repository), |
SBMConnectorPlugin.CONNECTOR_KIND, |
repository.getRepositoryUrl(), |
141,24 → 147,48 |
attr.getMetaData().setReadOnly(false); |
} |
attr.getMetaData().setType(f.getTaskType()); |
attr.getMetaData().setLabel(SBMRepositoryConnector.getClient(repository).getFieldLabel(ttitem, f.getSBMName())); |
attr.getMetaData().setLabel(client.getFieldLabel(ttitem, f.getSBMName())); |
if(f.isVisible()) { |
attr.getMetaData().setKind(TaskAttribute.KIND_DEFAULT); |
} else { |
attr.getMetaData().setKind(null); |
} |
attr.setValue(SBMRepositoryConnector.getClient(repository).getFieldValue(ttitem, f.getSBMName())); |
attr.setValue(client.getStaticFieldValue(ttitem, f.getSBMName())); |
} |
|
//Custom fields |
TaskAttribute custom = data.getRoot().createAttribute("BLIBLABLUB"); |
custom.getMetaData().setType(TaskAttribute.TYPE_BOOLEAN); |
custom.getMetaData().setLabel("BIILLALLLLLLLL"); |
List<SBMField> customfields = client.getFields(client.getTableName(ttitem)); |
for(SBMField f : customfields) { |
if(SBMTicketAttribute.getSBMAttributeBySBMName(f.getName())!=null) { |
continue; |
} |
TaskAttribute custom = data.getRoot().createAttribute(f.getName()); |
custom.getMetaData().setType( |
new SBMTicketAttributeMapper(repository).mapToTaskKey(f.getType())); |
custom.getMetaData().setLabel(f.getLabel()); |
custom.getMetaData().setKind(TaskAttribute.KIND_DEFAULT); |
custom.setValue("roger"); |
custom.getMetaData().setReadOnly(true); |
if(f.getType()==SBMFieldTypes.SELECTION && |
client.getFieldValue(ttitem, f.getName())!=null) { |
String val = client.getFieldValue(ttitem, f.getName()).getValue(); |
custom.putOption(val, val); |
custom.setValue(val); |
} else if(f.getType()==SBMFieldTypes.MULTIPLE_SELECTION |
|| f.getType()==SBMFieldTypes.MULTIPLE_RELATIONAL |
|| f.getType()==SBMFieldTypes.MULTIPLE_GROUP |
|| f.getType()==SBMFieldTypes.MULTIPLE_USERGROUP) { |
List<SBMFieldValue> values = client.getFieldValues(ttitem, f.getName()); |
for(SBMFieldValue val : values) { |
custom.putOption(val.getInternalValue(), val.getValue()); |
custom.addValue(val.getValue()); |
} |
} else if(client.getFieldValue(ttitem, f.getName())!=null) { |
custom.setValue(client.getFieldValue(ttitem, f.getName()).getValue()); |
} |
} |
|
//Notes |
for(SBMNote n : SBMRepositoryConnector.getClient(repository).getNotes(ttitem)) { |
for(SBMNote n : client.getNotes(ttitem)) { |
TaskCommentMapper mapper = new TaskCommentMapper(); |
mapper.setCommentId(n.getId()); |
mapper.setNumber(Integer.valueOf(n.getId())); |