|
1 |
package eu.etaxonomy.cdm.remote.view;
|
|
2 |
|
|
3 |
import java.io.File;
|
|
4 |
import java.net.URI;
|
|
5 |
import java.util.ArrayList;
|
|
6 |
import java.util.HashMap;
|
|
7 |
import java.util.Map;
|
|
8 |
|
|
9 |
import org.apache.log4j.Logger;
|
|
10 |
import org.dozer.Mapper;
|
|
11 |
import org.joda.time.DateTime;
|
|
12 |
import org.junit.Before;
|
|
13 |
import org.junit.Ignore;
|
|
14 |
import org.junit.Test;
|
|
15 |
import org.springframework.mock.web.MockHttpServletRequest;
|
|
16 |
import org.springframework.mock.web.MockHttpServletResponse;
|
|
17 |
import org.springframework.oxm.Marshaller;
|
|
18 |
import org.unitils.UnitilsJUnit4;
|
|
19 |
import org.unitils.spring.annotation.SpringApplicationContext;
|
|
20 |
import org.unitils.spring.annotation.SpringBeanByName;
|
|
21 |
import org.unitils.spring.annotation.SpringBeanByType;
|
|
22 |
|
|
23 |
import eu.etaxonomy.cdm.io.csv.redlist.demo.CsvDemoExportConfigurator;
|
|
24 |
import eu.etaxonomy.cdm.io.csv.redlist.demo.CsvDemoMetaDataRecord;
|
|
25 |
import eu.etaxonomy.cdm.io.csv.redlist.demo.CsvDemoRecord;
|
|
26 |
import eu.etaxonomy.cdm.model.common.LSID;
|
|
27 |
import eu.etaxonomy.cdm.model.taxon.Taxon;
|
|
28 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
|
|
29 |
import eu.etaxonomy.cdm.remote.view.oaipmh.IdentifyView;
|
|
30 |
import eu.etaxonomy.cdm.remote.view.oaipmh.ListIdentifiersView;
|
|
31 |
import eu.etaxonomy.cdm.remote.view.oaipmh.ListMetadataFormatsView;
|
|
32 |
import eu.etaxonomy.cdm.remote.view.oaipmh.ListSetsView;
|
|
33 |
import eu.etaxonomy.cdm.remote.view.oaipmh.dc.ListRecordsView;
|
|
34 |
|
|
35 |
@Ignore
|
|
36 |
@SpringApplicationContext("file:./target/test-classes/eu/etaxonomy/cdm/applicationContext-test.xml")
|
|
37 |
public class JsonToCsvViewTest extends UnitilsJUnit4 {
|
|
38 |
|
|
39 |
public static final Logger logger = Logger.getLogger(JsonToCsvViewTest.class);
|
|
40 |
|
|
41 |
@SpringBeanByName
|
|
42 |
private Marshaller marshaller;
|
|
43 |
|
|
44 |
@SpringBeanByType
|
|
45 |
private Mapper mapper;
|
|
46 |
|
|
47 |
private Map<String,Object> model;
|
|
48 |
private IdentifyView identifyView;
|
|
49 |
private CsvDemoRecord demoRecord;
|
|
50 |
private MockHttpServletRequest request;
|
|
51 |
private MockHttpServletResponse response;
|
|
52 |
|
|
53 |
private URI serverURI;
|
|
54 |
|
|
55 |
private CsvDemoMetaDataRecord metaDataRecord;
|
|
56 |
|
|
57 |
private CsvDemoExportConfigurator config;
|
|
58 |
|
|
59 |
@Before
|
|
60 |
public void setUp() throws Exception {
|
|
61 |
|
|
62 |
model = new HashMap<String,Object>();
|
|
63 |
identifyView = new IdentifyView();
|
|
64 |
identifyView.setMarshaller(marshaller);
|
|
65 |
|
|
66 |
metaDataRecord = new CsvDemoMetaDataRecord(true, "/tmp", "");
|
|
67 |
config = CsvDemoExportConfigurator.NewInstance(null, null);
|
|
68 |
|
|
69 |
demoRecord = new CsvDemoRecord(metaDataRecord, config);
|
|
70 |
|
|
71 |
request = new MockHttpServletRequest();
|
|
72 |
|
|
73 |
serverURI = new URI("localhost");
|
|
74 |
|
|
75 |
request.setServerName(serverURI.toString());
|
|
76 |
request.setServerPort(8090);
|
|
77 |
response = new MockHttpServletResponse();
|
|
78 |
}
|
|
79 |
|
|
80 |
|
|
81 |
@Test
|
|
82 |
public void testGetRecordView() throws Exception {
|
|
83 |
|
|
84 |
Taxon taxon = Taxon.NewInstance(null, null);
|
|
85 |
taxon.setTitleCache("TitleCache", true);
|
|
86 |
taxon.setCreated(new DateTime());
|
|
87 |
|
|
88 |
demoRecord.setScientificName(taxon.getTitleCache());
|
|
89 |
demoRecord.setAuthorName("Author");
|
|
90 |
demoRecord.setDatasetName("Classification");
|
|
91 |
|
|
92 |
ArrayList<CsvDemoRecord> recordList = new ArrayList<CsvDemoRecord>();
|
|
93 |
logger.info(recordList.size());
|
|
94 |
recordList.add(demoRecord);
|
|
95 |
recordList.add(demoRecord);
|
|
96 |
recordList.add(demoRecord);
|
|
97 |
logger.info(recordList.size());
|
|
98 |
logger.info(recordList.get(0).getScientificName());
|
|
99 |
model.put("csv", recordList);
|
|
100 |
|
|
101 |
request.setRequestURI("/cgi-bin/oai?verb=GetRecord&identifier=urn:lsid:example.org:taxonconcepts:1&metadataPrefix=oai_dc");
|
|
102 |
CsvFileDownloadView jview = new CsvFileDownloadView(new File("test"));
|
|
103 |
jview.render(model, request, response);
|
|
104 |
// System.out.println(new String(response.getContentAsByteArray()));
|
|
105 |
}
|
|
106 |
|
|
107 |
}
|
Generate CSV file from pojo