3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.taxeditor
.service
;
12 import java
.io
.FileOutputStream
;
13 import java
.io
.IOException
;
14 import java
.util
.HashSet
;
15 import java
.util
.List
;
16 import java
.util
.UUID
;
18 import org
.junit
.Assert
;
19 import org
.junit
.Test
;
20 import org
.unitils
.dbunit
.annotation
.DataSet
;
22 import eu
.etaxonomy
.cdm
.api
.application
.CdmApplicationState
;
23 import eu
.etaxonomy
.cdm
.api
.service
.INameService
;
24 import eu
.etaxonomy
.cdm
.io
.common
.ExportResult
;
25 import eu
.etaxonomy
.cdm
.io
.csv
.caryophyllales
.out
.CsvNameExportConfigurator
;
26 import eu
.etaxonomy
.cdm
.io
.csv
.redlist
.demo
.CsvDemoExportConfigurator
;
27 import eu
.etaxonomy
.cdm
.io
.jaxb
.JaxbExportConfigurator
;
28 import eu
.etaxonomy
.cdm
.io
.sdd
.out
.SDDExportConfigurator
;
29 import eu
.etaxonomy
.cdm
.io
.service
.IIOService
;
30 import eu
.etaxonomy
.taxeditor
.httpinvoker
.BaseRemotingTest
;
38 public class IOServiceExportTest
extends BaseRemotingTest
{
40 private final IIOService ioService
= CdmApplicationState
.getIOService();
41 private final INameService nameService
= CdmApplicationState
.getCurrentAppConfig().getNameService();
44 public void exportJaxbTest() throws IOException
{
45 JaxbExportConfigurator config
= JaxbExportConfigurator
.NewInstance(null, null);
46 ExportResult result
= ioService
.export(config
);
47 List
<byte[]> dataList
= result
.getExportData();
48 Assert
.assertEquals(1, dataList
.size());
49 byte[] exportData
= dataList
.get(0);
50 String savePath
= "target/exportjaxb.xml";
51 FileOutputStream stream
= null;
53 stream
= new FileOutputStream(savePath
);
54 stream
.write(exportData
);
59 public void exportSDDTest() throws IOException
{
60 SDDExportConfigurator config
= SDDExportConfigurator
.NewInstance(null, null, null);
61 ExportResult result
= ioService
.export(config
);
62 List
<byte[]> dataList
= result
.getExportData();
63 Assert
.assertEquals(1, dataList
.size());
64 byte[] exportData
= dataList
.get(0);
65 String savePath
= "target/exportsdd.xml";
66 FileOutputStream stream
= null;
68 stream
= new FileOutputStream(savePath
);
69 stream
.write(exportData
);
75 public void exportCSVTest() throws IOException
{
76 HashSet
<UUID
> set
= new HashSet
<UUID
>();
77 set
.add(UUID
.fromString("0c2b5d25-7b15-4401-8b51-dd4be0ee5cab"));
78 CsvDemoExportConfigurator config
= CsvDemoExportConfigurator
.NewInstance(null, null);
79 config
.setClassificationUuids(set
);
80 config
.setDoTaxa(true);
81 config
.setHasHeaderLines(true);
82 config
.setClassification(true);
83 config
.setTaxonName(true);
84 config
.setAuthor(true);
86 config
.setLastChange(true);
88 ExportResult result
= ioService
.export(config
);
89 List
<byte[]> dataList
= result
.getExportData();
90 Assert
.assertEquals(1, dataList
.size());
91 byte[] exportData
= dataList
.get(0);
92 String savePath
= "target/exportcsv.xml";
93 saveToFile(savePath
, exportData
);
97 public void exportCSVNameTest() throws IOException
{
98 CsvNameExportConfigurator config
= CsvNameExportConfigurator
.NewInstance(null,null);
99 ExportResult result
= ioService
.export(config
);
100 List
<byte[]> dataList
= result
.getExportData();
101 Assert
.assertEquals(1, dataList
.size());
102 byte[] exportData
= dataList
.get(0);
103 String savePath
= "target/exportcsvname.xml";
104 saveToFile(savePath
, exportData
);
108 public void exportCSVPrintTest() throws IOException
{
109 CsvNameExportConfigurator config
= CsvNameExportConfigurator
.NewInstance(null,null);
110 config
.setNamesOnly(false);
111 config
.setClassificationUUID(UUID
.fromString("0c2b5d25-7b15-4401-8b51-dd4be0ee5cab"));
112 ExportResult result
= ioService
.export(config
);
113 List
<byte[]> dataList
= result
.getExportData();
114 Assert
.assertEquals(1, dataList
.size());
115 byte[] exportData
= dataList
.get(0);
116 String savePath
= "target/exportcsvprint.xml";
117 saveToFile(savePath
, exportData
);
120 private static void saveToFile(String filePath
, byte[] data
) throws IOException
{
121 FileOutputStream stream
= null;
122 stream
= new FileOutputStream(filePath
);