Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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