Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
734 aurelien 1
package org.tela_botanica.client.util;
2 aperonnet 2
 
642 aurelien 3
import org.tela_botanica.client.modeles.Observation;
4
 
2 aperonnet 5
public class Util {
6
 
7
	public Util() {
8
	}
9
 
10
	public static String toCelString(String str) {
7 aperonnet 11
		return str.substring(1, str.length() - 1);
2 aperonnet 12
		//
13
	}
642 aurelien 14
 
15
	public static String formaterLieu(Observation obs, String modeleLieu) {
16
 
17
		String lieuModele = modeleLieu;
18
 
19
		String commune = obs.getLocalite();
20
		String lieuDit = obs.getLieudit();
21
		String station = obs.getStation();
22
 
23
		String lieuCommuneFormate = "";
24
		String lieuDitFormate = "";
25
		String stationFormatee = "";
26
 
27
		if(commune != null && !commune.contains("000null") && !commune.trim().equals("")) {
28
			String	idLoc =obs.getIdentifiantLocalite().replaceAll(" ","/");
29
			if(idLoc != null && !idLoc.contains("000null") && !idLoc.trim().equals("")) {
30
 
31
				idLoc = idLoc.replaceAll("%","");
32
				idLoc = idLoc.replaceAll("\"","");
33
				idLoc = idLoc.replace('\\',' ');
34
				idLoc = idLoc.trim();
35
				lieuCommuneFormate += idLoc+" - ";
36
			}
37
			lieuCommuneFormate += commune;
38
			lieuModele = lieuModele.replaceAll("IDLOCCOMMUNE", lieuCommuneFormate);
39
		} else {
40
 
41
			lieuModele = lieuModele.replaceAll("IDLOCCOMMUNE,", lieuCommuneFormate);
42
		}
43
 
44
		if(lieuDit != null && !lieuDit.contains("000null") && !lieuDit.trim().equals("")) {
45
			lieuDitFormate += lieuDit;
46
			lieuModele = lieuModele.replaceAll("LIEUDIT", lieuDitFormate);
47
		} else {
48
			lieuModele = lieuModele.replaceAll("LIEUDIT,", lieuDitFormate);
49
		}
50
 
51
		if(station != null && !station.contains("000null") && !station.trim().equals("")) {
52
			stationFormatee += station;
53
			lieuModele = lieuModele.replaceAll("STATION", stationFormatee);
54
		} else {
55
			lieuModele = lieuModele.replaceAll("STATION", stationFormatee);
56
		}
57
 
58
		lieuModele = lieuModele.trim();
59
		lieuModele = lieuModele.replaceAll(",$","");
60
		lieuModele = lieuModele.replaceAll(",^$",", ");
61
 
62
		return lieuModele;
63
	}
64
 
65
	public static String supprimerNumDepartementChaineLocalite(String chaineLocaliteComplete) {
66
		return chaineLocaliteComplete.replaceAll("\\([0-9][1-9]\\)", "");
67
	}
673 aurelien 68
 
69
	/***
70
	 * Fusionne les éléments d'un tableau en une chaîne
71
	 * @param delim : la chaîne de séparation
72
	 * @param args : la tableau
73
	 * @return la chaîne fusionnée
74
	 */
75
	public static String implode(String delim, String[] args){
76
		StringBuffer sb = new StringBuffer();
77
 
78
		int lgArgs = args.length;
79
 
80
		for(int i = 0; i < lgArgs; i++){
81
			if (i > 0) {
82
				sb.append(delim);
83
			}
84
 
85
			sb.append(args[i]);
86
		}
87
 
88
		return sb.toString();
89
	}
90
 
91
	public static boolean filtreValide(String[] filtre) {
92
 
93
		return (filtre.length == 2 &&
94
		filtre[0] != null &&
95
		!filtre[0].equals("") &&
96
		filtre[1] != null &&
97
		!filtre[1].equals(""));
98
	}
99
 
100
	public static String renvoyerMois(int numMois) {
101
 
102
		switch (numMois) {
103
		case 1:
104
			return "janvier" ;
105
		case 2:
106
			return "fevrier" ;
107
		case 3:
108
			return "mars" ;
109
		case 4:
110
			return "avril" ;
111
		case 5:
112
			return "mai" ;
113
		case 6:
114
			return "juin" ;
115
		case 7:
116
			return "juillet" ;
117
		case 8:
118
			return "août" ;
119
		case 9:
120
			return "septembre" ;
121
		case 10:
122
			return "octobre" ;
123
		case 11:
124
			return "novembre" ;
125
		case 12:
126
			return "décembre" ;
127
		default:
128
			return "Inconnu" ;
129
		}
130
	}
131
 
132
	public static String remplacerSautsDeligneMalEncodes(String chaineAvecSautsDeLignesMalEncodes) {
133
 
134
		String chaineAvecSautsDeLignesBienEncodes = chaineAvecSautsDeLignesMalEncodes.replace('\\','%');
135
		chaineAvecSautsDeLignesBienEncodes = chaineAvecSautsDeLignesBienEncodes.replaceAll("%n","%");
136
		chaineAvecSautsDeLignesBienEncodes = chaineAvecSautsDeLignesBienEncodes.replace('%','\n');
137
 
138
		return chaineAvecSautsDeLignesBienEncodes;
139
	}
140
 
141
	public static boolean verifierDateFormatCel(String dateAVerifier) {
142
 
143
		String dateRemplacee = remplacerSeparateursDateFormatCel(dateAVerifier);
144
		String[] tabDate = dateRemplacee.split("/");
145
 
146
		boolean retour = false;
147
 
148
		if(tabDate.length == 3) {
149
			try {
1282 aurelien 150
				//TODO: faire un parsing de date qui fonctionne mieux car
151
				// on peut saisir un 31 novembre par exemple
152
				// mais l'api date de java est mal gérée par gwt
673 aurelien 153
				int jour = Integer.parseInt(tabDate[0]);
154
				int mois = Integer.parseInt(tabDate[1]);
1282 aurelien 155
				String annee = tabDate[2];
673 aurelien 156
 
1282 aurelien 157
				if(jour <= 31 && mois <= 12 && annee.length() == 4) {
673 aurelien 158
					retour = true;
159
				}
160
			} catch (Exception e) {
161
 
162
			}
163
		}
164
 
165
		return retour;
166
	}
167
 
168
	public static String remplacerSeparateursDateFormatCel(String date) {
169
 
170
		String dateRemplacee = date.replaceAll("-", "/");
171
 
172
	    return dateRemplacee;
173
	}
2 aperonnet 174
}