Subversion Repositories XServices

Compare Revisions

Ignore whitespace Rev 30 → Rev 31

/sbm4mylyn/trunk/src/net/brutex/mylyn/sbmconnector/core/SBMTicketDataHandler.java
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");
custom.getMetaData().setKind(TaskAttribute.KIND_DEFAULT);
custom.setValue("roger");
//Custom fields
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.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()));