Revision bb38665e
Added by Andreas Müller over 10 years ago
cdm-eflora/src/main/java/eu/etaxonomy/cdm/io/eflora/centralAfrica/ferns/CentralAfricaFernsTaxonImport.java | ||
---|---|---|
57 | 57 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
58 | 58 |
import eu.etaxonomy.cdm.model.name.TypeDesignationBase; |
59 | 59 |
import eu.etaxonomy.cdm.model.occurrence.Collection; |
60 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase; |
|
61 |
import eu.etaxonomy.cdm.model.occurrence.Specimen; |
|
60 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
|
62 | 61 |
import eu.etaxonomy.cdm.model.reference.Reference; |
63 | 62 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
64 | 63 |
import eu.etaxonomy.cdm.model.taxon.Synonym; |
65 | 64 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
66 | 65 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
67 | 66 |
import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl; |
67 |
import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser; |
|
68 | 68 |
|
69 | 69 |
|
70 | 70 |
/** |
... | ... | |
262 | 262 |
designation.setNotDesignated(true); |
263 | 263 |
} |
264 | 264 |
|
265 |
DerivedUnitBase specimen = designation.getTypeSpecimen();
|
|
265 |
DerivedUnit specimen = designation.getTypeSpecimen(); |
|
266 | 266 |
|
267 | 267 |
if (lastFacade != null){ |
268 | 268 |
lastFacade.addDuplicate(specimen); |
... | ... | |
335 | 335 |
private SpecimenTypeDesignation makeCachedSpecimenDesignation(String split) { |
336 | 336 |
SpecimenTypeDesignation lastDesignation; |
337 | 337 |
lastDesignation = SpecimenTypeDesignation.NewInstance(); |
338 |
Specimen specimen = Specimen.NewInstance();
|
|
338 |
DerivedUnit specimen = DerivedUnit.NewPreservedSpecimenInstance();
|
|
339 | 339 |
specimen.setTitleCache(split, true); |
340 | 340 |
lastDesignation.setTypeSpecimen(specimen); |
341 | 341 |
return lastDesignation; |
... | ... | |
345 | 345 |
|
346 | 346 |
private SpecimenTypeDesignation makeSpecimenTypeCollection(SpecimenTypeDesignation designation, String collectionString, String strCollectionPattern, String strNumberPattern, String strAddInfoPattern) { |
347 | 347 |
SpecimenTypeDesignation result = SpecimenTypeDesignation.NewInstance(); |
348 |
Specimen specimen = Specimen.NewInstance();
|
|
348 |
DerivedUnit specimen = DerivedUnit.NewPreservedSpecimenInstance();
|
|
349 | 349 |
result.setTypeSpecimen(specimen); |
350 | 350 |
|
351 | 351 |
//collection |
... | ... | |
513 | 513 |
if (strName.endsWith(",")){ |
514 | 514 |
strName = strName.substring(0, strName.length() -1); |
515 | 515 |
} |
516 |
BotanicalName result = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICBN, Rank.SPECIES());
|
|
516 |
BotanicalName result = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICNAFP, Rank.SPECIES());
|
|
517 | 517 |
return result; |
518 | 518 |
} |
519 | 519 |
|
... | ... | |
537 | 537 |
acceptedName = acceptedName.substring(0, acceptedName.length()-1); |
538 | 538 |
} |
539 | 539 |
acceptedName = acceptedName.replaceFirst("=", "").trim(); |
540 |
result[1] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(acceptedName, NomenclaturalCode.ICBN, null);
|
|
540 |
result[1] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(acceptedName, NomenclaturalCode.ICNAFP, null);
|
|
541 | 541 |
strName = notAcceptedName; |
542 | 542 |
} |
543 | 543 |
|
544 |
result[0] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICBN, Rank.SPECIES());
|
|
544 |
result[0] = (BotanicalName)NonViralNameParserImpl.NewInstance().parseFullName(strName, NomenclaturalCode.ICNAFP, Rank.SPECIES());
|
|
545 | 545 |
return result; |
546 | 546 |
} |
547 | 547 |
|
548 | 548 |
|
549 | 549 |
|
550 |
private String handleDesignatedBy(TypeDesignationBase typeDesignation, String typeString) { |
|
550 |
private String handleDesignatedBy(TypeDesignationBase<?> typeDesignation, String typeString) {
|
|
551 | 551 |
String[] splitDesignated = typeString.split(", designated by "); |
552 | 552 |
if (splitDesignated.length > 1){ |
553 | 553 |
Reference designationCitation = getDesignationCitation(typeDesignation, splitDesignated[1]); |
... | ... | |
561 | 561 |
|
562 | 562 |
|
563 | 563 |
|
564 |
private Reference getDesignationCitation(TypeDesignationBase typeDesignation, String citationString) { |
|
564 |
private Reference getDesignationCitation(TypeDesignationBase<?> typeDesignation, String citationString) {
|
|
565 | 565 |
// TODO try to find an existing Reference |
566 | 566 |
Reference result = ReferenceFactory.newGeneric(); |
567 | 567 |
String strBracketPattern = "\\((10 Oct. )?\\d{4}:\\s?(\\d{1,3}(--\\d{1,3})?|[XLVI]{1,7}|\\.{1,8})\\)\\.?"; |
... | ... | |
589 | 589 |
Team team = Team.NewTitledInstance(authorPart, authorPart); |
590 | 590 |
result.setAuthorTeam(team); |
591 | 591 |
String[] bracketSplit = bracket.split(":"); |
592 |
TimePeriod datePublished = TimePeriod.parseString(bracketSplit[0].trim()); |
|
592 |
TimePeriod datePublished = TimePeriodParser.parseString(bracketSplit[0].trim());
|
|
593 | 593 |
result.setDatePublished(datePublished); |
594 | 594 |
String citationMicroReference = bracketSplit[1].trim(); |
595 | 595 |
citationMicroReference = citationMicroReference.replace("--", "-"); |
... | ... | |
657 | 657 |
if (StringUtils.isNotBlank(referenceString) || StringUtils.isNotBlank(volume) || |
658 | 658 |
StringUtils.isNotBlank(pages) || StringUtils.isNotBlank(illustrations) || |
659 | 659 |
StringUtils.isNotBlank(datePublishedString) || StringUtils.isNotBlank(paperTitle)){ |
660 |
NonViralName name = CdmBase.deproxy(taxonBase.getName(), NonViralName.class); |
|
661 |
Reference reference = ReferenceFactory.newGeneric(); |
|
662 |
reference.setAuthorTeam((TeamOrPersonBase)name.getCombinationAuthorTeam()); |
|
660 |
NonViralName<?> name = CdmBase.deproxy(taxonBase.getName(), NonViralName.class);
|
|
661 |
Reference<?> reference = ReferenceFactory.newGeneric();
|
|
662 |
reference.setAuthorTeam((TeamOrPersonBase<?>)name.getCombinationAuthorTeam());
|
|
663 | 663 |
reference.setTitle(referenceString); |
664 | 664 |
reference.setVolume(volume); |
665 | 665 |
reference.setEdition(part); |
666 |
Reference inrefernce = null; |
|
666 |
Reference<?> inrefernce = null;
|
|
667 | 667 |
//TODO parser |
668 |
TimePeriod datePublished = TimePeriod.parseString(datePublishedString); |
|
668 |
TimePeriod datePublished = TimePeriodParser.parseString(datePublishedString);
|
|
669 | 669 |
reference.setDatePublished(datePublished); |
670 | 670 |
if (StringUtils.isNotBlank(paperTitle)){ |
671 |
Reference innerReference = ReferenceFactory.newGeneric(); |
|
671 |
Reference<?> innerReference = ReferenceFactory.newGeneric();
|
|
672 | 672 |
innerReference.setDatePublished(datePublished); |
673 | 673 |
name.setNomenclaturalReference(innerReference); |
674 | 674 |
innerReference.setInReference(reference); |
Also available in: Unified diff
reintegrate cdmlib-app-3.3 branch into trunk