X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/0ecfd682cec56b0125e292c4771af43dcb9bd7ed..b3340748c1db5b24b366318365d0b2fda4dab73a:/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java diff --git a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java index a10b7d578c..07671cf6b0 100644 --- a/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java +++ b/cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/data/FullCoverageDataGenerator.java @@ -22,7 +22,6 @@ import eu.etaxonomy.cdm.model.common.AnnotatableEntity; import eu.etaxonomy.cdm.model.common.Annotation; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.Credit; -import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.EventBase; import eu.etaxonomy.cdm.model.common.Extension; import eu.etaxonomy.cdm.model.common.ExtensionType; @@ -37,18 +36,14 @@ import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; -import eu.etaxonomy.cdm.model.common.OriginalSourceType; -import eu.etaxonomy.cdm.model.common.Representation; -import eu.etaxonomy.cdm.model.common.TermType; -import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.cdm.model.description.CategoricalData; import eu.etaxonomy.cdm.model.description.CommonTaxonName; import eu.etaxonomy.cdm.model.description.DescriptionElementSource; +import eu.etaxonomy.cdm.model.description.DescriptiveDataSet; import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.FeatureNode; -import eu.etaxonomy.cdm.model.description.FeatureTree; import eu.etaxonomy.cdm.model.description.IIdentificationKey; import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.description.MeasurementUnit; @@ -68,12 +63,13 @@ import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.description.TaxonNameDescription; import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.cdm.model.description.TextFormat; -import eu.etaxonomy.cdm.model.description.WorkingSet; import eu.etaxonomy.cdm.model.location.Country; import eu.etaxonomy.cdm.model.location.NamedArea; import eu.etaxonomy.cdm.model.location.Point; import eu.etaxonomy.cdm.model.location.ReferenceSystem; import eu.etaxonomy.cdm.model.media.AudioFile; +import eu.etaxonomy.cdm.model.media.ExternalLink; +import eu.etaxonomy.cdm.model.media.ExternalLinkType; import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.media.Media; @@ -94,9 +90,6 @@ import eu.etaxonomy.cdm.model.molecular.SequenceString; import eu.etaxonomy.cdm.model.molecular.SingleRead; import eu.etaxonomy.cdm.model.molecular.SingleReadAlignment; import eu.etaxonomy.cdm.model.molecular.SingleReadAlignment.Shift; -import eu.etaxonomy.cdm.model.name.BacterialName; -import eu.etaxonomy.cdm.model.name.BotanicalName; -import eu.etaxonomy.cdm.model.name.CultivarPlantName; import eu.etaxonomy.cdm.model.name.HybridRelationship; import eu.etaxonomy.cdm.model.name.HybridRelationshipType; import eu.etaxonomy.cdm.model.name.NameRelationship; @@ -106,11 +99,11 @@ import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; import eu.etaxonomy.cdm.model.name.Rank; +import eu.etaxonomy.cdm.model.name.Registration; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; -import eu.etaxonomy.cdm.model.name.TaxonNameBase; -import eu.etaxonomy.cdm.model.name.ViralName; -import eu.etaxonomy.cdm.model.name.ZoologicalName; +import eu.etaxonomy.cdm.model.name.TaxonName; +import eu.etaxonomy.cdm.model.name.TaxonNameFactory; import eu.etaxonomy.cdm.model.occurrence.Collection; import eu.etaxonomy.cdm.model.occurrence.DerivationEvent; import eu.etaxonomy.cdm.model.occurrence.DerivationEventType; @@ -123,16 +116,23 @@ import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.cdm.model.reference.OriginalSourceType; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.reference.ReferenceFactory; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.Synonym; -import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; -import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType; +import eu.etaxonomy.cdm.model.taxon.SynonymType; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; +import eu.etaxonomy.cdm.model.term.DefinedTerm; +import eu.etaxonomy.cdm.model.term.Representation; +import eu.etaxonomy.cdm.model.term.TermTree; +import eu.etaxonomy.cdm.model.term.TermTreeNode; +import eu.etaxonomy.cdm.model.term.TermType; +import eu.etaxonomy.cdm.model.term.TermVocabulary; import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser; /** @@ -147,7 +147,7 @@ import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser; * depend on general parameter than concrete data values. * * @author a.mueller - * @created 3013-12-02 + * @since 3013-12-02 * * */ @@ -155,7 +155,7 @@ public class FullCoverageDataGenerator { public void fillWithData(Session session){ - List cdmBases = new ArrayList(); + List cdmBases = new ArrayList<>(); createAgents(cdmBases); @@ -183,7 +183,7 @@ public class FullCoverageDataGenerator { private void createSupplemental(List cdmBases) { - Reference ref = ReferenceFactory.newBook(); + Reference ref = ReferenceFactory.newBook(); Annotation annotation = Annotation.NewDefaultLanguageInstance("annotation"); ref.addAnnotation(annotation); @@ -200,7 +200,7 @@ public class FullCoverageDataGenerator { //Others try { LSIDAuthority lsidAuthority = new LSIDAuthority("My authority"); - lsidAuthority.addNamespace("lsidNamespace", TaxonNameBase.class); + lsidAuthority.addNamespace("lsidNamespace", TaxonName.class); cdmBases.add(lsidAuthority); } catch (MalformedLSIDException e) { e.printStackTrace(); @@ -225,8 +225,8 @@ public class FullCoverageDataGenerator { private void createAgents(List cdmBases) { //Person Person person = Person.NewTitledInstance("Person Title"); - person.setFirstname("first name"); - person.setLastname("last name"); + person.setGivenName("first name"); + person.setFamilyName("last name"); person.setLifespan(TimePeriodParser.parseString("1905-1995")); person.setPrefix("prefix"); person.setSuffix("suffix"); @@ -342,7 +342,7 @@ public class FullCoverageDataGenerator { Taxon referencedTaxon = getTaxon(); cdmBases.add(referencedTaxon); - languageString.addIntextReference(IntextReference.NewTaxonInstance(referencedTaxon, languageString, 2, 5)); + languageString.addIntextReference(IntextReference.NewInstance(referencedTaxon, languageString, 2, 5)); textData.putModifyingText(eng, "nice diagnosis"); handleAnnotatableEntity(textData); handleAnnotatableEntity(languageString); @@ -387,9 +387,12 @@ public class FullCoverageDataGenerator { textData.addModifier(DefinedTerm.SEX_HERMAPHRODITE()); textData.putModifyingText(Language.ENGLISH(), "no modification"); textData.setTimeperiod(TimePeriodParser.parseString("1970-1980")); - Reference ref = ReferenceFactory.newArticle(); + Reference ref = ReferenceFactory.newArticle(); DescriptionElementSource source = textData.addSource(OriginalSourceType.Import, "22", "taxon description table", ref, "detail"); - source.setNameUsedInSource(BotanicalName.NewInstance(Rank.GENUS())); + source.setNameUsedInSource(TaxonNameFactory.NewBotanicalInstance(Rank.GENUS())); + ExternalLink link = ExternalLink.NewInstance(ExternalLinkType.WebSite, + URI.create("http://wwww.abd.de"), "Somehow useful link", 445); + source.addLink(link); handleAnnotatableEntity(source); taxonDescription.addDescriptionSource(ref); @@ -402,19 +405,17 @@ public class FullCoverageDataGenerator { handleAnnotatableEntity(specDesc); //Name description - TaxonNameBase name = BotanicalName.NewInstance(Rank.GENUS()); + TaxonName name = TaxonNameFactory.NewBotanicalInstance(Rank.GENUS()); TaxonNameDescription nameDesc = TaxonNameDescription.NewInstance(name); cdmBases.add(name); handleAnnotatableEntity(nameDesc); //Feature Tree - FeatureTree featureTree = FeatureTree.NewInstance(); + TermTree featureTree = TermTree.NewInstance(); // featureTree - FeatureNode descriptionFeatureNode = FeatureNode.NewInstance(Feature.DESCRIPTION()); - FeatureNode leaveLengthNode = FeatureNode.NewInstance(leaveLength); - featureTree.getRootChildren().add(descriptionFeatureNode); - descriptionFeatureNode.addChild(leaveLengthNode); + TermTreeNode descriptionFeatureNode = featureTree.getRoot().addChild(Feature.DESCRIPTION()); + TermTreeNode leaveLengthNode = descriptionFeatureNode.addChild(leaveLength); handleIdentifiableEntity(featureTree); State inapplicableState = State.NewInstance("inapplicableState", "inapplicableState", null); @@ -427,11 +428,20 @@ public class FullCoverageDataGenerator { cdmBases.add(leaveLengthNode); - WorkingSet workingSet = WorkingSet.NewInstance(); - workingSet.addDescription(taxonDescription); - workingSet.setLabel("My Workingset"); - workingSet.getDescriptiveSystem(); - handleAnnotatableEntity(workingSet); + //DescriptiveDataSet + DescriptiveDataSet descriptiveDataSet = DescriptiveDataSet.NewInstance(); + descriptiveDataSet.addDescription(taxonDescription); + descriptiveDataSet.setLabel("My Descriptive Dataset"); + descriptiveDataSet.getDescriptiveSystem(); + handleAnnotatableEntity(descriptiveDataSet); + descriptiveDataSet.addGeoFilterArea(Country.GERMANY()); + Classification classification = Classification.NewInstance("DescriptiveDataSet subtree classification"); + Taxon subTreeTaxon = getTaxon(); + TaxonNode subtree = classification.addChildTaxon(subTreeTaxon, null, null); + descriptiveDataSet.addTaxonSubtree(subtree); + + cdmBases.add(classification); + cdmBases.add(subtree); //polytomous keys @@ -500,7 +510,7 @@ public class FullCoverageDataGenerator { media.addRepresentation(mediaRepresentation); media.putTitle(Language.ENGLISH(), "Media title"); - media.setMediaCreated(DateTime.now()); + media.setMediaCreated(TimePeriod.NewInstance(DateTime.now())); media.putDescription(Language.ENGLISH(), "Media description"); handleIdentifiableEntity(media); @@ -596,7 +606,7 @@ public class FullCoverageDataGenerator { sequence.setGeneticAccessionNumber("GenNO12345"); sequence.setBoldProcessId("boldId"); sequence.setHaplotype("haplotype"); - Reference sequenceCitation = getReference(); + Reference sequenceCitation = getReference(); sequence.addCitation(sequenceCitation); handleAnnotatableEntity(sequence); @@ -626,17 +636,15 @@ public class FullCoverageDataGenerator { private void createTaxon(List cdmBases) { - Reference sec = getReference(); - TaxonNameBase name = BotanicalName.NewInstance(Rank.GENUS()); + Reference sec = getReference(); + TaxonName name = TaxonNameFactory.NewBotanicalInstance(Rank.GENUS()); Taxon taxon = Taxon.NewInstance(name, sec); handleIdentifiableEntity(taxon); - TaxonNameBase synName = BotanicalName.NewInstance(Rank.GENUS()); - Synonym syn = Synonym.NewInstance(synName, sec); - SynonymRelationship synRel = taxon.addSynonym(syn, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF(), - getReference(), "123"); + TaxonName synName = TaxonNameFactory.NewBotanicalInstance(Rank.GENUS()); + Synonym syn = Synonym.NewInstance(synName, sec, "123"); + taxon.addSynonym(syn, SynonymType.HETEROTYPIC_SYNONYM_OF()); taxon.setDoubtful(true); - handleAnnotatableEntity(synRel); handleIdentifiableEntity(syn); @@ -644,8 +652,6 @@ public class FullCoverageDataGenerator { TaxonRelationship taxRel = taxon.addTaxonRelation(concept, TaxonRelationshipType.CONGRUENT_TO(), sec, "444"); taxon.setTaxonStatusUnknown(true); - taxon.setUnplaced(true); - taxon.setExcluded(true); handleAnnotatableEntity(taxRel); @@ -656,18 +662,25 @@ public class FullCoverageDataGenerator { classification.addGeoScope(Country.GERMANY()); classification.putDescription(Language.ENGLISH(), "An interesting classification"); - TaxonNode node = classification.addChildTaxon(taxon, sec,"22"); handleIdentifiableEntity(classification); handleAnnotatableEntity(node); + node.putExcludedNote(Language.DEFAULT(), "Excluded note"); + DefinedTerm agentRelationType = DefinedTerm.NewTaxonNodeAgentRelationTypeInstance(null, "agentRelation", "ar"); + Person agent = Person.NewTitledInstance("Related agent"); + TaxonNodeAgentRelation agentRelation = node.addAgentRelation(agentRelationType, agent); + handleAnnotatableEntity(agentRelation); Taxon childTaxon = Taxon.NewInstance(synName, sec); node.addChildTaxon(childTaxon, sec, "44"); + node.setUnplaced(true); + node.setExcluded(true); cdmBases.add(taxon); cdmBases.add(concept); cdmBases.add(childTaxon); cdmBases.add(classification); + cdmBases.add(agentRelationType); } @@ -676,12 +689,12 @@ public class FullCoverageDataGenerator { private void createReference(List cdmBases) { - Reference reference = ReferenceFactory.newArticle(); + Reference reference = ReferenceFactory.newArticle(); Person author = Person.NewTitledInstance("Author team"); reference.setAuthorship(author); reference.setTitle("ref title"); reference.setAbbrevTitle("abbrev title"); - reference.setDatePublished(TimePeriodParser.parseString("1999")); + reference.setDatePublished(TimePeriodParser.parseStringVerbatim("1999")); reference.setEdition("edition"); reference.setEditor("editor"); Institution institution = Institution.NewInstance(); @@ -701,7 +714,7 @@ public class FullCoverageDataGenerator { reference.setVolume("vol. 3"); reference.setUri(URI.create("http://rer.abc.de")); - Reference journal = ReferenceFactory.newJournal(); + Reference journal = ReferenceFactory.newJournal(); reference.setInJournal(journal); handleIdentifiableEntity(reference); @@ -767,7 +780,7 @@ public class FullCoverageDataGenerator { mediaSpecimen.setAccessionNumber("accessionNumber"); // mediaSpecimen.setCollectorsNumber("collectorsNumber"); mediaSpecimen.setBarcode("barcode"); - BotanicalName storedUnder = BotanicalName.NewInstance(Rank.SPECIES()); + TaxonName storedUnder = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES()); storedUnder.setTitleCache("Stored under", true); mediaSpecimen.setStoredUnder(storedUnder); mediaSpecimen.setExsiccatum("exsiccatum"); @@ -786,7 +799,6 @@ public class FullCoverageDataGenerator { handleAnnotatableEntity(event); handleEventBase(event); - //SpecOrObservationBase fieldUnit.setSex(DefinedTerm.SEX_FEMALE()); DefinedTerm lifeStage = DefinedTerm.NewStageInstance("Live stage", "stage", null); @@ -795,7 +807,7 @@ public class FullCoverageDataGenerator { DefinedTerm kindOfUnit = DefinedTerm.NewKindOfUnitInstance("Kind of unit", "Kind of unit", null); cdmBases.add(kindOfUnit); fieldUnit.setKindOfUnit(kindOfUnit); - fieldUnit.setIndividualCount(3); + fieldUnit.setIndividualCount("3"); fieldUnit.putDefinition(Language.ENGLISH(), "definition"); fieldUnit.setPublish(true); handleIdentifiableEntity(fieldUnit); @@ -815,12 +827,12 @@ public class FullCoverageDataGenerator { private void createTaxonName(List cdmBases) { - BacterialName bacName = BacterialName.NewInstance(Rank.GENUS()); + TaxonName bacName = TaxonNameFactory.NewBacterialInstance(Rank.GENUS()); bacName.setSubGenusAuthorship("sub Genus author"); bacName.setNameApprobation("nameApprobation"); handleIdentifiableEntity(bacName); - CultivarPlantName botName = CultivarPlantName.NewInstance(Rank.SUBSPECIES()); + TaxonName botName = TaxonNameFactory.NewCultivarInstance(Rank.SUBSPECIES()); botName.setAnamorphic(true); botName.setCultivarName("cultivarName"); botName.setGenusOrUninomial("Genus"); @@ -837,13 +849,13 @@ public class FullCoverageDataGenerator { botName.setExBasionymAuthorship(exBasionymAuthorship); handleIdentifiableEntity(botName); handleAnnotatableEntity(botName.getHomotypicalGroup()); - BotanicalName botName2 = BotanicalName.NewInstance(Rank.SPECIES()); + TaxonName botName2 = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES()); HybridRelationship hybridRel = botName2.addHybridChild(botName, HybridRelationshipType.FIRST_PARENT(), "Rule 1.2.3"); hybridRel.setCitation(ReferenceFactory.newBook()); hybridRel.setCitationMicroReference("p. 123"); handleAnnotatableEntity(hybridRel); - ZoologicalName zooName = ZoologicalName.NewInstance(Rank.GENUS()); + TaxonName zooName = TaxonNameFactory.NewZoologicalInstance(Rank.GENUS()); zooName.setBreed("breed"); zooName.setPublicationYear(1922); zooName.setOriginalPublicationYear(1987); @@ -859,7 +871,7 @@ public class FullCoverageDataGenerator { handleIdentifiableEntity(zooName); //TypeDesignation - ZoologicalName speciesZooName = ZoologicalName.NewInstance(Rank.SPECIES()); + TaxonName speciesZooName = TaxonNameFactory.NewZoologicalInstance(Rank.SPECIES()); NameTypeDesignation nameDesig = zooName.addNameTypeDesignation(speciesZooName, getReference(), "111", "original name", NameTypeDesignationStatus.AUTOMATIC(), true, true, true, true); handleAnnotatableEntity(nameDesig); @@ -867,15 +879,28 @@ public class FullCoverageDataGenerator { getReference(), "p,22", "original name", false, true); handleAnnotatableEntity(specimenDesig); - ViralName viralName = ViralName.NewInstance(Rank.GENUS()); + TaxonName viralName = TaxonNameFactory.NewViralInstance(Rank.GENUS()); viralName.setAcronym("acronym"); handleIdentifiableEntity(viralName); - + //Registration + Registration registration = Registration.NewInstance("registration identifier", + "specificIdentifier", speciesZooName, null); + registration.addTypeDesignation(specimenDesig); + registration.setRegistrationDate(DateTime.now()); + Registration blockingRegistration = Registration.NewInstance(); + registration.addBlockedBy(blockingRegistration); + registration.setInstitution(Institution.NewInstance()); + User submitter = User.NewInstance("submitter", "12345"); + registration.setSubmitter(submitter); + handleAnnotatableEntity(registration);; + + cdmBases.add(submitter); cdmBases.add(bacName); cdmBases.add(botName); cdmBases.add(viralName); cdmBases.add(zooName); + cdmBases.add(botName2); } private void handleEventBase(EventBase event){ @@ -938,8 +963,8 @@ public class FullCoverageDataGenerator { } - private Reference getReference() { - Reference result = ReferenceFactory.newGeneric(); + private Reference getReference() { + Reference result = ReferenceFactory.newGeneric(); result.setTitle("some generic reference"); return result; } @@ -953,8 +978,8 @@ public class FullCoverageDataGenerator { private Taxon getTaxon() { - Reference sec = getReference(); - TaxonNameBase name = BotanicalName.NewInstance(Rank.GENUS()); + Reference sec = getReference(); + TaxonName name = TaxonNameFactory.NewBotanicalInstance(Rank.GENUS()); Taxon taxon = Taxon.NewInstance(name, sec); return taxon;