Work on excel imports
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / excel / taxa / TaxonExcelImporterBase.java
1 /**
2 *
3 */
4 package eu.etaxonomy.cdm.io.excel.taxa;
5
6 import java.net.URI;
7 import java.net.URISyntaxException;
8 import java.util.ArrayList;
9 import java.util.HashMap;
10 import java.util.Map;
11
12 import org.apache.log4j.Logger;
13 import org.springframework.transaction.TransactionStatus;
14
15 import eu.etaxonomy.cdm.api.application.CdmApplicationController;
16 import eu.etaxonomy.cdm.common.CdmUtils;
17 import eu.etaxonomy.cdm.common.ExcelUtils;
18 import eu.etaxonomy.cdm.database.ICdmDataSource;
19 import eu.etaxonomy.cdm.io.common.CdmIoBase;
20 import eu.etaxonomy.cdm.io.common.IImportConfigurator;
21 import eu.etaxonomy.cdm.io.common.IIoConfigurator;
22 import eu.etaxonomy.cdm.io.common.MapWrapper;
23 import eu.etaxonomy.cdm.io.excel.common.ExcelImporterBase;
24 import eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImporter;
25 import eu.etaxonomy.cdm.io.jaxb.JaxbImportConfigurator;
26 import eu.etaxonomy.cdm.model.agent.Person;
27 import eu.etaxonomy.cdm.model.common.CdmBase;
28 import eu.etaxonomy.cdm.model.common.Language;
29 import eu.etaxonomy.cdm.model.description.TaxonDescription;
30 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
31 import eu.etaxonomy.cdm.model.name.Rank;
32 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
33 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
34 import eu.etaxonomy.cdm.model.taxon.Taxon;
35
36 /**
37 * @author a.babadshanjan
38 * @created 09.01.2009
39 * @version 1.0
40 */
41 public abstract class TaxonExcelImporterBase extends ExcelImporterBase {
42
43 private static final Logger logger = Logger.getLogger(TaxonExcelImporterBase.class);
44
45 /*
46 * Supported Columns:
47 * Id
48 * ParentId - create taxon relationship
49 * Rank - create taxon name of this rank
50 * ScientificName
51 * Author
52 * NameStatus
53 * VernacularName
54 * Language
55 */
56
57 protected static final String ID_COLUMN = "Id";
58 protected static final String PARENT_ID_COLUMN = "ParentId";
59 protected static final String RANK_COLUMN = "Rank";
60 protected static final String AUTHOR_COLUMN = "Author";
61 protected static final String NAME_STATUS_COLUMN = "NameStatus";
62 protected static final String VERNACULAR_NAME_COLUMN = "VernacularName";
63 protected static final String LANGUAGE_COLUMN = "Language";
64
65 protected enum Columns {
66 Id("Id"),
67 ParentId("ParentId"),
68 Rank("Rank"),
69 ScientificName("ScientificName"),
70 Author("Author"),
71 NameStatus("NameStatus"),
72 VernacularName("VernacularName"),
73 Language("Language");
74
75 private String head;
76 private String value;
77
78 Columns(String head) {
79 this.head = head;
80 }
81
82 public String head() {
83 return this.head;
84 }
85
86 public String value() {
87 return this.value;
88 }
89 }
90
91 private String rank = "";
92 private String nameStatus = "";
93 private String commonName = "";
94 private String author = "";
95 private String language = "";
96 private String reference = "";
97 private int id = 0;
98 private int parentId = 0;
99
100 /* Need already processed records? */
101
102 public String getRank() {
103
104 return this.rank;
105 }
106
107 public void setRank(String rank) {
108
109 this.rank = rank;
110 }
111
112 public int getId() {
113
114 return this.id;
115 }
116
117 public void setId(int id) {
118
119 this.id = id;
120 }
121
122 public int getParentId() {
123
124 return this.parentId;
125 }
126
127 public void setParentId(int parentId) {
128
129 this.parentId = parentId;
130 }
131 }