Revision e6414409
Added by Katja Luther almost 3 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalAuthorSelectionDialog.java | ||
---|---|---|
12 | 12 |
import java.util.Comparator; |
13 | 13 |
import java.util.List; |
14 | 14 |
|
15 |
import org.eclipse.jface.viewers.ILabelProvider; |
|
16 |
import org.eclipse.jface.viewers.LabelProvider; |
|
15 | 17 |
import org.eclipse.swt.widgets.Shell; |
16 | 18 |
|
17 | 19 |
import eu.etaxonomy.cdm.api.service.IAgentService; |
20 |
import eu.etaxonomy.cdm.api.service.dto.EntityDTOBase; |
|
21 |
import eu.etaxonomy.cdm.api.service.dto.IdentifiedEntityDTO; |
|
18 | 22 |
import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor; |
19 | 23 |
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; |
24 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
|
25 |
import eu.etaxonomy.cdm.persistence.dto.TeamOrPersonUuidAndTitleCache; |
|
20 | 26 |
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; |
21 | 27 |
import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard; |
22 | 28 |
import eu.etaxonomy.taxeditor.newWizard.NewPersonWizard; |
23 | 29 |
import eu.etaxonomy.taxeditor.newWizard.NewTeamWizard; |
30 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
|
24 | 31 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
25 | 32 |
|
26 | 33 |
/** |
... | ... | |
83 | 90 |
return ((INomenclaturalAuthor)cdmObject).getNomenclaturalTitleCache(); |
84 | 91 |
} |
85 | 92 |
|
86 |
// public class FilteredCdmResourceAbbrevLabelProvider extends LabelProvider { |
|
87 |
// @Override |
|
88 |
// public String getText(Object element) { |
|
89 |
// if (element == null) { |
|
90 |
// return null; |
|
91 |
// } |
|
92 |
// UuidAndTitleCache<?> uuidAndTitleCache = (UuidAndTitleCache<?>) element; |
|
93 |
// String titleCache = uuidAndTitleCache.getTitleCache(); |
|
94 |
// String abbrevTitleCache = uuidAndTitleCache.getAbbrevTitleCache(); |
|
95 |
// if(titleCache!=null && abbrevTitleCache!=null){ |
|
96 |
// if (!titleCache.equals(abbrevTitleCache)){ |
|
97 |
// abbrevTitleCache += " - " + titleCache; |
|
98 |
// } |
|
99 |
// if(PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSelectionDialog.getKey())){ |
|
100 |
// abbrevTitleCache += " ["+uuidAndTitleCache.getId()+"]"; |
|
101 |
// } |
|
102 |
// } |
|
103 |
// return abbrevTitleCache!=null?abbrevTitleCache:"[title null]"; |
|
104 |
// } |
|
105 |
// } |
|
93 |
@Override |
|
94 |
protected ILabelProvider createListLabelProvider() { |
|
95 |
return new NomenclaturalLabelProvider(); |
|
96 |
} |
|
97 |
|
|
98 |
public class NomenclaturalLabelProvider extends LabelProvider { |
|
99 |
@Override |
|
100 |
public String getText(Object element) { |
|
101 |
if (element == null) { |
|
102 |
return null; |
|
103 |
} |
|
104 |
UuidAndTitleCache<?> uuidAndTitleCache = (UuidAndTitleCache<?>) element; |
|
105 |
String title = uuidAndTitleCache.getAbbrevTitleCache(); |
|
106 |
String titleCache = uuidAndTitleCache.getTitleCache(); |
|
107 |
String collectorTitleCache = null; |
|
108 |
if (element instanceof TeamOrPersonUuidAndTitleCache){ |
|
109 |
collectorTitleCache = ((TeamOrPersonUuidAndTitleCache)element).getCollectorTitleCache(); |
|
110 |
} |
|
111 |
if (!titleCache.equals(title)){ |
|
112 |
title += " - " + titleCache; |
|
113 |
} |
|
114 |
if (collectorTitleCache != null && !uuidAndTitleCache.getTitleCache().equals(collectorTitleCache) && !titleCache.equals(collectorTitleCache)){ |
|
115 |
title += " - " + collectorTitleCache; |
|
116 |
} |
|
117 |
if(PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSelectionDialog.getKey())){ |
|
118 |
title += " ["+uuidAndTitleCache.getId()+"]"; |
|
119 |
} |
|
120 |
if (element instanceof EntityDTOBase){ |
|
121 |
title += "(" + ((IdentifiedEntityDTO)element).getIdentifier().getTypeLabel() +": " + ((IdentifiedEntityDTO)element).getIdentifier().getIdentifier() + ")"; |
|
122 |
} |
|
123 |
|
|
124 |
return title; |
|
125 |
} |
|
126 |
} |
|
106 | 127 |
|
107 | 128 |
@Override |
108 | 129 |
protected Comparator<UuidAndTitleCache<TeamOrPersonBase<?>>> getItemsComparator() { |
Also available in: Unified diff
ref #9337, #9680:remove set focus on titleCache and search for nomenclatural author and collector