Project

General

Profile

Download (4.7 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.client.ServiceProviderInfo;
13
import org.bgbm.biovel.drf.input.DRFCSVInputParser;
14
import org.bgbm.biovel.drf.input.DRFInputException;
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
            TnrMsgUtils.updateWithSearchMode(tnrMsg, SearchMode.scientificNameExact);
83
            gbc.queryChecklist(tnrMsg);
84
            String outputXML = TnrMsgUtils.convertTnrMsgToXML(tnrMsg);
85
            System.out.println(outputXML);
86
        }
87
    }
88

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

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