fix #6570: use treeMap for getKeyLabelPairs() to sort the ranks
[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
10 package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
11
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.TaxonNameBase;
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 * <p>NameCreator class.</p>
25 *
26 * @author p.ciardelli
27 * @created 07.07.2009
28 * @version 1.0
29 */
30 public class NameCreator implements IEntityCreator<TaxonNameBase> {
31
32 /* (non-Javadoc)
33 * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityCreator#createEntity(java.lang.String)
34 */
35 /** {@inheritDoc} */
36 @Override
37 public TaxonNameBase createEntity(String text) {
38 TaxonNameBase name = PreferencesUtil.getPreferredNomenclaturalCode().getNewTaxonNameInstance(null);
39 name.setTitleCache(text, true);
40 //name.setTitleCache(text);
41 return name;
42 }
43
44 /* (non-Javadoc)
45 * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.Class, java.lang.String)
46 */
47 /** {@inheritDoc} */
48 @Override
49 public TaxonNameBase createEntity(Object key, String text) {
50 return ParseHandler.parseName(text, (Rank) key);
51 }
52
53 /* (non-Javadoc)
54 * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#getClassLabelPairs()
55 */
56 /**
57 * <p>getKeyLabelPairs</p>
58 *
59 * @return a {@link java.util.Map} object.
60 */
61 @Override
62 public Map<Object, String> getKeyLabelPairs() {
63 Map<Object, String> result = new TreeMap<Object, String>();
64 List<Rank> ranks = CdmStore.getTermManager().getPreferredTerms(Rank.class);
65 for (Rank rank : ranks) {
66 result.put(rank, rank.getLabel());
67 }
68 return result;
69 }
70
71 @Override
72 public boolean savesEntity() {
73 // TODO Auto-generated method stub
74 return false;
75 }
76 }