Revision bd45d1fc
Added by Patrick Plitzner about 6 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceTest.java | ||
---|---|---|
33 | 33 |
import eu.etaxonomy.cdm.model.agent.Person; |
34 | 34 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
35 | 35 |
import eu.etaxonomy.cdm.model.common.DefinedTerm; |
36 |
import eu.etaxonomy.cdm.model.common.IdentifiableSource; |
|
37 | 36 |
import eu.etaxonomy.cdm.model.common.Identifier; |
38 |
import eu.etaxonomy.cdm.model.common.Language; |
|
39 | 37 |
import eu.etaxonomy.cdm.model.common.TimePeriod; |
40 | 38 |
import eu.etaxonomy.cdm.model.description.DescriptionElementBase; |
41 | 39 |
import eu.etaxonomy.cdm.model.description.Feature; |
42 | 40 |
import eu.etaxonomy.cdm.model.description.IndividualsAssociation; |
43 | 41 |
import eu.etaxonomy.cdm.model.description.SpecimenDescription; |
44 | 42 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
45 |
import eu.etaxonomy.cdm.model.location.Country; |
|
46 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
|
47 |
import eu.etaxonomy.cdm.model.location.Point; |
|
48 |
import eu.etaxonomy.cdm.model.location.ReferenceSystem; |
|
49 | 43 |
import eu.etaxonomy.cdm.model.molecular.DnaSample; |
50 | 44 |
import eu.etaxonomy.cdm.model.molecular.Sequence; |
51 | 45 |
import eu.etaxonomy.cdm.model.name.IBotanicalName; |
... | ... | |
54 | 48 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
55 | 49 |
import eu.etaxonomy.cdm.model.name.TaxonNameFactory; |
56 | 50 |
import eu.etaxonomy.cdm.model.name.TypeDesignationBase; |
57 |
import eu.etaxonomy.cdm.model.occurrence.Collection; |
|
58 | 51 |
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent; |
59 | 52 |
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType; |
60 | 53 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
61 | 54 |
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; |
62 | 55 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
63 |
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent; |
|
64 |
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; |
|
65 |
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; |
|
66 | 56 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
67 | 57 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; |
68 | 58 |
import eu.etaxonomy.cdm.model.reference.Reference; |
... | ... | |
103 | 93 |
@SpringBeanByType |
104 | 94 |
private IDescriptionService descriptionService; |
105 | 95 |
|
106 |
@Test |
|
107 |
public void testGetNonCascadedAssociatedElements() { |
|
108 |
// Collection |
|
109 |
Collection collection = Collection.NewInstance(); |
|
110 |
Collection subCollection = Collection.NewInstance(); |
|
111 |
subCollection.setSuperCollection(collection); |
|
112 |
|
|
113 |
Institution institution = Institution.NewInstance(); |
|
114 |
institution |
|
115 |
.addType(DefinedTerm.NewInstitutionTypeInstance("Research and teaching", "botanical garden", "BGBM")); |
|
116 |
collection.setInstitute(institution); |
|
117 |
|
|
118 |
// Source |
|
119 |
Reference article = ReferenceFactory.newArticle(getReference(), Person.NewInstance(), "title", "pages", |
|
120 |
"series", "volume", TimePeriod.NewInstance(2014)); |
|
121 |
IdentifiableSource source = IdentifiableSource.NewPrimarySourceInstance(article, "microCitation"); |
|
122 |
|
|
123 |
// FieldUnit |
|
124 |
FieldUnit fieldUnit = FieldUnit.NewInstance(); |
|
125 |
Person primaryCollector = Person.NewInstance(); |
|
126 |
primaryCollector.setLifespan(TimePeriod.NewInstance(2014)); |
|
127 |
fieldUnit.setPrimaryCollector(primaryCollector); |
|
128 |
fieldUnit.addSource(source); |
|
129 |
|
|
130 |
// GatheringEvent |
|
131 |
GatheringEvent gatheringEvent = GatheringEvent.NewInstance(); |
|
132 |
fieldUnit.setGatheringEvent(gatheringEvent); |
|
133 |
gatheringEvent.putLocality(Language.ENGLISH(), "locality"); |
|
134 |
gatheringEvent.setExactLocation(Point.NewInstance(22.4, -34.2, |
|
135 |
ReferenceSystem.NewInstance("MyReferenceSystem", "label", "labelAbbrev"), 33)); |
|
136 |
gatheringEvent.setCountry(Country.GERMANY()); |
|
137 |
gatheringEvent.addCollectingArea(NamedArea.EUROPE()); |
|
138 |
|
|
139 |
// Derived Unit |
|
140 |
MediaSpecimen mediaSpecimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage); |
|
141 |
mediaSpecimen.setCollection(collection); |
|
142 |
TaxonName storedUnder = TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES()); |
|
143 |
mediaSpecimen.setStoredUnder(storedUnder); |
|
144 |
PreservationMethod preservation = PreservationMethod.NewInstance(null, "My preservation"); |
|
145 |
preservation.setMedium(DefinedTerm.NewDnaMarkerInstance("medium", "medium", "medium"));// dummy |
|
146 |
// defined |
|
147 |
// term |
|
148 |
mediaSpecimen.setPreservation(preservation); |
|
149 |
|
|
150 |
// DerivationEvent |
|
151 |
DerivationEvent event = DerivationEvent.NewInstance(DerivationEventType.ACCESSIONING()); |
|
152 |
event.addOriginal(fieldUnit); |
|
153 |
event.addDerivative(mediaSpecimen); |
|
154 |
|
|
155 |
// SpecOrObservationBase |
|
156 |
fieldUnit.setSex(DefinedTerm.SEX_FEMALE()); |
|
157 |
fieldUnit.setLifeStage(DefinedTerm.NewStageInstance("Live stage", "stage", null)); |
|
158 |
fieldUnit.setKindOfUnit(DefinedTerm.NewKindOfUnitInstance("Kind of unit", "Kind of unit", null)); |
|
159 |
fieldUnit.putDefinition(Language.ENGLISH(), "definition"); |
|
160 |
|
|
161 |
// Determination |
|
162 |
DeterminationEvent determinationEvent = DeterminationEvent.NewInstance(getTaxon(), mediaSpecimen); |
|
163 |
determinationEvent.setModifier(DefinedTerm.NewModifierInstance("modifierDescription", "modifierLabel", |
|
164 |
"mofifierLabelAbbrev")); |
|
165 |
determinationEvent.setPreferredFlag(true); |
|
166 |
Reference reference = getReference(); |
|
167 |
determinationEvent.addReference(reference); |
|
168 |
|
|
169 |
/* |
|
170 |
* NonCascaded SOOB - sex (FEMALE) - stage (Live stage) - kindOfUnit |
|
171 |
* (Kind of unit) GatheringEvent - country (GERMANY) - collectingArea |
|
172 |
* (EUROPE) DerivedUnit - storedUnder (botanical name) DerivedUnit-> |
|
173 |
* Collection -> institiute - type (botanical garden) |
|
174 |
*/ |
|
175 |
|
|
176 |
assertEquals("Incorrect number of non cascaded CDM entities", 9, occurrenceService |
|
177 |
.getNonCascadedAssociatedElements(fieldUnit).size()); |
|
178 |
assertEquals("Incorrect number of non cascaded CDM entities", 9, occurrenceService |
|
179 |
.getNonCascadedAssociatedElements(mediaSpecimen).size()); |
|
180 |
|
|
181 |
} |
|
182 |
|
|
183 | 96 |
private Reference getReference() { |
184 | 97 |
Reference result = ReferenceFactory.newGeneric(); |
185 | 98 |
result.setTitle("some generic reference"); |
Also available in: Unified diff
Remove unused occurrence service method