Project

General

Profile

« Previous | Next » 

Revision b3f62829

Added by Andreas Kohlbecker almost 6 years ago

ref #7338 mode VALIDATE_AGAINST_HIGHER_NAME_PART implemented for specificEpithet

View differences:

src/main/java/eu/etaxonomy/cdm/service/TaxonNameStringFilterablePagingProvider.java
21 21

  
22 22
import com.vaadin.data.Property.ValueChangeListener;
23 23
import com.vaadin.ui.AbstractField;
24
import com.vaadin.ui.Field;
24 25

  
25 26
import eu.etaxonomy.cdm.api.service.INameService;
26 27
import eu.etaxonomy.cdm.api.service.pager.Pager;
......
78 79
    public void listenToFields(AbstractField<String> genusOrUninomialField, AbstractField<String> infraGenericEpithetField,
79 80
            AbstractField<String> specificEpithetField, AbstractField<String> infraSpecificEpithetField){
80 81

  
81
        for(AbstractField<String> f : registeredToFields.keySet()){
82
            f.removeValueChangeListener(registeredToFields.get(f));
83
        }
84
        registeredToFields.clear();
82
        unlistenAllFields();
85 83

  
86 84
        registerNullSave(genusOrUninomialField, e -> namePartsFilter.setGenusOrUninomial(genusOrUninomialField.getValue()));
87 85
        registerNullSave(infraGenericEpithetField, e -> namePartsFilter.setGenusOrUninomial(infraGenericEpithetField.getValue()));
......
89 87
        registerNullSave(infraSpecificEpithetField, e -> namePartsFilter.setGenusOrUninomial(infraSpecificEpithetField.getValue()));
90 88
    }
91 89

  
90
    /**
91
     *
92
     */
93
    public void unlistenAllFields() {
94
        for(AbstractField<String> f : registeredToFields.keySet()){
95
            f.removeValueChangeListener(registeredToFields.get(f));
96
        }
97
        registeredToFields.clear();
98
    }
99

  
100
    public void replaceFields(AbstractField<String> unlistenField, AbstractField<String> listenToField) throws UnknownFieldException{
101
        if(registeredToFields.containsKey(unlistenField)){
102
            ValueChangeListener listener = registeredToFields.get(unlistenField);
103
            unlistenField.removeValueChangeListener(listener);
104
            registeredToFields.remove(unlistenField);
105
            registerNullSave(listenToField, listener);
106
        } else {
107
            throw new UnknownFieldException();
108
        }
109
    }
110

  
111
    public void updateFromFields(){
112
        for(AbstractField<String> f : registeredToFields.keySet()){
113
            ValueChangeListener listener = registeredToFields.get(f);
114
            listener.valueChange(new Field.ValueChangeEvent(f));
115
        }
116
    }
117

  
92 118
    /**
93 119
     * @param genusOrUninomialField
94 120
     */
......
187 213
    public List<Criterion> getCriteria() {
188 214
        return criteria;
189 215
    }
216

  
217
    public class UnknownFieldException extends Exception {
218

  
219
        private static final long serialVersionUID = 1L;
220

  
221

  
222
    }
190 223
}

Also available in: Unified diff