50 |
50 |
import eu.etaxonomy.cdm.model.name.NonViralName;
|
51 |
51 |
import eu.etaxonomy.cdm.model.name.Rank;
|
52 |
52 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
|
|
53 |
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
|
53 |
54 |
import eu.etaxonomy.cdm.model.reference.Reference;
|
54 |
55 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
|
55 |
56 |
import eu.etaxonomy.cdm.model.taxon.Classification;
|
... | ... | |
139 |
140 |
} else if(key.equalsIgnoreCase(IMAGE_COLUMN)) {
|
140 |
141 |
normalExplicitRow.putImage(index, value);
|
141 |
142 |
|
142 |
|
} else if(key.equalsIgnoreCase(DATE_COLUMN)) {
|
|
143 |
} else if(key.equalsIgnoreCase(DATE_COLUMN) || key.equalsIgnoreCase(YEAR_COLUMN)) {
|
143 |
144 |
normalExplicitRow.setDate(value);
|
144 |
145 |
|
145 |
146 |
} else if(key.equalsIgnoreCase(FAMILY_COLUMN)) {
|
... | ... | |
217 |
218 |
}
|
218 |
219 |
|
219 |
220 |
//taxon
|
220 |
|
taxonBase = createTaxon(state, rank, taxonNameStr, authorStr, referenceStr, nameStatus);
|
|
221 |
taxonBase = createTaxon(state, rank, taxonNameStr, authorStr, referenceStr, dateStr, nameStatus);
|
221 |
222 |
}else{
|
222 |
223 |
return;
|
223 |
224 |
}
|
... | ... | |
561 |
562 |
* @return
|
562 |
563 |
*/
|
563 |
564 |
private TaxonBase createTaxon(TaxonExcelImportState state, Rank rank,
|
564 |
|
String taxonNameStr, String authorStr, String reference, String nameStatus) {
|
|
565 |
String taxonNameStr, String authorStr, String reference, String date, String nameStatus) {
|
565 |
566 |
// Create the taxon name object depending on the setting of the nomenclatural code
|
566 |
567 |
// in the configurator (botanical code, zoological code, etc.)
|
567 |
568 |
if (StringUtils.isBlank(taxonNameStr)){
|
... | ... | |
585 |
586 |
logger.info("Matching taxon/synonym found for " + titleCache);
|
586 |
587 |
return null;
|
587 |
588 |
}else {
|
588 |
|
taxonBase = createTaxon(state, rank, taxonNameStr, authorStr, reference, nameStatus, nc);
|
|
589 |
taxonBase = createTaxon(state, rank, taxonNameStr, authorStr, reference, date, nameStatus, nc);
|
589 |
590 |
}
|
590 |
591 |
return taxonBase;
|
591 |
592 |
}
|
... | ... | |
604 |
605 |
* @return
|
605 |
606 |
*/
|
606 |
607 |
private TaxonBase<?> createTaxon(TaxonExcelImportState state, Rank rank, String taxonNameStr,
|
607 |
|
String authorStr, String reference, String nameStatus, NomenclaturalCode nc) {
|
|
608 |
String authorStr, String reference, String date, String nameStatus, NomenclaturalCode nc) {
|
608 |
609 |
TaxonBase<?> taxonBase;
|
609 |
610 |
NonViralName<?> taxonNameBase = null;
|
610 |
611 |
if (nc == NomenclaturalCode.ICVCN){
|
... | ... | |
628 |
629 |
taxonNameBase.setAuthorshipCache(authorStr);
|
629 |
630 |
}
|
630 |
631 |
}
|
|
632 |
if (StringUtils.isNotBlank(reference)) {
|
|
633 |
INomenclaturalReference ref = parser.parseReferenceTitle(reference, date, false);
|
|
634 |
taxonNameBase.setNomenclaturalReference(ref);
|
|
635 |
}
|
631 |
636 |
}
|
632 |
637 |
|
633 |
638 |
//Create the taxon
|
normal explicit excel import: add reference to name import