Revision 9dc896c9
Added by Andreas Müller almost 7 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/excel/in/SpecimenCdmExcelImport.java | ||
---|---|---|
50 | 50 |
import eu.etaxonomy.cdm.model.name.Rank; |
51 | 51 |
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; |
52 | 52 |
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; |
53 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
|
|
53 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
|
54 | 54 |
import eu.etaxonomy.cdm.model.name.TaxonNameFactory; |
55 | 55 |
import eu.etaxonomy.cdm.model.occurrence.Collection; |
56 | 56 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
... | ... | |
405 | 405 |
boolean isFirstDetermination = true; |
406 | 406 |
DeterminationLight commonDetermination = row.getCommonDetermination(); |
407 | 407 |
Taxon commonTaxon = null; |
408 |
TaxonNameBase<?,?> commonName = null;
|
|
408 |
TaxonName commonName = null; |
|
409 | 409 |
|
410 | 410 |
boolean hasCommonTaxonInfo = (commonDetermination == null) ? false : commonDetermination.hasTaxonInformation(); |
411 | 411 |
if (hasCommonTaxonInfo && commonDetermination != null){ |
... | ... | |
465 | 465 |
} |
466 | 466 |
|
467 | 467 |
if (isFirstDetermination && state.getConfig().isFirstDeterminationIsStoredUnder()){ |
468 |
TaxonNameBase<?,?> name;
|
|
468 |
TaxonName name; |
|
469 | 469 |
|
470 | 470 |
if (!hasCommonTaxonInfo){ |
471 | 471 |
name = findBestMatchingName(state, determinationLight); |
... | ... | |
683 | 683 |
return name; |
684 | 684 |
} |
685 | 685 |
|
686 |
private TaxonNameBase findBestMatchingName(SpecimenCdmExcelImportState state, DeterminationLight determinationLight) {
|
|
686 |
private TaxonName findBestMatchingName(SpecimenCdmExcelImportState state, DeterminationLight determinationLight) { |
|
687 | 687 |
|
688 | 688 |
INonViralName name = makeTaxonName(state, determinationLight); |
689 | 689 |
String titleCache = makeSearchNameTitleCache(state, determinationLight, name); |
690 | 690 |
|
691 | 691 |
//TODO |
692 |
List<TaxonNameBase> matchingNames = getNameService().findByName(null, titleCache, MatchMode.EXACT, null, null, null, null, null).getRecords();
|
|
692 |
List<TaxonName> matchingNames = getNameService().findByName(null, titleCache, MatchMode.EXACT, null, null, null, null, null).getRecords(); |
|
693 | 693 |
if (matchingNames.size() > 0){ |
694 | 694 |
return matchingNames.get(0); |
695 | 695 |
} else if (matchingNames.size() > 0){ |
... | ... | |
831 | 831 |
} |
832 | 832 |
|
833 | 833 |
|
834 |
private TaxonNameBase<?,?> getTaxonName(SpecimenCdmExcelImportState state, String name) {
|
|
835 |
TaxonNameBase<?,?> result = null;
|
|
834 |
private TaxonName getTaxonName(SpecimenCdmExcelImportState state, String name) { |
|
835 |
TaxonName result = null; |
|
836 | 836 |
result = state.getName(name); |
837 | 837 |
if (result != null){ |
838 | 838 |
return result; |
839 | 839 |
} |
840 |
List<TaxonNameBase> list = getNameService().findByTitle(null, name, null, null, null, null, null, null).getRecords();
|
|
840 |
List<TaxonName> list = getNameService().findByTitle(null, name, null, null, null, null, null, null).getRecords(); |
|
841 | 841 |
//TODO better strategy to find best name, e.g. depending on the classification it is used in |
842 | 842 |
if (! list.isEmpty()){ |
843 | 843 |
result = list.get(0); |
... | ... | |
845 | 845 |
if (result == null){ |
846 | 846 |
NonViralNameParserImpl parser = NonViralNameParserImpl.NewInstance(); |
847 | 847 |
NomenclaturalCode code = state.getConfig().getNomenclaturalCode(); |
848 |
result = (TaxonNameBase<?,?>)parser.parseFullName(name, code, null);
|
|
848 |
result = (TaxonName<?,?>)parser.parseFullName(name, code, null); |
|
849 | 849 |
|
850 | 850 |
} |
851 | 851 |
if (result != null){ |
Also available in: Unified diff
fix #6368 rename table and class TaxonNameBase