Merge branch 'hotfix/5.45.1'
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / entitycreator / NameCreator.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
10
11 import java.util.Comparator;
12 import java.util.List;
13 import java.util.Map;
14 import java.util.TreeMap;
15
16 import eu.etaxonomy.cdm.model.name.Rank;
17 import eu.etaxonomy.cdm.model.name.TaxonName;
18 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
19 import eu.etaxonomy.taxeditor.parser.ParseHandler;
20 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
21 import eu.etaxonomy.taxeditor.store.CdmStore;
22
23 /**
24 * @author p.ciardelli
25 * @created 07.07.2009
26 */
27 public class NameCreator implements IEntityCreator<TaxonName> {
28
29 @Override
30 public TaxonName createEntity(String text) {
31 TaxonName name = PreferencesUtil.getPreferredNomenclaturalCode().getNewTaxonNameInstance(null);
32 name.setTitleCache(text, true);
33 //name.setTitleCache(text);
34 return name;
35 }
36
37 @Override
38 public TaxonName createEntity(Object key, String text) {
39 return ParseHandler.parseName(text, (Rank) key);
40 }
41
42 @Override
43 public Map<Rank, String> getKeyLabelPairs() {
44 Map<Rank, String> result = new TreeMap<Rank, String>(
45 (Comparator<Rank>) (o1, o2) -> o2.compareTo(o1)
46 );
47 List<Rank> ranks = CdmStore.getTermManager().getPreferredTerms(Rank.class);
48 //Collections.reverse(ranks);
49 for (Rank rank : ranks) {
50 result.put(rank, rank.getLabel());
51 }
52 return result;
53 }
54
55 @Override
56 public boolean savesEntity() {
57 // TODO Auto-generated method stub
58 return false;
59 }
60 }