Revision 7426d467
Added by Patrick Plitzner almost 6 years ago
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceTest.java | ||
---|---|---|
16 | 16 |
import static org.junit.Assert.assertTrue; |
17 | 17 |
|
18 | 18 |
import java.io.FileNotFoundException; |
19 |
import java.util.Collections; |
|
19 | 20 |
import java.util.List; |
20 | 21 |
import java.util.Set; |
21 | 22 |
import java.util.UUID; |
23 |
import java.util.stream.Collectors; |
|
22 | 24 |
|
23 | 25 |
import org.apache.log4j.Logger; |
24 | 26 |
import org.junit.Test; |
... | ... | |
57 | 59 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; |
58 | 60 |
import eu.etaxonomy.cdm.model.reference.Reference; |
59 | 61 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
62 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
|
60 | 63 |
import eu.etaxonomy.cdm.model.taxon.Synonym; |
61 | 64 |
import eu.etaxonomy.cdm.model.taxon.SynonymType; |
62 | 65 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
63 | 66 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
67 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
68 |
import eu.etaxonomy.cdm.persistence.dto.SpecimenNodeWrapper; |
|
64 | 69 |
import eu.etaxonomy.cdm.persistence.query.AssignmentStatus; |
65 | 70 |
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest; |
66 | 71 |
import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy; |
... | ... | |
84 | 89 |
@SpringBeanByType |
85 | 90 |
private ITaxonService taxonService; |
86 | 91 |
|
92 |
@SpringBeanByType |
|
93 |
private ITaxonNodeService taxonNodeService; |
|
94 |
|
|
95 |
@SpringBeanByType |
|
96 |
private IClassificationService classificationService; |
|
97 |
|
|
87 | 98 |
@SpringBeanByType |
88 | 99 |
private INameService nameService; |
89 | 100 |
|
... | ... | |
1149 | 1160 |
|
1150 | 1161 |
} |
1151 | 1162 |
|
1163 |
@Test |
|
1164 |
@DataSet(loadStrategy = CleanSweepInsertLoadStrategy.class, value = "OccurrenceServiceTest-testAllKindsOfSpecimenAssociations.xml") |
|
1165 |
public void testListUuidAndTitleCacheByAssociatedTaxon() { |
|
1166 |
UUID taxonNodeUuid = UUID.fromString("6b8b6ff9-66e4-4496-8e5a-7d03bdf9a076"); |
|
1167 |
/** |
|
1168 |
* Structure is as follows: |
|
1169 |
* |
|
1170 |
* Taxon ----IndividualsAssociation---> DnaSample |
|
1171 |
* Taxon ----TypeDesignation---> Fossil |
|
1172 |
* Taxon ----Determination ---> PreservedSpecimenA |
|
1173 |
* |
|
1174 |
* Taxon ---> Taxon Name ----Determination ---> PreservedSpecimenB |
|
1175 |
* |
|
1176 |
* Taxon ---> Synonym ---> SynonymName ----Determination---> PreservedSpecimenC |
|
1177 |
* |
|
1178 |
* Orphan Name (not associated with any taxon) ----Determination ---> PreservedSpecimenD |
|
1179 |
*/ |
|
1180 |
|
|
1181 |
//UUIDS |
|
1182 |
UUID derivedUnitDeterminationTaxonUuid = UUID.fromString("941b8b22-1925-4b91-8ff8-97114499bb22"); |
|
1183 |
UUID derivedUnitDeterminationNameUuid = UUID.fromString("0cdc7a57-6f55-45c8-b3e5-523748c381e7"); |
|
1184 |
|
|
1185 |
UUID derivedUnitDeterminationSynonymUuid = UUID.fromString("8eb94a7d-c802-49a7-bc10-c26de20a52c2"); |
|
1186 |
UUID derivedUnitDeterminationSynonymNameUuid = UUID.fromString("d940a940-8caf-4a52-b1d8-ba4aad7ddae2"); |
|
1187 |
|
|
1188 |
UUID derivedUnitDeterminationOrphanNameUuid = UUID.fromString("587b7297-7d59-4f59-8ef3-c7a559cadeca"); |
|
1189 |
|
|
1190 |
UUID tissueUuidNoAssociationUuid = UUID.fromString("93e94260-5107-4b2c-9ce4-da9e1a4e7cb9"); |
|
1191 |
UUID dnaSampleUuidIndividualsAssociationUuid = UUID.fromString("1fb53903-c9b9-4078-8297-5b86aec7fe21"); |
|
1192 |
UUID fossilTypeDesignationUuid = UUID.fromString("42ec8dcf-a923-4256-bbd5-b0d10f4de5e2"); |
|
1193 |
|
|
1194 |
UUID taxonUuid = UUID.fromString("07cc47a5-1a63-46a1-8366-0d59d2b90d5b"); |
|
1195 |
UUID synoymUuid = UUID.fromString("c16bcd9b-7d18-4fb5-af60-f9ef14c1d3a9"); |
|
1196 |
|
|
1197 |
UUID taxonNameUuid = UUID.fromString("e59b95c0-9ad6-48be-af62-a982ba72b917"); |
|
1198 |
UUID synonymNameUuid = UUID.fromString("39f04b2a-b8bd-46e8-9102-ab665c64ec8e"); |
|
1199 |
UUID orphanNameUuid = UUID.fromString("d8e56365-3ad9-4b0e-88bf-acaaab223a9b"); |
|
1200 |
|
|
1201 |
/* |
|
1202 |
* search for taxon node |
|
1203 |
* should retrieve all specimens associated via |
|
1204 |
* - type designations (fossil) |
|
1205 |
* - individuals associations (dnaSample) |
|
1206 |
* - determinations on |
|
1207 |
* - taxon (specimenA) |
|
1208 |
* - taxon name (specimenA, specimenB) |
|
1209 |
*/ |
|
1210 |
FindOccurrencesConfigurator config = new FindOccurrencesConfigurator(); |
|
1211 |
config.setAssociatedTaxonUuid(taxonUuid); |
|
1212 |
List<SpecimenNodeWrapper> specimens = occurrenceService |
|
1213 |
.listUuidAndTitleCacheByAssociatedTaxon(Collections.singletonList(taxonNodeUuid), null, null, null); |
|
1214 |
List<UUID> uuidList = specimens.stream().map(specimen -> |
|
1215 |
specimen.getUuidAndTitleCache().getUuid()).collect(Collectors.toList()); |
|
1216 |
assertTrue(uuidList.contains(derivedUnitDeterminationNameUuid)); |
|
1217 |
assertTrue(uuidList.contains(derivedUnitDeterminationTaxonUuid)); |
|
1218 |
assertFalse(uuidList.contains(derivedUnitDeterminationSynonymNameUuid)); |
|
1219 |
assertTrue(uuidList.contains(dnaSampleUuidIndividualsAssociationUuid)); |
|
1220 |
assertTrue(uuidList.contains(fossilTypeDesignationUuid)); |
|
1221 |
assertFalse(uuidList.contains(tissueUuidNoAssociationUuid)); |
|
1222 |
assertFalse(uuidList.contains(derivedUnitDeterminationOrphanNameUuid)); |
|
1223 |
assertEquals("Wrong number of associated specimens", 4, specimens.size()); |
|
1224 |
} |
|
1225 |
|
|
1152 | 1226 |
/** |
1153 | 1227 |
* This will test the retrieval of specimens that are in any way associated |
1154 | 1228 |
* with a taxon resp. taxon name via type designation, determination event |
1155 | 1229 |
* or individuals associations. It will also consider synonym relationships. |
1156 | 1230 |
*/ |
1157 | 1231 |
@Test |
1158 |
@DataSet(loadStrategy = CleanSweepInsertLoadStrategy.class, value = "OccurrenceServiceTest.testAllKindsOfSpecimenAssociations.xml")
|
|
1232 |
@DataSet(loadStrategy = CleanSweepInsertLoadStrategy.class, value = "OccurrenceServiceTest-testAllKindsOfSpecimenAssociations.xml")
|
|
1159 | 1233 |
public void testAllKindsOfSpecimenAssociations() { |
1160 | 1234 |
|
1161 | 1235 |
/** |
... | ... | |
1298 | 1372 |
assertTrue(specimens.contains(derivedUnitDeterminationOrphanName)); |
1299 | 1373 |
assertEquals("Wrong number of associated specimens", 1, specimens.size()); |
1300 | 1374 |
|
1301 |
// //DERIVATIVES |
|
1302 |
// //determination: taxon |
|
1303 |
// DerivedUnit derivedUnitDeterminationTaxon = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1304 |
// derivedUnitDeterminationTaxon.setTitleCache("Derived Unit determined as taxon"); |
|
1305 |
// //determination: taxon name |
|
1306 |
// DerivedUnit derivedUnitDeterminationName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1307 |
// derivedUnitDeterminationName.setTitleCache("Derived Unit determined as name"); |
|
1308 |
// //determination: synonym |
|
1309 |
// DerivedUnit derivedUnitDeterminationSynonym = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1310 |
// derivedUnitDeterminationSynonym.setTitleCache("Derived Unit determined as synonym"); |
|
1311 |
// //determination: synonym name |
|
1312 |
// DerivedUnit derivedUnitDeterminationSynonymName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1313 |
// derivedUnitDeterminationSynonymName.setTitleCache("Derived Unit determined as synonym name"); |
|
1314 |
// //determination: orphan name |
|
1315 |
// DerivedUnit derivedUnitDeterminationOrphanName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1316 |
// derivedUnitDeterminationOrphanName.setTitleCache("Derived Unit determined as orphan name"); |
|
1317 |
// //no association |
|
1318 |
// DerivedUnit tissueUuidNoAssociation = DerivedUnit.NewInstance(SpecimenOrObservationType.TissueSample); |
|
1319 |
// tissueUuidNoAssociation.setTitleCache("tissue sample no association"); |
|
1320 |
// //individuals association with taxon |
|
1321 |
// DerivedUnit dnaSampleUuidIndividualsAssociation = DerivedUnit.NewInstance(SpecimenOrObservationType.DnaSample); |
|
1322 |
// dnaSampleUuidIndividualsAssociation.setTitleCache("dna associated via IndividualsAssociation"); |
|
1323 |
// //type specimen of taxon |
|
1324 |
// DerivedUnit fossilTypeDesignation = DerivedUnit.NewInstance(SpecimenOrObservationType.Fossil); |
|
1325 |
// fossilTypeDesignation.setTitleCache("Fossil with type designation"); |
|
1326 |
// |
|
1327 |
// derivedUnitDeterminationTaxon.setUuid(derivedUnitDeterminationTaxonUuid); |
|
1328 |
// derivedUnitDeterminationName.setUuid(derivedUnitDeterminationNameUuid); |
|
1329 |
// derivedUnitDeterminationSynonym.setUuid(derivedUnitDeterminationSynonymUuid); |
|
1330 |
// derivedUnitDeterminationSynonymName.setUuid(derivedUnitDeterminationSynonymNameUuid); |
|
1331 |
// derivedUnitDeterminationOrphanName.setUuid(derivedUnitDeterminationOrphanNameUuid); |
|
1332 |
// tissueUuidNoAssociation.setUuid(tissueUuidNoAssociationUuid); |
|
1333 |
// dnaSampleUuidIndividualsAssociation.setUuid(dnaSampleUuidIndividualsAssociationUuid); |
|
1334 |
// fossilTypeDesignation.setUuid(fossilTypeDesignationUuid); |
|
1335 |
// |
|
1336 |
// occurrenceService.save(derivedUnitDeterminationTaxon); |
|
1337 |
// occurrenceService.save(derivedUnitDeterminationName); |
|
1338 |
// occurrenceService.save(derivedUnitDeterminationSynonym); |
|
1339 |
// occurrenceService.save(derivedUnitDeterminationSynonymName); |
|
1340 |
// occurrenceService.save(derivedUnitDeterminationOrphanName); |
|
1341 |
// occurrenceService.save(tissueUuidNoAssociation); |
|
1342 |
// occurrenceService.save(dnaSampleUuidIndividualsAssociation); |
|
1343 |
// occurrenceService.save(fossilTypeDesignation); |
|
1344 |
// |
|
1345 |
// //NAMES |
|
1346 |
// BotanicalName taxonName = BotanicalName.PARSED_NAME("Campanula patual"); |
|
1347 |
// BotanicalName synonymName = BotanicalName.PARSED_NAME("Syno nyma"); |
|
1348 |
// BotanicalName orphanName = BotanicalName.PARSED_NAME("Orphanus lonelia"); |
|
1349 |
// taxonName.setUuid(taxonNameUuid); |
|
1350 |
// synonymName.setUuid(synonymNameUuid); |
|
1351 |
// orphanName.setUuid(orphanNameUuid); |
|
1352 |
// |
|
1353 |
// //TAXON |
|
1354 |
// Taxon taxon = Taxon.NewInstance(taxonName, null); |
|
1355 |
// taxon.setUuid(taxonUuid); |
|
1356 |
// |
|
1357 |
// //SYNONYM |
|
1358 |
// Synonym synonym = Synonym.NewInstance(synonymName, null); |
|
1359 |
// synonym.setUuid(synoymUuid); |
|
1360 |
// taxon.addSynonym(synonym, SynonymType.HOMOTYPIC_SYNONYM_OF()); |
|
1361 |
// |
|
1362 |
// //IndividualsAssociation |
|
1363 |
// TaxonDescription taxonDescription = TaxonDescription.NewInstance(); |
|
1364 |
// IndividualsAssociation association = IndividualsAssociation.NewInstance(dnaSampleUuidIndividualsAssociation); |
|
1365 |
// association.setFeature(Feature.SPECIMEN()); |
|
1366 |
// taxonDescription.addElement(association); |
|
1367 |
// taxon.addDescription(taxonDescription); |
|
1368 |
// |
|
1369 |
// //DETERMINATION EVENTS |
|
1370 |
// DeterminationEvent.NewInstance(taxon, derivedUnitDeterminationTaxon); |
|
1371 |
// DeterminationEvent.NewInstance(taxonName, derivedUnitDeterminationName); |
|
1372 |
//// DeterminationEvent.NewInstance(synonym, derivedUnitDeterminationSynonym);//TODO determinationa on synonym not possible? |
|
1373 |
// DeterminationEvent.NewInstance(synonymName, derivedUnitDeterminationSynonymName); |
|
1374 |
// DeterminationEvent.NewInstance(orphanName, derivedUnitDeterminationOrphanName); |
|
1375 |
// |
|
1376 |
// //type designation |
|
1377 |
// SpecimenTypeDesignation specimenTypeDesignation = SpecimenTypeDesignation.NewInstance(); |
|
1378 |
// specimenTypeDesignation.setTypeSpecimen(fossilTypeDesignation); |
|
1379 |
// taxonName.addTypeDesignation(specimenTypeDesignation, false); |
|
1380 |
// |
|
1381 |
// taxonService.saveOrUpdate(taxon); |
|
1382 |
// |
|
1383 |
// commitAndStartNewTransaction(null); |
|
1384 |
// |
|
1385 |
// setComplete(); |
|
1386 |
// endTransaction(); |
|
1387 |
// |
|
1388 |
// |
|
1389 |
// try { |
|
1390 |
// writeDbUnitDataSetFile(new String[] { |
|
1391 |
// "SpecimenOrObservationBase", |
|
1392 |
// "SpecimenOrObservationBase_DerivationEvent", |
|
1393 |
// "DerivationEvent", |
|
1394 |
// "DescriptionElementBase", |
|
1395 |
// "DescriptionBase", |
|
1396 |
// "TaxonBase", |
|
1397 |
// "TypeDesignationBase", |
|
1398 |
// "TaxonName", |
|
1399 |
// "TaxonName_TypeDesignationBase", |
|
1400 |
// "HomotypicalGroup", |
|
1401 |
// "TeamOrPersonBase", |
|
1402 |
// "DeterminationEvent" |
|
1403 |
// }, "testAllKindsOfSpecimenAssociations"); |
|
1404 |
// } catch (FileNotFoundException e) { |
|
1405 |
// e.printStackTrace(); |
|
1406 |
// } |
|
1375 |
// //DERIVATIVES |
|
1376 |
// //determination: taxon |
|
1377 |
// DerivedUnit derivedUnitDeterminationTaxon = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1378 |
// derivedUnitDeterminationTaxon.setTitleCache("Derived Unit determined as taxon"); |
|
1379 |
// //determination: taxon name |
|
1380 |
// DerivedUnit derivedUnitDeterminationName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1381 |
// derivedUnitDeterminationName.setTitleCache("Derived Unit determined as name"); |
|
1382 |
// //determination: synonym |
|
1383 |
// DerivedUnit derivedUnitDeterminationSynonym = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1384 |
// derivedUnitDeterminationSynonym.setTitleCache("Derived Unit determined as synonym"); |
|
1385 |
// //determination: synonym name |
|
1386 |
// DerivedUnit derivedUnitDeterminationSynonymName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1387 |
// derivedUnitDeterminationSynonymName.setTitleCache("Derived Unit determined as synonym name"); |
|
1388 |
// //determination: orphan name |
|
1389 |
// DerivedUnit derivedUnitDeterminationOrphanName = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
1390 |
// derivedUnitDeterminationOrphanName.setTitleCache("Derived Unit determined as orphan name"); |
|
1391 |
// //no association |
|
1392 |
// DerivedUnit tissueUuidNoAssociation = DerivedUnit.NewInstance(SpecimenOrObservationType.TissueSample); |
|
1393 |
// tissueUuidNoAssociation.setTitleCache("tissue sample no association"); |
|
1394 |
// //individuals association with taxon |
|
1395 |
// DerivedUnit dnaSampleUuidIndividualsAssociation = DerivedUnit.NewInstance(SpecimenOrObservationType.DnaSample); |
|
1396 |
// dnaSampleUuidIndividualsAssociation.setTitleCache("dna associated via IndividualsAssociation"); |
|
1397 |
// //type specimen of taxon |
|
1398 |
// DerivedUnit fossilTypeDesignation = DerivedUnit.NewInstance(SpecimenOrObservationType.Fossil); |
|
1399 |
// fossilTypeDesignation.setTitleCache("Fossil with type designation"); |
|
1400 |
// |
|
1401 |
// derivedUnitDeterminationTaxon.setUuid(derivedUnitDeterminationTaxonUuid); |
|
1402 |
// derivedUnitDeterminationName.setUuid(derivedUnitDeterminationNameUuid); |
|
1403 |
// derivedUnitDeterminationSynonym.setUuid(derivedUnitDeterminationSynonymUuid); |
|
1404 |
// derivedUnitDeterminationSynonymName.setUuid(derivedUnitDeterminationSynonymNameUuid); |
|
1405 |
// derivedUnitDeterminationOrphanName.setUuid(derivedUnitDeterminationOrphanNameUuid); |
|
1406 |
// tissueUuidNoAssociation.setUuid(tissueUuidNoAssociationUuid); |
|
1407 |
// dnaSampleUuidIndividualsAssociation.setUuid(dnaSampleUuidIndividualsAssociationUuid); |
|
1408 |
// fossilTypeDesignation.setUuid(fossilTypeDesignationUuid); |
|
1409 |
// |
|
1410 |
// occurrenceService.save(derivedUnitDeterminationTaxon); |
|
1411 |
// occurrenceService.save(derivedUnitDeterminationName); |
|
1412 |
// occurrenceService.save(derivedUnitDeterminationSynonym); |
|
1413 |
// occurrenceService.save(derivedUnitDeterminationSynonymName); |
|
1414 |
// occurrenceService.save(derivedUnitDeterminationOrphanName); |
|
1415 |
// occurrenceService.save(tissueUuidNoAssociation); |
|
1416 |
// occurrenceService.save(dnaSampleUuidIndividualsAssociation); |
|
1417 |
// occurrenceService.save(fossilTypeDesignation); |
|
1418 |
// |
|
1419 |
// //NAMES |
|
1420 |
// TaxonName taxonName = TaxonNameFactory.PARSED_BOTANICAL("Campanula patual"); |
|
1421 |
// TaxonName synonymName = TaxonNameFactory.PARSED_BOTANICAL("Syno nyma"); |
|
1422 |
// TaxonName orphanName = TaxonNameFactory.PARSED_BOTANICAL("Orphanus lonelia"); |
|
1423 |
// taxonName.setUuid(taxonNameUuid); |
|
1424 |
// synonymName.setUuid(synonymNameUuid); |
|
1425 |
// orphanName.setUuid(orphanNameUuid); |
|
1426 |
// |
|
1427 |
// //TAXON |
|
1428 |
// Taxon taxon = Taxon.NewInstance(taxonName, null); |
|
1429 |
// taxon.setUuid(taxonUuid); |
|
1430 |
// |
|
1431 |
// Classification classification = Classification.NewInstance("Test Classification"); |
|
1432 |
// TaxonNode taxonNode = classification.addChildTaxon(taxon, null, null); |
|
1433 |
// taxonNode.setUuid(taxonNodeUuid); |
|
1434 |
// |
|
1435 |
// //SYNONYM |
|
1436 |
// Synonym synonym = Synonym.NewInstance(synonymName, null); |
|
1437 |
// synonym.setUuid(synoymUuid); |
|
1438 |
// taxon.addSynonym(synonym, SynonymType.HOMOTYPIC_SYNONYM_OF()); |
|
1439 |
// |
|
1440 |
// //IndividualsAssociation |
|
1441 |
// TaxonDescription taxonDescription = TaxonDescription.NewInstance(); |
|
1442 |
// IndividualsAssociation association = IndividualsAssociation.NewInstance(dnaSampleUuidIndividualsAssociation); |
|
1443 |
// association.setFeature(Feature.SPECIMEN()); |
|
1444 |
// taxonDescription.addElement(association); |
|
1445 |
// taxon.addDescription(taxonDescription); |
|
1446 |
// |
|
1447 |
// //DETERMINATION EVENTS |
|
1448 |
// DeterminationEvent.NewInstance(taxon, derivedUnitDeterminationTaxon); |
|
1449 |
// DeterminationEvent.NewInstance(taxonName, derivedUnitDeterminationName); |
|
1450 |
// // DeterminationEvent.NewInstance(synonym, derivedUnitDeterminationSynonym);//TODO determinationa on synonym not possible? |
|
1451 |
// DeterminationEvent.NewInstance(synonymName, derivedUnitDeterminationSynonymName); |
|
1452 |
// DeterminationEvent.NewInstance(orphanName, derivedUnitDeterminationOrphanName); |
|
1453 |
// |
|
1454 |
// //type designation |
|
1455 |
// SpecimenTypeDesignation specimenTypeDesignation = SpecimenTypeDesignation.NewInstance(); |
|
1456 |
// specimenTypeDesignation.setTypeSpecimen(fossilTypeDesignation); |
|
1457 |
// taxonName.addTypeDesignation(specimenTypeDesignation, false); |
|
1458 |
// |
|
1459 |
// classificationService.save(classification); |
|
1460 |
// taxonService.saveOrUpdate(taxon); |
|
1461 |
// taxonNodeService.save(taxonNode); |
|
1462 |
// |
|
1463 |
// commitAndStartNewTransaction(null); |
|
1464 |
// |
|
1465 |
// setComplete(); |
|
1466 |
// endTransaction(); |
|
1467 |
// |
|
1468 |
// |
|
1469 |
// try { |
|
1470 |
// writeDbUnitDataSetFile(new String[] { |
|
1471 |
// "SpecimenOrObservationBase", |
|
1472 |
// "SpecimenOrObservationBase_DerivationEvent", |
|
1473 |
// "DerivationEvent", |
|
1474 |
// "DescriptionElementBase", |
|
1475 |
// "DescriptionBase", |
|
1476 |
// "TaxonBase", |
|
1477 |
// "TaxonNode", |
|
1478 |
// "Classification", |
|
1479 |
// "TypeDesignationBase", |
|
1480 |
// "TaxonName", |
|
1481 |
// "TaxonName_TypeDesignationBase", |
|
1482 |
// "HomotypicalGroup", |
|
1483 |
// "TeamOrPersonBase", |
|
1484 |
// "LanguageString", |
|
1485 |
// "DeterminationEvent" |
|
1486 |
// }, "testAllKindsOfSpecimenAssociations"); |
|
1487 |
// } catch (FileNotFoundException e) { |
|
1488 |
// e.printStackTrace(); |
|
1489 |
// } |
|
1407 | 1490 |
|
1408 | 1491 |
|
1409 | 1492 |
} |
... | ... | |
1471 | 1554 |
UUID dnaSampleUuidIndividualsAssociationUuid = UUID.fromString("1fb53903-c9b9-4078-8297-5b86aec7fe21"); |
1472 | 1555 |
UUID fossilTypeDesignationUuid = UUID.fromString("42ec8dcf-a923-4256-bbd5-b0d10f4de5e2"); |
1473 | 1556 |
|
1557 |
UUID taxonNodeUuid = UUID.fromString("6b8b6ff9-66e4-4496-8e5a-7d03bdf9a076"); |
|
1474 | 1558 |
UUID taxonUuid = UUID.fromString("07cc47a5-1a63-46a1-8366-0d59d2b90d5b"); |
1475 | 1559 |
UUID synoymUuid = UUID.fromString("c16bcd9b-7d18-4fb5-af60-f9ef14c1d3a9"); |
1476 | 1560 |
|
... | ... | |
1534 | 1618 |
Taxon taxon = Taxon.NewInstance(taxonName, null); |
1535 | 1619 |
taxon.setUuid(taxonUuid); |
1536 | 1620 |
|
1621 |
Classification classification = Classification.NewInstance("Test Classification"); |
|
1622 |
TaxonNode taxonNode = classification.addChildTaxon(taxon, null, null); |
|
1623 |
taxonNode.setUuid(taxonNodeUuid); |
|
1624 |
|
|
1537 | 1625 |
//SYNONYM |
1538 | 1626 |
Synonym synonym = Synonym.NewInstance(synonymName, null); |
1539 | 1627 |
synonym.setUuid(synoymUuid); |
... | ... | |
1549 | 1637 |
//DETERMINATION EVENTS |
1550 | 1638 |
DeterminationEvent.NewInstance(taxon, derivedUnitDeterminationTaxon); |
1551 | 1639 |
DeterminationEvent.NewInstance(taxonName, derivedUnitDeterminationName); |
1552 |
// DeterminationEvent.NewInstance(synonym, derivedUnitDeterminationSynonym);//TODO determinationa on synonym not possible?
|
|
1640 |
// DeterminationEvent.NewInstance(synonym, derivedUnitDeterminationSynonym);//TODO determinationa on synonym not possible?
|
|
1553 | 1641 |
DeterminationEvent.NewInstance(synonymName, derivedUnitDeterminationSynonymName); |
1554 | 1642 |
DeterminationEvent.NewInstance(orphanName, derivedUnitDeterminationOrphanName); |
1555 | 1643 |
|
... | ... | |
1558 | 1646 |
specimenTypeDesignation.setTypeSpecimen(fossilTypeDesignation); |
1559 | 1647 |
taxonName.addTypeDesignation(specimenTypeDesignation, false); |
1560 | 1648 |
|
1649 |
classificationService.saveOrUpdate(classification); |
|
1561 | 1650 |
taxonService.saveOrUpdate(taxon); |
1651 |
taxonNodeService.saveOrUpdate(taxonNode); |
|
1562 | 1652 |
|
1563 | 1653 |
commitAndStartNewTransaction(null); |
1564 | 1654 |
|
... | ... | |
1574 | 1664 |
"DescriptionElementBase", |
1575 | 1665 |
"DescriptionBase", |
1576 | 1666 |
"TaxonBase", |
1667 |
"TaxonNode", |
|
1668 |
"Classification", |
|
1577 | 1669 |
"TypeDesignationBase", |
1578 | 1670 |
"TaxonName", |
1579 | 1671 |
"TaxonName_TypeDesignationBase", |
1580 | 1672 |
"HomotypicalGroup", |
1581 | 1673 |
"TeamOrPersonBase", |
1674 |
"LanguageString", |
|
1582 | 1675 |
"DeterminationEvent" |
1583 | 1676 |
}, "testAllKindsOfSpecimenAssociations"); |
1584 | 1677 |
} catch (FileNotFoundException e) { |
Also available in: Unified diff
ref #7095 Enhance quicker service for taxon associated specimens