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
|
}
|