Project

General

Profile

« Previous | Next » 

Revision dcd8a4c1

Added by Andreas Kohlbecker almost 6 years ago

ref #7533 typeStatus filter for registration list view - adding null option to filter

View differences:

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