Subversion Repositories eFlore/Applications.cel

Rev

Rev 2392 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2033 aurelien 1
package org.tela_botanica.client.modeles.objets;
2
 
3
import java.util.HashMap;
4
import java.util.Iterator;
5
 
2392 aurelien 6
import org.tela_botanica.client.cel2;
7
 
8
import com.google.gwt.json.client.JSONArray;
2033 aurelien 9
import com.google.gwt.json.client.JSONObject;
10
import com.google.gwt.json.client.JSONParser;
11
import com.google.gwt.json.client.JSONValue;
12
 
13
public class ListeGroupesChampsEtendus extends HashMap<String,HashMap<String, String>> {
14
 
2392 aurelien 15
	public HashMap<String, String> correspondancesClesLabels ;
2755 aurelien 16
	public HashMap<String, String> correspondancesCorrespondancesIdsNomsGroupes;
2392 aurelien 17
 
2033 aurelien 18
	public ListeGroupesChampsEtendus(String groupeChampsEtendusJson) {
19
		super();
20
		try {
2392 aurelien 21
			correspondancesClesLabels = new HashMap<String, String>();
2755 aurelien 22
			correspondancesCorrespondancesIdsNomsGroupes = new HashMap<String, String>();
2392 aurelien 23
			JSONValue groupesJson = JSONParser.parseStrict(groupeChampsEtendusJson);
24
			JSONArray groupes = groupesJson.isArray();
2033 aurelien 25
 
2392 aurelien 26
			for (int i = 0; i < groupes.size(); i++) {
27
 
28
				JSONObject groupe = groupes.get(i).isObject();
2755 aurelien 29
				String cleGroupe = groupe.get("cle").isString().stringValue();
2392 aurelien 30
				String nomGroupe = groupe.get("nom").isString().stringValue();
31
				JSONArray listeClesLabels = groupe.get("champs").isArray();
32
 
2755 aurelien 33
				correspondancesCorrespondancesIdsNomsGroupes.put(cleGroupe, nomGroupe);
34
 
2033 aurelien 35
				HashMap<String, String> groupesClesLabel = new HashMap<String, String>();
2392 aurelien 36
 
37
				for (int j = 0; j < listeClesLabels.size(); j++) {
38
					JSONObject champ = listeClesLabels.get(j).isObject();
39
					String cle = champ.get("cle").isString().stringValue();
40
					String label = champ.get("label").isString().stringValue();
2033 aurelien 41
					groupesClesLabel.put(cle, label);
2392 aurelien 42
					correspondancesClesLabels.put(cle, label);
2033 aurelien 43
				}
2392 aurelien 44
 
45
				this.put(nomGroupe, groupesClesLabel);
2033 aurelien 46
			}
47
		} catch (Exception e) {
48
			// TODO: handle exception
49
		}
50
	}
2392 aurelien 51
 
52
	public HashMap<String, String> getCorrespondancesClesLabel() {
53
		return correspondancesClesLabels;
54
	}
55
 
2755 aurelien 56
	public HashMap<String, String> getCorrespondancesCorrespondancesIdsNomsGroupes() {
57
		return correspondancesCorrespondancesIdsNomsGroupes;
58
	}
2033 aurelien 59
}