import eu.etaxonomy.cdm.model.location.Point;\r
import eu.etaxonomy.cdm.model.location.ReferenceSystem;\r
import eu.etaxonomy.cdm.model.media.AudioFile;\r
+import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;\r
import eu.etaxonomy.cdm.model.media.ImageFile;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;\r
\r
//Team\r
Team team = Team.NewTitledInstance("Team title", "Team abbrev title");\r
team.addTeamMember(person);\r
+ handleIdentifiableEntity(team);\r
+ \r
\r
//Institution\r
Institution institution = Institution.NewInstance();\r
institution.setCode("institution code");\r
institution.setName("institution name");\r
+ handleIdentifiableEntity(institution);\r
+ \r
\r
//TODO vocabulary\r
// voc = "29ad808b-3126-4274-be81-4561e7afc76f"\r
DefinedTerm instType = DefinedTerm.NewInstitutionTypeInstance("Description forthis instition type", "institution type", "inst. t.");\r
+ cdmBases.add(instType);\r
institution.addType(instType);\r
person.addInstitutionalMembership(institution, TimePeriodParser.parseString("1955-1956"), "department", "role");\r
\r
\r
cdmBases.add(person);\r
cdmBases.add(team);\r
+ cdmBases.add(institution);\r
}\r
\r
\r
\r
//Categorical data\r
State state = State.NewInstance("Test state", "state", "st.");\r
+ cdmBases.add(state);\r
CategoricalData categoricalData = CategoricalData.NewInstance(state, Feature.CONSERVATION());\r
StateData stateData = categoricalData.getStateData().get(0);\r
stateData.addModifier(DefinedTerm.SEX_FEMALE());\r
+ handleAnnotatableEntity(categoricalData);\r
+ \r
\r
- StateData stateData2 = StateData.NewInstance(State.NewInstance());\r
+ State nextState = State.NewInstance();\r
+ cdmBases.add(nextState);\r
+ StateData stateData2 = StateData.NewInstance(nextState);\r
stateData2.putModifyingText(Language.ENGLISH(), "State2 modifying text");\r
categoricalData.addStateData(stateData2);\r
- \r
- \r
categoricalData.setOrderRelevant(true);\r
\r
//Quantitative data\r
Feature leaveLength = Feature.NewInstance("Leave length description", "leave length", "l.l.");\r
+ cdmBases.add(leaveLength);\r
leaveLength.setSupportsQuantitativeData(true);\r
QuantitativeData quantitativeData = QuantitativeData.NewInstance(leaveLength);\r
MeasurementUnit measurementUnit = MeasurementUnit.NewInstance("Measurement Unit", "munit", null);\r
+ cdmBases.add(measurementUnit);\r
quantitativeData.setUnit(measurementUnit);\r
quantitativeData.setAverage((float)22.9 , null);\r
+ handleAnnotatableEntity(quantitativeData);\r
+ handleIdentifiableEntity(measurementUnit);\r
\r
\r
CommonTaxonName commonTaxonName = CommonTaxonName.NewInstance("common name", Language.ENGLISH(), Country.UNITEDSTATESOFAMERICA());\r
+ handleAnnotatableEntity(commonTaxonName);\r
\r
TextData textData = TextData.NewInstance(Feature.DIAGNOSIS());\r
textData.putModifyingText(Language.ENGLISH(), "nice diagnosis");\r
- \r
+ handleAnnotatableEntity(textData);\r
+ \r
TextFormat format = TextFormat.NewInstance("format", "format", null);\r
textData.setFormat(format);\r
+ cdmBases.add(format);\r
+ handleAnnotatableEntity(format);\r
\r
DerivedUnit specimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);\r
IndividualsAssociation indAssoc = IndividualsAssociation.NewInstance(specimen);\r
indAssoc.putDescription(Language.ENGLISH(), "description for individuals association");\r
+ handleAnnotatableEntity(indAssoc);\r
+ \r
\r
TaxonInteraction taxonInteraction = TaxonInteraction.NewInstance(Feature.HOSTPLANT());\r
taxonInteraction.putDescription(Language.ENGLISH(), "interaction description");\r
- \r
+ handleAnnotatableEntity(taxonInteraction);\r
\r
Distribution distribution = Distribution.NewInstance(Country.GERMANY(), PresenceTerm.CULTIVATED());\r
+ handleAnnotatableEntity(distribution);\r
\r
\r
Taxon taxon = getTaxon();\r
\r
taxonDescription.addScope(DefinedTerm.SEX_FEMALE());\r
taxonDescription.addGeoScope(Country.GERMANY());\r
+ handleIdentifiableEntity(taxonDescription);\r
+ \r
\r
cdmBases.add(taxon);\r
\r
Reference<?> ref = ReferenceFactory.newArticle();\r
DescriptionElementSource source = textData.addSource(OriginalSourceType.Import, "22", "taxon description table", ref, "detail");\r
source.setNameUsedInSource(BotanicalName.NewInstance(Rank.GENUS()));\r
- \r
+ handleAnnotatableEntity(source);\r
\r
\r
//Specimen description\r
SpecimenOrObservationBase<?> describedSpecimen = getSpecimen();\r
- SpecimenDescription.NewInstance(specimen);\r
+ SpecimenDescription specDesc = SpecimenDescription.NewInstance(specimen);\r
cdmBases.add(describedSpecimen);\r
+ handleAnnotatableEntity(specDesc);\r
\r
//Name description\r
TaxonNameBase<?,?> name = BotanicalName.NewInstance(Rank.GENUS());\r
- TaxonNameDescription.NewInstance(name);\r
+ TaxonNameDescription nameDesc = TaxonNameDescription.NewInstance(name);\r
cdmBases.add(name);\r
+ handleAnnotatableEntity(nameDesc);\r
+ \r
\r
//Feature Tree\r
FeatureTree featureTree = FeatureTree.NewInstance();\r
FeatureNode leaveLengthNode = FeatureNode.NewInstance(leaveLength);\r
featureTree.getRootChildren().add(descriptionFeatureNode);\r
descriptionFeatureNode.addChild(leaveLengthNode);\r
+ handleIdentifiableEntity(featureTree); \r
\r
State inapplicableState = State.NewInstance("inapplicableState", "inapplicableState", null);\r
State applicableState = State.NewInstance("only applicable state", "only applicable state", null);\r
+ cdmBases.add(applicableState);\r
+ cdmBases.add(inapplicableState);\r
leaveLengthNode.addInapplicableState(inapplicableState);\r
leaveLengthNode.addApplicableState(applicableState);\r
cdmBases.add(featureTree);\r
workingSet.addDescription(taxonDescription);\r
workingSet.setLabel("My Workingset");\r
workingSet.getDescriptiveSystem();\r
-\r
+ handleAnnotatableEntity(workingSet);\r
+ \r
\r
//polytomous keys\r
Taxon coveredTaxon = Taxon.NewInstance(name, null);\r
PolytomousKey key = PolytomousKey.NewTitledInstance("My Polykey");\r
handleIdentificationKey(key, taxon, coveredTaxon);\r
key.setStartNumber(10);\r
- \r
+ \r
\r
PolytomousKeyNode firstChildNode = PolytomousKeyNode.NewInstance("Green", "What is the leave length?", coveredTaxon, leaveLength);\r
key.getRoot().addChild(firstChildNode);\r
key.addGeographicalScope(Country.GERMANY());\r
key.addScopeRestriction(DefinedTerm.SEX_FEMALE());\r
key.addTaxonomicScope(taxon);\r
+ if (key instanceof IdentifiableEntity<?>){\r
+ handleIdentifiableEntity((IdentifiableEntity<?>)key);\r
+ }else{\r
+ handleAnnotatableEntity((AnnotatableEntity)key);\r
+ }\r
+ \r
+\r
}\r
\r
\r
media.putTitle(Language.ENGLISH(), "Media title");\r
media.setMediaCreated(DateTime.now());\r
media.putDescription(Language.ENGLISH(), "Media description");\r
+ handleIdentifiableEntity(media);\r
+ \r
\r
Person artist = Person.NewTitledInstance("artist");\r
media.setArtist(artist);\r
//Amplification\r
Amplification amplification = Amplification.NewInstance(dnaSample);\r
DefinedTerm dnaMarker = DefinedTerm.NewDnaMarkerInstance("My dna marker", "dna marker", null);\r
+ cdmBases.add(dnaMarker);\r
amplification.setDnaMarker(dnaMarker);\r
amplification.setSuccessful(true);\r
amplification.setSuccessText("Very successful");\r
+ handleAnnotatableEntity(amplification);\r
\r
Primer forwardPrimer = Primer.NewInstance("forward primer");\r
forwardPrimer.setPublishedIn(getReference());\r
forwardPrimer.setSequence(Sequence.NewInstance("my sequence"));\r
+ handleAnnotatableEntity(forwardPrimer);\r
\r
Primer reversePrimer = Primer.NewInstance("reverse primer");\r
+ handleAnnotatableEntity(reversePrimer);\r
\r
amplification.setForwardPrimer(forwardPrimer);\r
amplification.setReversePrimer(reversePrimer);\r
\r
DefinedTerm cloningMethod = DefinedTerm.NewInstance(TermType.MaterialOrMethod, "cloning method", "cloning method", null);\r
+ cdmBases.add(cloningMethod);\r
Cloning cloning = Cloning.NewInstance(cloningMethod, "My cloning method", "my strain", forwardPrimer, reversePrimer);\r
amplification.setCloning(cloning);\r
+ handleAnnotatableEntity(cloningMethod);\r
+ handleAnnotatableEntity(cloning);\r
\r
DefinedTerm purificationMethod = DefinedTerm.NewInstance(TermType.MaterialOrMethod, "purification method", "purification method", null);\r
+ cdmBases.add(purificationMethod);\r
MaterialOrMethodEvent purification = MaterialOrMethodEvent.NewInstance(purificationMethod, "purification method");\r
amplification.setPurification(purification);\r
+ handleAnnotatableEntity(purification);\r
+ handleAnnotatableEntity(purificationMethod);\r
\r
-\r
amplification.setLadderUsed("ladder");\r
amplification.setElectrophoresisVoltage(5.5);\r
amplification.setGelConcentration(2.4);\r
Media gelPhoto = Media.NewInstance();\r
amplification.setGelPhoto(gelPhoto);\r
\r
+ \r
//SingleRead\r
SingleRead singleRead = SingleRead.NewInstance();\r
+ handleAnnotatableEntity(singleRead);\r
amplification.addSingleRead(singleRead);\r
- MaterialOrMethodEvent readEvent = MaterialOrMethodEvent.NewInstance(null, "read method");\r
+ MaterialOrMethodEvent readMethod = MaterialOrMethodEvent.NewInstance(null, "read method");\r
+ singleRead.setMaterialOrMethod(readMethod);\r
+ handleAnnotatableEntity(readMethod);\r
\r
- singleRead.setMaterialOrMethod(readEvent);\r
Media pherogram = Media.NewInstance();\r
singleRead.setPherogram(pherogram);\r
\r
sequence.setHaplotype("haplotype");\r
Reference<?> sequenceCitation = getReference();\r
sequence.addCitation(sequenceCitation);\r
- \r
- \r
+ handleAnnotatableEntity(sequence);\r
+ \r
//Phylogenetic Tree\r
PhylogeneticTree phyloTree = PhylogeneticTree.NewInstance();\r
phyloTree.addUsedSequences(sequence);\r
+ handleIdentifiableEntity(phyloTree);\r
+ \r
\r
cdmBases.add(dnaSample);\r
cdmBases.add(phyloTree);\r
Reference<?> sec = getReference();\r
TaxonNameBase<?,?> name = BotanicalName.NewInstance(Rank.GENUS());\r
Taxon taxon = Taxon.NewInstance(name, sec);\r
- \r
+ handleIdentifiableEntity(taxon);\r
+\r
TaxonNameBase<?,?> synName = BotanicalName.NewInstance(Rank.GENUS());\r
Synonym syn = Synonym.NewInstance(synName, sec);\r
taxon.addSynonym(syn, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF(), \r
getReference(), "123");\r
taxon.setDoubtful(true);\r
+ handleIdentifiableEntity(syn);\r
+\r
\r
Taxon concept = Taxon.NewInstance(name, getReference());\r
- taxon.addTaxonRelation(concept, TaxonRelationshipType.CONGRUENT_TO(), \r
+ TaxonRelationship taxRel = taxon.addTaxonRelation(concept, TaxonRelationshipType.CONGRUENT_TO(), \r
sec, "444");\r
taxon.setTaxonStatusUnknown(true);\r
taxon.setUnplaced(true);\r
taxon.setExcluded(true);\r
+ handleAnnotatableEntity(taxRel);\r
+\r
\r
//Classification\r
Classification classification = Classification.NewInstance("My classification", sec);\r
TaxonNode node = classification.addChildTaxon(taxon, sec,"22");\r
- \r
+ handleIdentifiableEntity(classification);\r
+\r
Taxon childTaxon = Taxon.NewInstance(synName, sec);\r
node.addChildTaxon(childTaxon, sec, "44");\r
\r
Reference<?> journal = ReferenceFactory.newJournal();\r
reference.setInJournal(journal);\r
\r
+ handleIdentifiableEntity(reference);\r
+\r
cdmBases.add(reference);\r
\r
}\r
Collection collection = Collection.NewInstance();\r
Collection subCollection = Collection.NewInstance();\r
subCollection.setSuperCollection(collection);\r
+ handleIdentifiableEntity(collection);\r
+ handleIdentifiableEntity(subCollection);\r
+ \r
\r
collection.setCode("coll code");\r
collection.setCodeStandard("codeStandard");\r
fieldUnit.setFieldNotes("fieldNotes");\r
Person primaryCollector = Person.NewInstance();\r
fieldUnit.setPrimaryCollector(primaryCollector);\r
- \r
+ handleIdentifiableEntity(fieldUnit);\r
+\r
GatheringEvent gatheringEvent = GatheringEvent.NewInstance();\r
fieldUnit.setGatheringEvent(gatheringEvent);\r
gatheringEvent.putLocality(Language.ENGLISH(), "locality");\r
gatheringEvent.setDistanceToWaterSurface(10.4);\r
gatheringEvent.setDistanceToWaterSurfaceMax(100.3);\r
gatheringEvent.setDistanceToWaterSurfaceText("distance to water text");\r
+ handleAnnotatableEntity(gatheringEvent);\r
\r
\r
//Derived Unit\r
PreservationMethod preservation = PreservationMethod.NewInstance(null, "My preservation");\r
preservation.setTemperature(22.4);\r
mediaSpecimen.setPreservation(preservation);\r
- \r
+ handleIdentifiableEntity(mediaSpecimen);\r
+\r
//DerivationEvent\r
DerivationEvent event = DerivationEvent.NewInstance(DerivationEventType.ACCESSIONING());\r
event.addOriginal(fieldUnit);\r
event.addDerivative(mediaSpecimen);\r
- \r
+ handleAnnotatableEntity(event);\r
+\r
\r
//SpecOrObservationBase\r
fieldUnit.setSex(DefinedTerm.SEX_FEMALE());\r
- fieldUnit.setLifeStage(DefinedTerm.NewStageInstance("Live stage", "stage", null));\r
- fieldUnit.setKindOfUnit(DefinedTerm.NewKindOfUnitInstance("Kind of unit", "Kind of unit", null));\r
+ DefinedTerm lifeStage = DefinedTerm.NewStageInstance("Live stage", "stage", null);\r
+ cdmBases.add(lifeStage);\r
+ fieldUnit.setLifeStage(lifeStage);\r
+ DefinedTerm kindOfUnit = DefinedTerm.NewKindOfUnitInstance("Kind of unit", "Kind of unit", null);\r
+ cdmBases.add(kindOfUnit);\r
+ fieldUnit.setKindOfUnit(kindOfUnit);\r
fieldUnit.setIndividualCount(3);\r
fieldUnit.putDefinition(Language.ENGLISH(), "definition");\r
fieldUnit.setPublish(true);\r
- \r
+ handleIdentifiableEntity(fieldUnit);\r
+\r
//Determination\r
DeterminationEvent determinationEvent = DeterminationEvent.NewInstance(getTaxon(), mediaSpecimen);\r
determinationEvent.setModifier(DefinedTerm.DETERMINATION_MODIFIER_AFFINIS());\r
determinationEvent.setPreferredFlag(true);\r
determinationEvent.addReference(getReference());\r
- \r
+ handleAnnotatableEntity(determinationEvent);\r
+\r
cdmBases.add(fieldUnit);\r
cdmBases.add(mediaSpecimen);\r
cdmBases.add(collection);\r
BacterialName bacName = BacterialName.NewInstance(Rank.GENUS());\r
bacName.setSubGenusAuthorship("sub Genus author");\r
bacName.setNameApprobation("nameApprobation");\r
+ handleIdentifiableEntity(bacName);\r
\r
CultivarPlantName botName = CultivarPlantName.NewInstance(Rank.SUBSPECIES());\r
botName.setAnamorphic(true);\r
botName.setBasionymAuthorTeam(basionymAuthorTeam);\r
Person exBasionymAuthorTeam = Person.NewInstance();\r
botName.setExBasionymAuthorTeam(exBasionymAuthorTeam);\r
+ handleIdentifiableEntity(botName);\r
+\r
\r
ZoologicalName zooName = ZoologicalName.NewInstance(Rank.GENUS());\r
zooName.setBreed("breed");\r
zooName.setNomenclaturalReference(getReference());\r
zooName.addRelationshipFromName(botName, NameRelationshipType.LATER_HOMONYM() , "ruleConsidered");\r
zooName.addStatus(NomenclaturalStatus.NewInstance(NomenclaturalStatusType.CONSERVED(), getReference(), "p. 222"));\r
- \r
+ handleIdentifiableEntity(zooName);\r
+\r
//TypeDesignation\r
ZoologicalName speciesZooName = ZoologicalName.NewInstance(Rank.SPECIES());\r
zooName.addNameTypeDesignation(speciesZooName, getReference(), "111", "original name", \r
speciesZooName.addSpecimenTypeDesignation(getSpecimen(), SpecimenTypeDesignationStatus.HOLOTYPE(), \r
getReference(), "p,22", "original name", false, true);\r
\r
- \r
ViralName viralName = ViralName.NewInstance(Rank.GENUS());\r
viralName.setAcronym("acronym");\r
+ handleIdentifiableEntity(viralName);\r
+\r
\r
cdmBases.add(bacName);\r
cdmBases.add(botName);\r
rights.setType(RightsType.COPYRIGHT());\r
Person owner = Person.NewTitledInstance("Owner");\r
rights.setAgent(owner);\r
+ identifiableEntity.addRights(rights);\r
+ \r
+ if (identifiableEntity.isInstanceOf(IdentifiableMediaEntity.class)){\r
+ Media media = Media.NewInstance(URI.create("http://www.identifiableMedia.de"), 22, "img/jpg", "jpg");\r
+ ((IdentifiableMediaEntity<?>)identifiableEntity).addMedia(media);\r
+ }\r
\r
//source\r
IdentifiableSource source = identifiableEntity.addSource(OriginalSourceType.Import, "id", "idNamespace", \r