- /**
- * {@inheritDoc}
- */
- @Override
- public int compare(OriginalSourceType o1, OriginalSourceType o2) {
- if(o1==null){
- if(o2==null){
- return 0;
- }
- else{
- return -1;
- }
- }
- if(o2==null){
- return 1;
- }
- //both are either taxonomic or media
- else if(o1.equals(OriginalSourceType.PrimaryTaxonomicSource)
- && o2.equals(OriginalSourceType.PrimaryMediaSource)){
- if(entity.getType().equals(OriginalSourceType.PrimaryMediaSource)){
- return 1;
- }
- else{
- return -1;
- }
- }
- else if(o2.equals(OriginalSourceType.PrimaryTaxonomicSource)
- && o1.equals(OriginalSourceType.PrimaryMediaSource)){
- if(entity.getType().equals(OriginalSourceType.PrimaryMediaSource)){
- return -1;
- }
- else{
- return 1;
- }
- }
- //one is not taxonomic or media
- else if(o1.equals(OriginalSourceType.PrimaryTaxonomicSource)
- ||o1.equals(OriginalSourceType.PrimaryMediaSource)){
- return -1;
-
- }
- else if(o2.equals(OriginalSourceType.PrimaryTaxonomicSource)
- || o2.equals(OriginalSourceType.PrimaryMediaSource)){
- return 1;
- }
- //The last two are always "Other" followed by "Unknown"
- else if(o1.equals(OriginalSourceType.Other)){
- if(o2.equals(OriginalSourceType.Unknown)){
- return -11;
- }
- else{
- return 1;
- }
- }
- if(o2.equals(OriginalSourceType.Other)){
- return 1;
- }
- else{
- String message1 = o1.getKey();
- String message2 = o2.getKey();
- return message1.compareTo(message2);
- }
+ combo_origsourcetype = formFactory
+ .createEnumComboElement(OriginalSourceType.class,
+ formElement, new OriginalSourceTypeComparator(getEntity()), style, false);
+
+ if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSource.getKey())){
+ text_idInSource = formFactory.createTextWithLabelElement(formElement, "ID in Source", null, style);
+ }
+ if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowNamespaceInSource.getKey())){
+ text_idNamespace = formFactory.createTextWithLabelElement(formElement, "ID Namespace", null, style);
+ }
+ text_originalInfo = formFactory.createTextWithLabelElement(
+ formElement, "Original Information", null, SWT.NULL);
+
+ //we only show the cdm source if it exist.
+ //It can't be set during editing as it is read only.
+ if (this.entity != null && this.entity.getCdmSource() != null) {
+ text_cdmsource = formFactory.createTextWithLabelElement(
+ formElement, "CDM Source", null, SWT.NULL);
+ ((Text) text_cdmsource.getMainControl()).setEditable(false);