import org.eclipse.swt.dnd.TransferData;
import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
+import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.Character;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
import eu.etaxonomy.cdm.model.term.Representation;
IFeatureNodeService featureNodeService = CdmStore.getService(IFeatureNodeService.class);
TermNode<DefinedTerm> structure = featureNodeService.load(UUID.fromString(split[0]));
TermNode<DefinedTerm> property = featureNodeService.load(UUID.fromString(split[1]));
- Representation structureRepresentation = structure.getTerm().getRepresentation(PreferencesUtil.getGlobalLanguage());
- Representation propertyRepresentation = property.getTerm().getRepresentation(PreferencesUtil.getGlobalLanguage());
- String label = null;
- String abbrevLabel = null;
- if(structureRepresentation.getLabel()!=null && propertyRepresentation.getLabel()!=null){
- label = structureRepresentation.getLabel()+" "+propertyRepresentation.getLabel();
- }
- if(structureRepresentation.getAbbreviatedLabel()!=null && propertyRepresentation.getAbbreviatedLabel()!=null){
- abbrevLabel = structureRepresentation.getAbbreviatedLabel()+" "+propertyRepresentation.getAbbreviatedLabel();
- }
- characters.add(Character.NewInstance(structure, property, null, label, abbrevLabel));
+ characters.add(createCharacter(structure, property));
}
}catch(EOFException e){
return characters.toArray();
return null;
}
+ public static Character createCharacter(TermNode<DefinedTerm> structureNode,
+ TermNode<DefinedTerm> propertyNode) {
+ Representation structureRepresentation = structureNode.getTerm().getRepresentation(PreferencesUtil.getGlobalLanguage());
+ if(structureRepresentation==null){
+ structureRepresentation = structureNode.getTerm().getRepresentation(Language.DEFAULT());
+ }
+ Representation propertyRepresentation = propertyNode.getTerm().getRepresentation(PreferencesUtil.getGlobalLanguage());
+ if(propertyRepresentation==null){
+ propertyRepresentation = propertyNode.getTerm().getRepresentation(Language.DEFAULT());
+ }
+ String label = null;
+ String abbrevLabel = null;
+ if(structureRepresentation!=null && propertyRepresentation!=null){
+ if(structureRepresentation.getLabel()!=null && propertyRepresentation.getLabel()!=null){
+ label = structureRepresentation.getLabel()+" "+propertyRepresentation.getLabel();
+ }
+ if(structureRepresentation.getAbbreviatedLabel()!=null && propertyRepresentation.getAbbreviatedLabel()!=null){
+ abbrevLabel = structureRepresentation.getAbbreviatedLabel()+" "+propertyRepresentation.getAbbreviatedLabel();
+ }
+ }
+ if(label!=null){
+ //default label
+ label = structureNode.getTerm().getLabel()+" "+propertyNode.getTerm().getLabel();
+ }
+ //create new Character
+ Character character = Character.NewInstance(structureNode, propertyNode, null, label, abbrevLabel);
+ return character;
+ }
+
}