Project

General

Profile

« Previous | Next » 

Revision 24d1dcbf

Added by Katja Luther over 2 years ago

ref #9762: remove cultivar ranks for non cultivar codes and use isCultivar()

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
23 23
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
24 24
import eu.etaxonomy.cdm.model.name.Rank;
25 25
import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
26
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
26 27
import eu.etaxonomy.cdm.model.term.TermType;
27 28
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
28 29
import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
29 30
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
31
import eu.etaxonomy.taxeditor.store.CdmStore;
30 32
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
31 33
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
32 34
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
......
95 97
		}
96 98
	    if (config == null){
97 99
	    	toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style);
100
	    	List<Rank> ranks = getRanks(nonViralName, false);
101
	    	combo_rank = formFactory.createDefinedTermComboElement(ranks, this, "Rank", nonViralName.getRank(),style);
102
	    	combo_rank.setTermComparator(comparator);
98 103

  
99
	    	combo_rank = formFactory.createDefinedTermComboElement(TermType.Rank, this, "Rank", nonViralName.getRank(), style, comparator);
100 104
	    	createGenusOrUninomialControls(this, nonViralName, style);
101 105
            createInfragenerericEpithetControls(this, nonViralName, style);
102 106
            createSpecificEpithetControls(this, nonViralName, style);
......
109 113
        	}
110 114

  
111 115
    	    if (config.isRankActivated()){
112
    	        combo_rank = formFactory.createDefinedTermComboElement(TermType.Rank, this, "Rank", nonViralName.getRank(), style, comparator);
116
    	        List<Rank> ranks = getRanks(nonViralName, false);
117
                combo_rank = formFactory.createDefinedTermComboElement(ranks, this, "Rank", nonViralName.getRank(),style);
118
                combo_rank.setTermComparator(comparator);
113 119
    	    }
114 120

  
115 121
    		if (config.isAtomisedEpithetsActivated()){
......
224 230

  
225 231
	private void createCultivarNameParts(ICdmFormElement formElement, INonViralName nonViralName, int style) {
226 232
		ICultivarPlantName cultivarName = (ICultivarPlantName)nonViralName;
227
		List<Rank> cultivarRanks = new ArrayList<>();
228
		cultivarRanks.add(Rank.CULTIVAR());
229
		cultivarRanks.add(Rank.CULTIVARGROUP());
230
		cultivarRanks.add(Rank.GREX());
231
		if (cultivarName.isCultivar()){
232
		    combo_rank.setTerms(cultivarRanks);
233
		}
233

  
234
		List<Rank> cultivarRanks = getRanks(cultivarName, true);
235
		combo_rank.setTerms(cultivarRanks);
234 236
		combo_rank.setSelection(cultivarName.getRank());
235 237

  
236 238
		Rank rank = cultivarName.getRank();
......
242 244
		}
243 245
	}
244 246

  
247
    private List<Rank> getRanks(INonViralName name, boolean isCultivar) {
248
        List<Rank> ranks = new ArrayList<>();
249
        List<DefinedTermBase> allRanks = CdmStore.getTermManager().getPreferredTerms(TermType.Rank);
250
        for(DefinedTermBase term: allRanks){
251
		    Rank rank = (Rank)term;
252
		    if (rank.isCultivar() == isCultivar){
253
		        ranks.add(rank);
254
		    }
255
		}
256
		return ranks;
257
    }
258

  
245 259
	private void createBotanicalNameParts(ICdmFormElement formElement, INonViralName nonViralName, int style){
246 260
		//nothing to do
247 261
	}

Also available in: Unified diff