Subversion Repositories eFlore/Applications.del

Rev

Rev 2064 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2064 Rev 2067
1
package org.tela_botanica.del.client.utils;
1
package org.tela_botanica.del.client.utils;
2
 
2
 
3
import org.tela_botanica.del.client.i18n.I18n;
3
import org.tela_botanica.del.client.i18n.I18n;
4
 
4
 
5
import com.google.gwt.i18n.client.NumberFormat;
5
import com.google.gwt.i18n.client.NumberFormat;
-
 
6
import com.google.gwt.user.client.Window;
6
 
7
 
7
public class StringUtils {
8
public class StringUtils {
8
	
9
	
9
	public static boolean checkStringNotNull(String s){
10
	public static boolean checkStringNotNull(String s){
10
		if(s!=null&&!s.equals("")){
11
		if(s!=null&&!s.equals("")){
11
			return true;
12
			return true;
12
		}
13
		}
13
		return false;
14
		return false;
14
	}
15
	}
15
	
16
	
16
	public static String normaliser(String mot) {
17
	public static String normaliser(String mot) {
17
		
18
		
18
		mot = mot.toLowerCase().trim().replace(" ", "");
19
		mot = mot.toLowerCase().trim().replace(" ", "");
19
		
20
		
20
		// Le manque de support des librairies standard java
21
		// Le manque de support des librairies standard java
21
		// nous oblige à utiliser cette méthode un peu batarde
22
		// nous oblige à utiliser cette méthode un peu batarde
22
		char[] accents = {'à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë', 'Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'};
23
		char[] accents = {'à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë', 'Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'};
23
		char[] sansAccents = {'a','a','a','a','a','c', 'e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u', 'y','y','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','U','U','U','U','Y'};
24
		char[] sansAccents = {'a','a','a','a','a','c', 'e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u', 'y','y','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','U','U','U','U','Y'};
24
	
25
	
25
		for (int i = 0; i < accents.length; i++) {
26
		for (int i = 0; i < accents.length; i++) {
26
			mot = mot.replace(accents[i], sansAccents[i]);
27
			mot = mot.replace(accents[i], sansAccents[i]);
27
		}
28
		}
28
	
29
	
29
		return mot;
30
		return mot;
30
	}
31
	}
31
	
32
	
32
	public static native void logVersConsole(Object o) /*-{
33
	public static native void logVersConsole(Object o) /*-{
33
		if(!!($wnd.console && $wnd.console.log)) {
34
		if(!!($wnd.console && $wnd.console.log)) {
34
			$wnd.console.log(o);
35
			$wnd.console.log(o);
35
		}
36
		}
36
	}-*/;
37
	}-*/;
37
	
38
	
38
	public static String formaterNombre(double valeur, int decimales) {
39
	public static String formaterNombre(double valeur, int decimales) {
39
	    StringBuilder patternNb = new StringBuilder(
40
	    StringBuilder patternNb = new StringBuilder(
40
	            (decimales <= 0) ? "" : ".");
41
	            (decimales <= 0) ? "" : ".");
41
	    for (int i = 0; i < decimales; i++) {
42
	    for (int i = 0; i < decimales; i++) {
42
	    	patternNb.append('0');
43
	    	patternNb.append('0');
43
	    }
44
	    }
44
	    
45
	    
45
	    if(valeur == 0) {
46
	    if(valeur == 0) {
46
	    	patternNb.insert(0, 0);
47
	    	patternNb.insert(0, 0);
47
	    }
48
	    }
48
	    
49
	    
49
	    return NumberFormat.getFormat(patternNb.toString()).format(valeur);
50
	    return NumberFormat.getFormat(patternNb.toString()).format(valeur);
50
	}
51
	}
51
	
52
	
52
	public static String getCorrespondanceChaineEvenementObs(String evenement, int nb) {
53
	public static String getCorrespondanceChaineEvenementObs(String evenement) {
53
		String trad = "";
54
		String trad = "";
54
		
55
		
55
		// Arghhhh pourquoi on ne peut pas faire de switch sur une string !!!!!!
56
		// Arghhhh pourquoi on ne peut pas faire de switch sur une string !!!!!!
56
		// arggh arrrghghhhhhh
57
		// arggh arrrghghhhhhh
57
		if(evenement.equals("nouveau_vote")) {
58
		if(evenement.equals("nouveau_vote")) {
58
			trad = nb > 1 ? I18n.getMessages().nouveauxVotes(nb+"") : I18n.getVocabulary().nouveauVote();
59
			trad = I18n.getVocabulary().nouveauVote();
59
		}
60
		}
60
		
61
		
61
		if(evenement.equals("nouveau_commentaire")) {
62
		if(evenement.equals("nouveau_commentaire")) {
62
			trad = nb > 1 ? I18n.getMessages().nouveauxCommentaires(nb+"") : I18n.getVocabulary().nouveauCommentaire();
63
			trad = I18n.getVocabulary().nouveauCommentaire();
63
		}
64
		}
64
			
65
			
65
		if(evenement.equals("nouvelle_observation")) {
66
		if(evenement.equals("nouvelle_observation")) {
66
			trad = I18n.getVocabulary().nouvelleObservation();
67
			trad = I18n.getVocabulary().nouvelleObservation();
67
		}
68
		}
68
		
69
		
69
		if(evenement.equals("nouveau_commentaire_vous_a_obs_autre")) {
70
		if(evenement.equals("nouveau_commentaire_vous_a_obs_autre")) {
70
			trad = I18n.getVocabulary().nouveauCommentaireVousAObsAutre();
71
			trad = I18n.getVocabulary().nouveauCommentaireVousAObsAutre();
71
		}
72
		}
72
		
73
		
73
		if(evenement.equals("nouveau_commentaire_autre_sur_obs_vous")) {
74
		if(evenement.equals("nouveau_commentaire_autre_sur_obs_vous")) {
74
			trad = I18n.getVocabulary().nouveauCommentaireAutreSurObsVous();
75
			trad = I18n.getVocabulary().nouveauCommentaireAutreSurObsVous();
75
		}
76
		}
76
		
77
		
77
		if(evenement.equals("nouvelle_proposition_vous_a_obs_autre")) {
78
		if(evenement.equals("nouvelle_proposition_vous_a_obs_autre")) {
78
			trad = I18n.getVocabulary().nouvellePropositionVousAObsAutre();
79
			trad = I18n.getVocabulary().nouvellePropositionVousAObsAutre();
79
		}
80
		}
80
		
81
		
81
		if(evenement.equals("nouvelle_proposition_autre_sur_obs_vous")) {
82
		if(evenement.equals("nouvelle_proposition_autre_sur_obs_vous")) {
82
			trad = I18n.getVocabulary().nouvellePropositionAutreSurObsVous();
83
			trad = I18n.getVocabulary().nouvellePropositionAutreSurObsVous();
83
		}
84
		}
84
		
85
		
85
		if(evenement.equals("nouveau_vote_vous_a_com_autre")) {
86
		if(evenement.equals("nouveau_vote_vous_a_com_autre")) {
86
			trad = I18n.getVocabulary().nouveauVoteVousAComAutre();
87
			trad = I18n.getVocabulary().nouveauVoteVousAComAutre();
87
		}
88
		}
88
		
89
		
89
		if(evenement.equals("nouveau_vote_autre_sur_com_vous")) {
90
		if(evenement.equals("nouveau_vote_autre_sur_com_vous")) {
90
			trad = I18n.getVocabulary().nouveauVoteAutreSurComVous();
91
			trad = I18n.getVocabulary().nouveauVoteAutreSurComVous();
91
		}
92
		}
92
		
93
		
93
		if(evenement.equals("nouvelle_validation_vous_a_prop_autre")) {
94
		if(evenement.equals("nouvelle_validation_vous_a_prop_autre")) {
94
			trad = I18n.getVocabulary().nouvelleValidationVousAPropAutre();
95
			trad = I18n.getVocabulary().nouvelleValidationVousAPropAutre();
95
		}
96
		}
96
		
97
		
97
		if(evenement.equals("nouvelle_validation_autre_sur_prop_vous")) {
98
		if(evenement.equals("nouvelle_validation_autre_sur_prop_vous")) {
98
			trad = I18n.getVocabulary().nouvelleValidationAutreAPropVous();
99
			trad = I18n.getVocabulary().nouvelleValidationAutreAPropVous();
99
		}
100
		}
100
		
101
		
101
		if(evenement.equals("nouveau_vote_autre_sur_com_autre_obs_vous")) {
102
		if(evenement.equals("nouveau_vote_autre_sur_com_autre_obs_vous")) {
102
			trad = I18n.getVocabulary().nouveauVoteAutreSurComAutreObsVous();
103
			trad = I18n.getVocabulary().nouveauVoteAutreSurComAutreObsVous();
103
		}
104
		}
104
		
105
		
105
		if(evenement.equals("nouvelle_reponse_autre_sur_commentaire_vous")) {
106
		if(evenement.equals("nouvelle_reponse_autre_sur_commentaire_vous")) {
106
			trad = I18n.getVocabulary().nouvelleReponseAutreSurCommentaireVous();
107
			trad = I18n.getVocabulary().nouvelleReponseAutreSurCommentaireVous();
107
		}
108
		}
108
		
109
		
109
		if(evenement.equals("nouvelle_reponse_autre_sur_proposition_vous")) {
110
		if(evenement.equals("nouvelle_reponse_autre_sur_proposition_vous")) {
110
			trad = I18n.getVocabulary().nouvelleReponseAutreSurPropositionVous();
111
			trad = I18n.getVocabulary().nouvelleReponseAutreSurPropositionVous();
111
		}
112
		}
112
		
113
		
113
		return trad;
114
		return trad;
114
	}
115
	}
-
 
116
	
-
 
117
	public static String getClasseEvenementObs(String evenement) {
-
 
118
		String classeEvt = "";
-
 
119
		if(evenement.equals("nouveau_commentaire_vous_a_obs_autre") ||
-
 
120
		evenement.equals("nouveau_commentaire_autre_sur_obs_vous") ||
-
 
121
		evenement.equals("nouvelle_reponse_autre_sur_commentaire_vous") ||
-
 
122
		evenement.equals("nouvelle_reponse_autre_sur_proposition_vous")) {
-
 
123
			classeEvt = "evtObsCitation";
-
 
124
		} else {
-
 
125
			classeEvt = "evtObsAction";
-
 
126
		}
-
 
127
		return classeEvt;
-
 
128
	}
-
 
129
	
-
 
130
	/**
-
 
131
	 * Puts ellipses in input strings that are longer than than maxCharacters. Shorter strings or
-
 
132
	 * null is returned unchanged.
-
 
133
	 * @param input the input string that may be subjected to shortening
-
 
134
	 * @param maxCharacters the maximum characters that are acceptable for the unshortended string. Must be at least 3, otherwise a string with ellipses is too long already.
-
 
135
	 * @param the number of characters that should appear after the ellipsis (0 or larger) 
-
 
136
	 */
-
 
137
	public static String ellipsize(String input, int maxCharacters, int charactersAfterEllipsis) {
-
 
138
	  if (input == null || input.length() < maxCharacters) {
-
 
139
	    return input;
-
 
140
	  }
-
 
141
	  return input.substring(0, maxCharacters - 3 - charactersAfterEllipsis) + "..." + input.substring(input.length() - charactersAfterEllipsis);
-
 
142
	}
115
}
143
}