- DefinedTerm is ordered as in enum (#3752)
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / entitycreator / OccurrenceCreator.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
12
13 import java.util.Map;
14 import java.util.TreeMap;
15
16 import org.apache.log4j.Logger;
17 import org.eclipse.core.runtime.IStatus;
18 import org.eclipse.jface.wizard.WizardDialog;
19
20 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
21 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
22 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
23 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
24 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
25 import eu.etaxonomy.taxeditor.newWizard.NewDerivedUnitBaseWizard;
26
27 /**
28 * <p>
29 * OccurrenceCreator class.
30 * </p>
31 *
32 * @author n.hoffmann
33 * @created Jun 16, 2010
34 * @version 1.0
35 */
36 public class OccurrenceCreator implements
37 IEntityCreator<SpecimenOrObservationBase> {
38 private static final Logger logger = Logger
39 .getLogger(OccurrenceCreator.class);
40
41 /** {@inheritDoc} */
42 @Override
43 public SpecimenOrObservationBase createEntity(String text) {
44
45 return createEntity(DerivedUnit.class, text);
46 }
47
48 /** {@inheritDoc} */
49 @Override
50 public SpecimenOrObservationBase createEntity(Object key, String text) {
51
52 SpecimenOrObservationBase specimenOrObservation = null;
53 NewDerivedUnitBaseWizard wizard = new NewDerivedUnitBaseWizard((SpecimenOrObservationType)key);
54 wizard.init(null, null);
55 if(wizard.getEntity() != null) {
56 WizardDialog dialog = new WizardDialog(BulkEditorUtil.getShell(), wizard);
57 int status = dialog.open();
58
59 if (status == IStatus.OK) {
60 specimenOrObservation = wizard.getEntity();
61 }
62 }
63 return specimenOrObservation;
64 }
65
66 /**
67 * <p>
68 * getKeyLabelPairs
69 * </p>
70 *
71 * @return a {@link java.util.Map} object.
72 */
73 @Override
74 public Map<Object, String> getKeyLabelPairs() {
75 // Comparator<Object> comparator = new Comparator<Object>() {
76 // public int compare(Object o1, Object o2) {
77 // String key1 = ((SpecimenOrObservationType)o1).getKey();
78 // String key2 = ((SpecimenOrObservationType)o2).getKey();
79 // return key1.compareTo(key2);
80 // }
81 // };
82 // Map<Object, String> result = new TreeMap<Object, String>(comparator);
83 // Map<Object, String> result = new HashMap<Object, String>();
84 Map<Object, String> result = new TreeMap<Object, String>();
85
86 for(SpecimenOrObservationType sooType : SpecimenOrObservationType.values()) {
87 result.put(sooType, sooType.getMessage());
88 }
89
90 return result;
91 }
92
93 @Override
94 public boolean savesEntity() {
95 // TODO Auto-generated method stub
96 return true;
97 }
98
99
100 }