Revision 1eaef993
Added by Andreas Müller over 6 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/dwca/in/DwcTaxonStreamItem2CdmTaxonConverter.java | ||
---|---|---|
109 | 109 |
} |
110 | 110 |
|
111 | 111 |
@Override |
112 |
public IReader<MappedCdmBase> map(StreamItem csvTaxonRecord){ |
|
113 |
List<MappedCdmBase> resultList = new ArrayList<MappedCdmBase>();
|
|
112 |
public IReader<MappedCdmBase<? extends CdmBase>> map(StreamItem csvTaxonRecord){
|
|
113 |
List<MappedCdmBase<? extends CdmBase>> resultList = new ArrayList<>();
|
|
114 | 114 |
|
115 | 115 |
//TODO what if not transactional? |
116 | 116 |
Reference sourceReference = state.getTransactionalSourceReference(); |
... | ... | |
118 | 118 |
|
119 | 119 |
//taxon |
120 | 120 |
TaxonBase<?> taxonBase = getTaxonBase(csvTaxonRecord); |
121 |
MappedCdmBase mcb = new MappedCdmBase(csvTaxonRecord.term, csvTaxonRecord.get(ID), taxonBase);
|
|
121 |
MappedCdmBase<TaxonBase<?>> mcb = new MappedCdmBase<>(csvTaxonRecord.term, csvTaxonRecord.get(ID), taxonBase);
|
|
122 | 122 |
resultList.add(mcb); |
123 | 123 |
|
124 | 124 |
//original source |
125 | 125 |
String id = csvTaxonRecord.get(ID); |
126 | 126 |
IdentifiableSource source = taxonBase.addSource(OriginalSourceType.Import, id, "Taxon", sourceReference, sourceReferenceDetail); |
127 |
MappedCdmBase mappedSource = new MappedCdmBase(csvTaxonRecord.get(ID), source);
|
|
127 |
MappedCdmBase<IdentifiableSource> mappedSource = new MappedCdmBase<>(csvTaxonRecord.get(ID), source);
|
|
128 | 128 |
resultList.add(mappedSource); |
129 | 129 |
csvTaxonRecord.remove(ID); |
130 | 130 |
|
... | ... | |
212 | 212 |
// <field index='24' term='http://purl.org/dc/terms/description'/> |
213 | 213 |
// </core> |
214 | 214 |
|
215 |
return new ListReader<MappedCdmBase>(resultList); |
|
215 |
return new ListReader<MappedCdmBase<? extends CdmBase>>(resultList);
|
|
216 | 216 |
} |
217 | 217 |
|
218 | 218 |
|
... | ... | |
381 | 381 |
} |
382 | 382 |
|
383 | 383 |
|
384 |
private void handleDataset(StreamItem item, TaxonBase<?> taxonBase, List<MappedCdmBase> resultList, Reference sourceReference, String sourceReferecenDetail) { |
|
384 |
private void handleDataset(StreamItem item, TaxonBase<?> taxonBase, List<MappedCdmBase<? extends CdmBase>> resultList, Reference sourceReference, String sourceReferecenDetail) {
|
|
385 | 385 |
TermUri idTerm = TermUri.DWC_DATASET_ID; |
386 | 386 |
TermUri strTerm = TermUri.DWC_DATASET_NAME; |
387 | 387 |
|
... | ... | |
413 | 413 |
//source |
414 | 414 |
IdentifiableSource source = classification.addSource(OriginalSourceType.Import, classificationId, "Dataset", sourceReference, sourceReferecenDetail); |
415 | 415 |
//add to result |
416 |
resultList.add(new MappedCdmBase(idTerm, datasetId, classification)); |
|
417 |
resultList.add(new MappedCdmBase(strTerm, datasetName, classification)); |
|
418 |
resultList.add(new MappedCdmBase(source)); |
|
416 |
resultList.add(new MappedCdmBase<>(idTerm, datasetId, classification));
|
|
417 |
resultList.add(new MappedCdmBase<>(strTerm, datasetName, classification));
|
|
418 |
resultList.add(new MappedCdmBase<>(source));
|
|
419 | 419 |
//TODO this is not so nice but currently necessary as classifications are requested in the same partition |
420 | 420 |
state.putMapping(idTerm.toString(), classificationId, classification); |
421 | 421 |
state.putMapping(strTerm.toString(), classificationName, classification); |
... | ... | |
449 | 449 |
return id; |
450 | 450 |
} |
451 | 451 |
|
452 |
private MappedCdmBase<Reference> getNameAccordingTo(StreamItem item, List<MappedCdmBase> resultList) { |
|
452 |
private MappedCdmBase<Reference> getNameAccordingTo(StreamItem item, List<MappedCdmBase<? extends CdmBase>> resultList) {
|
|
453 | 453 |
if (config.isDatasetsAsSecundumReference()){ |
454 | 454 |
//TODO store nameAccordingTo info some where else or let the user define where to store it. |
455 | 455 |
return null; |
... | ... | |
500 | 500 |
} |
501 | 501 |
|
502 | 502 |
|
503 |
private TaxonName getScientificName(StreamItem item, NomenclaturalCode nomCode, Rank rank, List<MappedCdmBase> resultList, Reference sourceReference) { |
|
503 |
private TaxonName getScientificName(StreamItem item, NomenclaturalCode nomCode, Rank rank, List<MappedCdmBase<? extends CdmBase>> resultList, Reference sourceReference) {
|
|
504 | 504 |
TaxonName name = null; |
505 | 505 |
String strScientificName = getValue(item, TermUri.DWC_SCIENTIFIC_NAME); |
506 | 506 |
//Name |
... | ... | |
559 | 559 |
* @param idIsInternal |
560 | 560 |
* @return |
561 | 561 |
*/ |
562 |
private MappedCdmBase<Reference> getReference(StreamItem item, List<MappedCdmBase> resultList, TermUri idTerm, TermUri strTerm, boolean idIsInternal) { |
|
562 |
private MappedCdmBase<Reference> getReference(StreamItem item, |
|
563 |
List<MappedCdmBase<? extends CdmBase>> resultList, TermUri idTerm, |
|
564 |
TermUri strTerm, boolean idIsInternal) { |
|
563 | 565 |
Reference newRef = null; |
564 | 566 |
Reference sourceCitation = null; |
565 | 567 |
|
Also available in: Unified diff
cleanup