Project

General

Profile

Download (4.79 KB) Statistics
| Branch: | Tag: | Revision:
1
package org.cybertaxonomy.utis.checklist;
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.cybertaxonomy.utis.checklist.DRFChecklistException;
10
import org.cybertaxonomy.utis.checklist.GBIFBackboneClient;
11
import org.cybertaxonomy.utis.checklist.SearchMode;
12
import org.cybertaxonomy.utis.client.ServiceProviderInfo;
13
import org.cybertaxonomy.utis.input.DRFCSVInputParser;
14
import org.cybertaxonomy.utis.input.DRFInputException;
15
import org.cybertaxonomy.utis.tnr.msg.TnrMsg;
16
import org.cybertaxonomy.utis.utils.BiovelUtils;
17
import org.cybertaxonomy.utis.utils.JSONUtils;
18
import org.cybertaxonomy.utis.utils.TnrMsgException;
19
import org.cybertaxonomy.utis.utils.TnrMsgUtils;
20
import org.junit.BeforeClass;
21
import org.junit.Test;
22

    
23
//@Ignore
24
public class GBIFChecklistTest {
25

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

    
29
    private static ServiceProviderInfo ci;
30

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

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

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

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

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

    
69
    }
70

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

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

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

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