Project

General

Profile

Download (4.59 KB) Statistics
| Branch: | Tag: | Revision:
1
package org.bgbm.biovel.drf.tnr.msg;
2

    
3
import java.util.ArrayList;
4
import java.util.Iterator;
5
import java.util.List;
6

    
7
import javax.xml.bind.JAXBException;
8

    
9
import org.bgbm.biovel.drf.checklist.DRFChecklistException;
10
import org.bgbm.biovel.drf.checklist.GBIFBackboneClient;
11
import org.bgbm.biovel.drf.checklist.SearchMode;
12
import org.bgbm.biovel.drf.input.DRFCSVInputParser;
13
import org.bgbm.biovel.drf.input.DRFInputException;
14
import org.bgbm.biovel.drf.rest.ServiceProviderInfo;
15
import org.bgbm.biovel.drf.utils.BiovelUtils;
16
import org.bgbm.biovel.drf.utils.JSONUtils;
17
import org.bgbm.biovel.drf.utils.TnrMsgException;
18
import org.bgbm.biovel.drf.utils.TnrMsgUtils;
19
import org.junit.BeforeClass;
20
import org.junit.Test;
21

    
22
//@Ignore
23
public class GBIFChecklistTest {
24

    
25
    private static DRFCSVInputParser parser;
26
    private static List<String> nameCompleteList;
27

    
28
    private static ServiceProviderInfo ci;
29

    
30
    @BeforeClass
31
    public static void  setup() {
32
        parser = new DRFCSVInputParser();
33

    
34
        nameCompleteList = new ArrayList<String>();
35
        nameCompleteList.add("Ameira divagans");
36
        nameCompleteList.add("Boccardiella ligerica");
37
        nameCompleteList.add("Bougainvillia rugosa");
38
        nameCompleteList.add("Branchiura sowerbyi");
39
        nameCompleteList.add("Cercopagis pengoi");
40
        nameCompleteList.add("Chelicorophium curvispinum");
41

    
42
        ci = new ServiceProviderInfo(GBIFBackboneClient.ID,
43
                GBIFBackboneClient.LABEL,
44
                GBIFBackboneClient.URL,
45
                GBIFBackboneClient.DATA_AGR_URL, ServiceProviderInfo.DEFAULT_SEARCH_MODE);
46
        ci.addSubChecklist(new ServiceProviderInfo("d7dddbf4-2cf0-4f39-9b2a-bb099caae36c", "GBIF NUB Taxonomy", "http://uat.gbif.org/dataset/d7dddbf4-2cf0-4f39-9b2a-bb099caae36c"));
47
    }
48

    
49
    @Test
50
    public void convertChecklistInfoToJson() throws DRFChecklistException {
51
        String checklistInfoJson = JSONUtils.convertObjectToJson(ci);
52
        System.out.println("Json : " + checklistInfoJson);
53
    }
54

    
55
    @Test
56
    public void buildServiceProviderInfo() throws DRFChecklistException {
57
        GBIFBackboneClient gbc =  new GBIFBackboneClient();
58
        ServiceProviderInfo spiInfo = gbc.buildServiceProviderInfo();
59
        List<ServiceProviderInfo> spiList = spiInfo.getSubChecklists();
60
        Iterator<ServiceProviderInfo> spiItr = spiList.iterator();
61
        while(spiItr.hasNext()) {
62
            ServiceProviderInfo spi = spiItr.next();
63
            System.out.println("Dataset : " + spi.getLabel() );
64
        }
65
        String checklistInfoJson = JSONUtils.convertObjectToJson(spiInfo);
66
        System.out.println("Json : " + checklistInfoJson);
67

    
68
    }
69

    
70
    @Test
71
    public void nameCompleteCsvTest() throws DRFChecklistException, DRFInputException, JAXBException, TnrMsgException {
72
        parser = new DRFCSVInputParser();
73
        List<TnrMsg> tnrMsgs = parser.parse(BiovelUtils.getResourceAsString("/org/bgbm/biovel/drf/tnr/nameCompleteOnly.csv","UTF-8"));
74
        //List<TnrMsg> tnrMsgs = parser.parse(BiovelUtils.getResourceAsString("/org/bgbm/biovel/drf/tnr/singleNameCompleteOnly.csv","UTF-8"));
75
        List<String> chosenKeyList = new ArrayList<String>();
76
        chosenKeyList.add("7ddf754f-d193-4cc9-b351-99906754a03b");
77

    
78
        GBIFBackboneClient gbc =  new GBIFBackboneClient(JSONUtils.convertObjectToJson(ci));
79
        Iterator<TnrMsg> tnrMsgItr = tnrMsgs.iterator();
80
        while(tnrMsgItr.hasNext()) {
81
            TnrMsg tnrMsg = tnrMsgItr.next();
82
            gbc.queryChecklist(tnrMsg, SearchMode.scientificNameExact);
83
            String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
84
            System.out.println(outputXML);
85
        }
86
    }
87

    
88
    @Test
89
    public void nameCompleteStringListTest() throws DRFChecklistException, DRFInputException, JAXBException, TnrMsgException {
90
        parser = new DRFCSVInputParser();
91
        List<TnrMsg> tnrMsgs = TnrMsgUtils.convertStringListToTnrMsgList(nameCompleteList, SearchMode.scientificNameExact);
92
        //List<TnrMsg> tnrMsgs = parser.parse(BiovelUtils.getResourceAsString("/org/bgbm/biovel/drf/tnr/singleNameCompleteOnly.csv","UTF-8"));
93
        List<String> chosenKeyList = new ArrayList<String>();
94
        chosenKeyList.add("7ddf754f-d193-4cc9-b351-99906754a03b");
95

    
96
        GBIFBackboneClient gbc =  new GBIFBackboneClient(JSONUtils.convertObjectToJson(ci));
97
        Iterator<TnrMsg> tnrMsgItr = tnrMsgs.iterator();
98
        while(tnrMsgItr.hasNext()) {
99
            TnrMsg tnrMsg = tnrMsgItr.next();
100
            gbc.queryChecklist(tnrMsg, SearchMode.scientificNameExact);
101
            String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
102
            System.out.println(outputXML);
103
        }
104
    }
105
}
(4-4/8)