Project

General

Profile

Download (2.68 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.BaseChecklistClient.ChecklistInfo;
11
import org.bgbm.biovel.drf.checklist.BgbmEditClient;
12
import org.bgbm.biovel.drf.checklist.DRFChecklistException;
13
import org.bgbm.biovel.drf.checklist.GBIFBetaBackboneClient;
14
import org.bgbm.biovel.drf.checklist.Species2000ColClient;
15

    
16
public class ChecklistUtils {
17
	
18
	public static String generateChecklistInfoList() throws DRFChecklistException {
19
		String checklistInfoList = "[]";
20
		List<ChecklistInfo> cilist = new ArrayList<ChecklistInfo>();
21
		
22
		Species2000ColClient col = new Species2000ColClient();
23
		cilist.add(col.getChecklistInfo());
24
		
25
		BgbmEditClient bec = new BgbmEditClient();
26
		cilist.add(bec.getChecklistInfo());
27
		
28
		GBIFBetaBackboneClient gbc = new GBIFBetaBackboneClient();
29
		cilist.add(gbc.getChecklistInfo());
30
		checklistInfoList = JSONUtils.convertObjectToJson(cilist);
31
		return checklistInfoList;
32
	}
33
	
34
	public static List<ChecklistInfo> convertStringToChecklistInfo(List<String> ciStrList) throws DRFChecklistException {
35
		Map<String,ChecklistInfo> ciMap = new HashMap<String, ChecklistInfo>();
36
		
37
		Iterator<String> ciItr = ciStrList.iterator();
38
		while(ciItr.hasNext()) {
39
			String[] ciStrArray = ciItr.next().split(";",5);
40
			System.out.println("ci array length : " + ciStrArray.length);
41
			if(ciStrArray.length == 5) {
42
				String key = ciStrArray[0];			
43
				System.out.println("ci key : " + key);
44
				ChecklistInfo ci = ciMap.get(ciStrArray[0]);
45
				if(ci == null) {
46
					if(key.equals(Species2000ColClient.ID)) {
47
						ci = new ChecklistInfo(Species2000ColClient.ID,
48
								Species2000ColClient.LABEL,
49
								Species2000ColClient.URL,
50
								Species2000ColClient.DATA_AGR_URL);
51
					}
52
					if(key.equals(BgbmEditClient.ID)) {
53
						ci = new ChecklistInfo(BgbmEditClient.ID,
54
								BgbmEditClient.LABEL,
55
								BgbmEditClient.URL,
56
								BgbmEditClient.DATA_AGR_URL);
57
					}
58
					if(key.equals(GBIFBetaBackboneClient.ID)) {
59
						ci = new ChecklistInfo(GBIFBetaBackboneClient.ID,
60
								GBIFBetaBackboneClient.LABEL,
61
								GBIFBetaBackboneClient.URL,
62
								GBIFBetaBackboneClient.DATA_AGR_URL);
63
					}
64
					if(ci != null) {
65
						ciMap.put(key, ci);
66
						System.out.println("put key : " + key);
67
						ci.addSubChecklist(ChecklistInfo.create(Arrays.copyOfRange(ciStrArray, 1, 5)));
68
						System.out.println("put sub checklist : " + ciStrArray[1]);
69
						
70
					}
71
				} else {
72
					ci.addSubChecklist(ChecklistInfo.create(Arrays.copyOfRange(ciStrArray, 1, 5)));
73
				}				
74
			}						
75
		}
76
		return new ArrayList<ChecklistInfo>(ciMap.values());
77
	}
78

    
79
}
(3-3/8)