Project

General

Profile

Download (6.47 KB) Statistics
| Branch: | Tag: | Revision:
1
package org.bgbm.biovel.drf.utils;
2

    
3
import java.util.ArrayList;
4
import java.util.Arrays;
5
import java.util.HashMap;
6
import java.util.Iterator;
7
import java.util.List;
8
import java.util.Map;
9

    
10
import org.bgbm.biovel.drf.checklist.BgbmEditClient;
11
import org.bgbm.biovel.drf.checklist.DRFChecklistException;
12
import org.bgbm.biovel.drf.checklist.GBIFBackboneClient;
13
import org.bgbm.biovel.drf.checklist.PESIClient;
14
import org.bgbm.biovel.drf.checklist.Species2000ColClient;
15
import org.bgbm.biovel.drf.checklist.WoRMSClient;
16
import org.bgbm.biovel.drf.client.ServiceProviderInfo;
17
import org.bgbm.biovel.drf.occurrences.GBIFOccurrencesClient;
18

    
19
public class ServiceProviderInfoUtils {
20

    
21
    public static String generateChecklistInfoListAsJson() throws DRFChecklistException {
22
        String checklistInfoList = "[]";
23
        List<ServiceProviderInfo> cilist = generateChecklistInfoList();
24

    
25
        checklistInfoList = JSONUtils.convertObjectToJson(cilist);
26
        return checklistInfoList;
27
    }
28

    
29
    /**
30
     * @return
31
     */
32
    public static List<ServiceProviderInfo> generateChecklistInfoList() {
33
        List<ServiceProviderInfo> cilist = new ArrayList<ServiceProviderInfo>();
34

    
35
        Species2000ColClient col = new Species2000ColClient();
36
        cilist.add(col.getServiceProviderInfo());
37

    
38
        PESIClient pesi = new PESIClient();
39
        cilist.add(pesi.getServiceProviderInfo());
40

    
41
        WoRMSClient worms = new WoRMSClient();
42
        cilist.add(worms.getServiceProviderInfo());
43

    
44
        BgbmEditClient bec = new BgbmEditClient();
45
        cilist.add(bec.getServiceProviderInfo());
46

    
47
        GBIFBackboneClient gbc = new GBIFBackboneClient();
48
        cilist.add(gbc.getServiceProviderInfo());
49

    
50
        return cilist;
51
    }
52

    
53

    
54

    
55
    public static String generateOccurrencesBankInfoList() throws DRFChecklistException {
56
        String occurrencesbankInfoList = "[]";
57
        List<ServiceProviderInfo> oblist = new ArrayList<ServiceProviderInfo>();
58

    
59
        GBIFOccurrencesClient gob = new GBIFOccurrencesClient();
60
        oblist.add(gob.getServiceProviderInfo());
61

    
62
        occurrencesbankInfoList = JSONUtils.convertObjectToJson(oblist);
63
        return occurrencesbankInfoList;
64
    }
65

    
66
    public static List<ServiceProviderInfo> convertStringToChecklistInfo(List<String> ciStrList) throws DRFChecklistException {
67
        Map<String,ServiceProviderInfo> ciMap = new HashMap<String, ServiceProviderInfo>();
68

    
69
        Iterator<String> ciItr = ciStrList.iterator();
70
        while(ciItr.hasNext()) {
71
            String[] ciStrArray = ciItr.next().split(";",5);
72
            System.out.println("ci array length : " + ciStrArray.length);
73
            if(ciStrArray.length == 5) {
74
                String key = ciStrArray[0];
75
                System.out.println("ci key : " + key);
76
                ServiceProviderInfo ci = ciMap.get(ciStrArray[0]);
77
                if(ci == null) {
78
                    if(key.equals(Species2000ColClient.ID)) {
79
                        ci = new ServiceProviderInfo(Species2000ColClient.ID,
80
                                Species2000ColClient.LABEL,
81
                                Species2000ColClient.URL,
82
                                Species2000ColClient.DATA_AGR_URL,
83
                                Species2000ColClient.SEARCH_MODES);
84
                    }
85
                    if(key.equals(BgbmEditClient.ID)) {
86
                        ci = new ServiceProviderInfo(BgbmEditClient.ID,
87
                                BgbmEditClient.LABEL,
88
                                BgbmEditClient.DOC_URL,
89
                                BgbmEditClient.COPYRIGHT_URL,
90
                                BgbmEditClient.SEARCH_MODES);
91
                    }
92
                    if(key.equals(GBIFBackboneClient.ID)) {
93
                        ci = new ServiceProviderInfo(GBIFBackboneClient.ID,
94
                                GBIFBackboneClient.LABEL,
95
                                GBIFBackboneClient.URL,
96
                                GBIFBackboneClient.DATA_AGR_URL,
97
                                GBIFBackboneClient.SEARCH_MODES);
98
                    }
99
                    if(key.equals(PESIClient.ID)) {
100
                        ci = new ServiceProviderInfo(PESIClient.ID,
101
                                PESIClient.LABEL,
102
                                PESIClient.URL,
103
                                PESIClient.DATA_AGR_URL,
104
                                PESIClient.SEARCH_MODES);
105
                    }
106
                    if(key.equals(WoRMSClient.ID)) {
107
                        ci = new ServiceProviderInfo(WoRMSClient.ID,
108
                                WoRMSClient.LABEL,
109
                                WoRMSClient.URL,
110
                                WoRMSClient.DATA_AGR_URL,
111
                                WoRMSClient.SEARCH_MODES);
112
                    }
113
                    if(ci != null) {
114
                        ciMap.put(key, ci);
115
                        System.out.println("put key : " + key);
116
                        ci.addSubChecklist(ServiceProviderInfo.create(Arrays.copyOfRange(ciStrArray, 1, 5)));
117
                        System.out.println("put sub checklist : " + ciStrArray[1]);
118

    
119
                    }
120
                } else {
121
                    ci.addSubChecklist(ServiceProviderInfo.create(Arrays.copyOfRange(ciStrArray, 1, 5)));
122
                }
123
            }
124
        }
125
        return new ArrayList<ServiceProviderInfo>(ciMap.values());
126
    }
127

    
128
    public static List<ServiceProviderInfo> convertStringToOccurrenceBankInfo(List<String> ciStrList) throws DRFChecklistException {
129
        Map<String,ServiceProviderInfo> ciMap = new HashMap<String, ServiceProviderInfo>();
130

    
131
        Iterator<String> ciItr = ciStrList.iterator();
132
        while(ciItr.hasNext()) {
133
            String[] ciStrArray = ciItr.next().split(";",5);
134
            System.out.println("ci array length : " + ciStrArray.length);
135
            if(ciStrArray.length == 5) {
136
                String key = ciStrArray[0];
137
                System.out.println("ci key : " + key);
138
                ServiceProviderInfo ci = ciMap.get(ciStrArray[0]);
139
                if(ci == null) {
140
                    if(key.equals(GBIFOccurrencesClient.ID)) {
141
                        ci = new ServiceProviderInfo(GBIFOccurrencesClient.ID,
142
                                GBIFOccurrencesClient.LABEL,
143
                                GBIFOccurrencesClient.URL,
144
                                GBIFOccurrencesClient.DATA_AGR_URL,
145
                                ServiceProviderInfo.DEFAULT_SEARCH_MODE);
146
                    }
147
                }
148
            }
149
        }
150
        return new ArrayList<ServiceProviderInfo>(ciMap.values());
151
    }
152

    
153
}
(6-6/10)