*
*/
public class DwcaExportTest extends CdmTransactionalIntegrationTest{
+
@SuppressWarnings("unused")
private static final Logger logger = Logger.getLogger(DwcaExportTest.class);
+ private static final UUID UUID_SUBSPEC_NODE = UUID.fromString("f8c9933a-fe3a-42ce-8a92-000e27bfdfac");
+ private static final String UUID_UNPUBLISHED_TAXON = "e5cdc392-4e0b-49ad-84e9-8c4b22d1827c";
+
+
@SpringBeanByName
private CdmApplicationAwareDefaultExport<DwcaTaxExportConfigurator> defaultExport;
DwcaTaxExportConfigurator config = DwcaTaxExportConfigurator.NewInstance(null, destinationFolder, null);
config.setTarget(TARGET.EXPORT_DATA);
ExportResult result = defaultExport.invoke(config);
- System.out.println(result.createReport());
+// System.out.println(result.createReport());
ExportDataWrapper<?> exportData = result.getExportData();
@SuppressWarnings("unchecked")
Map<String, byte[]> data = (Map<String, byte[]>) exportData.getExportData();
createFullTestDataSet();
File destinationFolder = null;
DwcaTaxExportConfigurator config = DwcaTaxExportConfigurator.NewInstance(null, destinationFolder, null);
- config.setTaxonNodeFilter(TaxonNodeFilter.NewSubtreeInstance(UUID.fromString("f8c9933a-fe3a-42ce-8a92-000e27bfdfac")));
+ config.setTaxonNodeFilter(TaxonNodeFilter.NewSubtreeInstance(UUID_SUBSPEC_NODE));
config.setTarget(TARGET.EXPORT_DATA);
ExportResult result = defaultExport.invoke(config);
System.out.println(result.createReport());
Assert.assertNotNull("Core must not be null", core);
String coreStr = new String(core);
String expected = "\"9182e136-f2e2-4f9a-9010-3f35908fb5e0\",\"f983cc5e-4c77-4c80-8cb0-73d43df31ee9\",\"9182e136-f2e2-4f9a-9010-3f35908fb5e0\",\"3f52e136-f2e1-4f9a-9010-2f35908fbd39\",\"Genus species Mill.\",\"Species\",\"accepted\"";
-// System.out.println(coreStr);
+ System.out.println(coreStr);
Assert.assertTrue(coreStr.contains(expected));
String expectedClassification = "\"Family|Genus|Genus species\"";
Assert.assertTrue(coreStr.contains(expectedClassification));
+ Assert.assertFalse(coreStr.contains(UUID_UNPUBLISHED_TAXON));
//reference
}
+ @Test
+ @DataSet(loadStrategy=CleanSweepInsertLoadStrategy.class, value="/eu/etaxonomy/cdm/database/BlankDataSet.xml")
+ public void testUnpublished(){
+ createFullTestDataSet();
+ File destinationFolder = null;
+ DwcaTaxExportConfigurator config = DwcaTaxExportConfigurator.NewInstance(null, destinationFolder, null);
+ config.setTarget(TARGET.EXPORT_DATA);
+ config.getTaxonNodeFilter().setIncludeUnpublished(true);
+ ExportResult result = defaultExport.invoke(config);
+
+ //core
+ ExportDataWrapper<?> exportData = result.getExportData();
+ @SuppressWarnings("unchecked")
+ Map<String, byte[]> data = (Map<String, byte[]>) exportData.getExportData();
+ byte[] core = data.get(DwcaTaxExportFile.TAXON.getTableName());
+ Assert.assertNotNull("Core must not be null", core);
+ String coreStr = new String(core);
+ String expected = "\"9182e136-f2e2-4f9a-9010-3f35908fb5e0\"";
+ Assert.assertTrue(coreStr.contains(expected));
+
+ Assert.assertTrue(coreStr.contains(UUID_UNPUBLISHED_TAXON));
+ }
+
/**
* {@inheritDoc}
*/
setUuid(classification, "4096df99-7274-421e-8843-211b603d832e");
NonViralNameParserImpl parser = NonViralNameParserImpl.NewInstance();
+
+ //family
TaxonName familyName = parser.parseReferencedName("Family L., Sp. Pl. 3: 22. 1752",
NomenclaturalCode.ICNAFP, Rank.FAMILY());
setUuid(familyName,"e983cc5e-4c77-4c80-8cb0-73d43df31ef7");
setUuid(node1, "0fae5ad5-ffa2-4100-bcd7-8aa9dda0aebc");
nodesToSave.add(node1);
+ //genus
TaxonName genusName = parser.parseReferencedName("Genus Humb., The book of botany 3: 22. 1804",
NomenclaturalCode.ICNAFP, Rank.GENUS());
setUuid(genusName,"5e83cc5e-4c77-4d80-8cb0-73d63df35ee3");
setUuid(node2, "43ca733b-fe3a-42ce-8a92-000e27badf44");
nodesToSave.add(node2);
-
+ //species
TaxonName speciesName = parser.parseReferencedName("Genus species Mill., The book of botany 3: 22. 1804",
NomenclaturalCode.ICNAFP, Rank.SPECIES());
setUuid(speciesName,"f983cc5e-4c77-4c80-8cb0-73d43df31ee9");
setUuid(node3, "a0c9733a-fe3a-42ce-8a92-000e27bfdfa3");
nodesToSave.add(node3);
+ //subspecies
TaxonName subspeciesName = parser.parseReferencedName("Genus species subsp. subspec Mill., The book of botany 3: 22. 1804",
NomenclaturalCode.ICNAFP, Rank.SUBSPECIES());
setUuid(subspeciesName,"3483cc5e-4c77-4c80-8cb0-73d43df31ee3");
Taxon subspecies = Taxon.NewInstance(subspeciesName, sec1);
setUuid(subspecies, "b2c86698-500e-4efb-b9ae-6bb6e701d4bc");
TaxonNode node4 = node3.addChildTaxon(subspecies, sec1, "33");
- setUuid(node4, "f8c9933a-fe3a-42ce-8a92-000e27bfdfac");
+ node4.setUuid(UUID_SUBSPEC_NODE);
nodesToSave.add(node4);
+ //unpublished
+ TaxonName unpublishedName = parser.parseReferencedName("Genus species subsp. unpublish Mill., The book of botany 3: 22. 1804",
+ NomenclaturalCode.ICNAFP, Rank.SUBSPECIES());
+ setUuid(unpublishedName,"ebcf6bb6-6da8-46fe-9c22-127aa4cb9549");
+ setUuid((Reference)unpublishedName.getNomenclaturalReference(), "51725dbd-e4a1-43ea-8363-fe8eb1152a49");
+
+ Taxon unpublishedSpecies = Taxon.NewInstance(unpublishedName, sec1);
+ unpublishedSpecies.setPublish(false);
+ setUuid(unpublishedSpecies, UUID_UNPUBLISHED_TAXON);
+ TaxonNode nodeUnpublished = node3.addChildTaxon(unpublishedSpecies, sec1, "34");
+ setUuid(nodeUnpublished, "01368584-b626-4255-9dc4-ff011d44f493");
+ nodesToSave.add(nodeUnpublished);
+
classificationService.save(classification);
taxonNodeService.save(nodesToSave);