1,13 → 1,16 |
package org.tela_botanica.client.util; |
|
import java.util.ArrayList; |
import java.util.Collections; |
import java.util.Comparator; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
import java.util.Vector; |
|
import org.tela_botanica.client.modeles.objets.ChampEtendu; |
import org.tela_botanica.client.modeles.objets.Observation; |
|
import com.google.gwt.http.client.URL; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
28,7 → 31,7 |
for (int i = 0; i < tabJo.size(); i++) { |
JSONObject champJson = tabJo.get(i).isObject(); |
String cle = champJson.get("cle").isString().stringValue(); |
String label = champJson.get("label").isString().stringValue(); |
String label = cle; |
String valeur = champJson.get("valeur").isString().stringValue(); |
ChampEtendu champ = new ChampEtendu(cle, label, valeur); |
mapValeurs.put(cle, champ); |
319,4 → 322,82 |
public static String tronquerNombrePourAffichage(String nombre, int decimales) { |
return tronquerNombrePourAffichage(nombre, decimales, '.'); |
} |
|
// Adapté de http://www.programcreek.com/2011/03/java-method-for-spliting-a-camelcase-string/ |
public static String formaterCleChampsEtenduPourAffichage(String s) { |
char[] cArray = s.toCharArray(); |
|
Vector<Integer> al = new Vector<Integer>(); |
al.add(0); |
|
// get all upper case letter index positions |
for (int i = 1; i < cArray.length; i++) { |
char c = cArray[i]; |
//add more interested index beyond upper case letter |
if (c >= 65 && c <= 90) { |
al.add(i); |
} |
} |
|
Vector<String> strl = new Vector<String>(); |
|
// this handles the all lower letter case |
if (al.size() == 1) { |
strl.add(s); |
return depilerChaineListee(strl, " "); |
} |
|
|
int prev = 0; |
int curr = 0; |
int begin = 0; |
for (int k = 1; k < al.size(); k++) { |
|
curr = al.get(k); |
|
if(curr == s.length() - 1){ |
|
} |
|
if (curr == prev + 1 && curr != s.length() - 1) { |
prev = curr; |
} else if(curr == prev + 1 && curr == s.length() - 1){ |
strl.add(s.substring(begin, curr+1)); |
}else { |
|
strl.add(s.substring(prev, curr)); |
prev = curr; |
begin = curr; |
if (k == al.size() - 1) { |
strl.add(s.substring(curr, s.length())); |
} |
} |
} |
|
return depilerChaineListee(strl, " "); |
} |
|
private static String depilerChaineListee(Vector<String> strl, String separateur) { |
String s = ""; |
for(int i = 0; i < strl.size(); i++) { |
s += strl.get(i); |
if(i != strl.size() - 1) { |
s += separateur; |
} |
} |
return s; |
} |
|
public static Map<String, ChampEtendu> trierListeChampsEtendus(Map<String, ChampEtendu> listeChampsEtendus) { |
List<String> tmp = new ArrayList<String>(listeChampsEtendus.keySet()); |
Collections.sort(tmp, new Comparator<String>() { |
|
@Override |
public int compare(String arg0, String arg1) { |
return arg0.compareTo(arg1); |
} |
|
}); |
return listeChampsEtendus; |
} |
} |