Revision dcd8a4c1
Added by Andreas Kohlbecker almost 6 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListPresenter.java | ||
---|---|---|
10 | 10 |
|
11 | 11 |
import java.util.ArrayList; |
12 | 12 |
import java.util.EnumSet; |
13 |
import java.util.HashSet; |
|
13 | 14 |
import java.util.List; |
14 | 15 |
import java.util.Set; |
15 | 16 |
import java.util.UUID; |
... | ... | |
30 | 31 |
import eu.etaxonomy.cdm.api.service.pager.Pager; |
31 | 32 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
32 | 33 |
import eu.etaxonomy.cdm.model.common.User; |
34 |
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; |
|
33 | 35 |
import eu.etaxonomy.cdm.model.name.RegistrationStatus; |
34 | 36 |
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; |
35 | 37 |
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase; |
... | ... | |
63 | 65 |
|
64 | 66 |
private static final long serialVersionUID = 5419947244621450665L; |
65 | 67 |
|
68 |
protected TypeDesignationStatusBase<?> NULL_TYPE_STATUS = NameTypeDesignationStatus.NewInstance("- none -", "- none -", "- none -"); |
|
69 |
|
|
66 | 70 |
@Autowired |
67 | 71 |
private IRegistrationWorkingSetService workingSetService; |
68 | 72 |
|
... | ... | |
108 | 112 |
typeDesignationStatusUUIDS.addAll(RegistrationTermLists.NAME_TYPE_DESIGNATION_STATUS_UUIDS()); |
109 | 113 |
typeDesignationStatusUUIDS.addAll(RegistrationTermLists.SPECIMEN_TYPE_DESIGNATION_STATUS_UUIDS()); |
110 | 114 |
BeanItemContainer<DefinedTermBase> buildTermItemContainer = selectFieldFactory.buildTermItemContainer(typeDesignationStatusUUIDS); |
115 |
buildTermItemContainer.addItem(NULL_TYPE_STATUS); |
|
111 | 116 |
getView().getStatusTypeFilter().setContainerDataSource(buildTermItemContainer); |
112 | 117 |
for(DefinedTermBase dt : buildTermItemContainer.getItemIds()){ |
113 |
String classAbbreviation = dt instanceof SpecimenTypeDesignationStatus ? "ST" : "NT"; |
|
114 |
getView().getStatusTypeFilter().setItemCaption(dt, classAbbreviation + " - " + dt.getLabel()); |
|
118 |
String caption; |
|
119 |
if(dt == NULL_TYPE_STATUS){ |
|
120 |
caption = "- NONE -"; |
|
121 |
} else { |
|
122 |
caption = (dt instanceof SpecimenTypeDesignationStatus ? "ST" : "NT") + " - " + dt.getLabel(); |
|
123 |
} |
|
124 |
getView().getStatusTypeFilter().setItemCaption(dt, caption); |
|
115 | 125 |
} |
116 | 126 |
|
117 | 127 |
getView().populate(pageRegistrations(null, null)); |
... | ... | |
155 | 165 |
Set<TypeDesignationStatusBase> typeStatusFilter = (Set<TypeDesignationStatusBase>) getView().getStatusTypeFilter().getValue(); |
156 | 166 |
if(typeStatusFilter.isEmpty()){ |
157 | 167 |
typeStatusFilter = null; |
168 |
} else { |
|
169 |
if(typeStatusFilter.contains(NULL_TYPE_STATUS)){ |
|
170 |
Set<TypeDesignationStatusBase> tmpSet = new HashSet<>(); |
|
171 |
tmpSet.addAll(typeStatusFilter); |
|
172 |
tmpSet.remove(NULL_TYPE_STATUS); |
|
173 |
tmpSet.add(null); |
|
174 |
typeStatusFilter = tmpSet; |
|
175 |
} |
|
158 | 176 |
} |
159 | 177 |
|
160 | 178 |
EnumSet<RegistrationStatus> includeStatus = inProgressStatus; |
Also available in: Unified diff
ref #7533 typeStatus filter for registration list view - adding null option to filter