Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2170 → Rev 2171

/branches/v1.11-magnesium/src/org/tela_botanica/del/client/utils/StringUtils.java
New file
0,0 → 1,143
package org.tela_botanica.del.client.utils;
 
import org.tela_botanica.del.client.i18n.I18n;
 
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.Window;
 
public class StringUtils {
public static boolean checkStringNotNull(String s){
if(s!=null&&!s.equals("")){
return true;
}
return false;
}
public static String normaliser(String mot) {
mot = mot.toLowerCase().trim().replace(" ", "");
// Le manque de support des librairies standard java
// nous oblige à utiliser cette méthode un peu batarde
char[] accents = {'à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë', 'Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'};
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'};
for (int i = 0; i < accents.length; i++) {
mot = mot.replace(accents[i], sansAccents[i]);
}
return mot;
}
public static native void logVersConsole(Object o) /*-{
if(!!($wnd.console && $wnd.console.log)) {
$wnd.console.log(o);
}
}-*/;
public static String formaterNombre(double valeur, int decimales) {
StringBuilder patternNb = new StringBuilder(
(decimales <= 0) ? "" : ".");
for (int i = 0; i < decimales; i++) {
patternNb.append('0');
}
if(valeur == 0) {
patternNb.insert(0, 0);
}
return NumberFormat.getFormat(patternNb.toString()).format(valeur);
}
public static String getCorrespondanceChaineEvenementObs(String evenement) {
String trad = "";
// Arghhhh pourquoi on ne peut pas faire de switch sur une string !!!!!!
// arggh arrrghghhhhhh
if(evenement.equals("nouveau_vote")) {
trad = I18n.getVocabulary().nouveauVote();
}
if(evenement.equals("nouveau_commentaire")) {
trad = I18n.getVocabulary().nouveauCommentaire();
}
if(evenement.equals("nouvelle_observation")) {
trad = I18n.getVocabulary().nouvelleObservation();
}
if(evenement.equals("nouveau_commentaire_vous_a_obs_autre")) {
trad = I18n.getVocabulary().nouveauCommentaireVousAObsAutre();
}
if(evenement.equals("nouveau_commentaire_autre_sur_obs_vous")) {
trad = I18n.getVocabulary().nouveauCommentaireAutreSurObsVous();
}
if(evenement.equals("nouvelle_proposition_vous_a_obs_autre")) {
trad = I18n.getVocabulary().nouvellePropositionVousAObsAutre();
}
if(evenement.equals("nouvelle_proposition_autre_sur_obs_vous")) {
trad = I18n.getVocabulary().nouvellePropositionAutreSurObsVous();
}
if(evenement.equals("nouveau_vote_vous_a_com_autre")) {
trad = I18n.getVocabulary().nouveauVoteVousAComAutre();
}
if(evenement.equals("nouveau_vote_autre_sur_com_vous")) {
trad = I18n.getVocabulary().nouveauVoteAutreSurComVous();
}
if(evenement.equals("nouvelle_validation_vous_a_prop_autre")) {
trad = I18n.getVocabulary().nouvelleValidationVousAPropAutre();
}
if(evenement.equals("nouvelle_validation_autre_sur_prop_vous")) {
trad = I18n.getVocabulary().nouvelleValidationAutreAPropVous();
}
if(evenement.equals("nouveau_vote_autre_sur_com_autre_obs_vous")) {
trad = I18n.getVocabulary().nouveauVoteAutreSurComAutreObsVous();
}
if(evenement.equals("nouvelle_reponse_autre_sur_commentaire_vous")) {
trad = I18n.getVocabulary().nouvelleReponseAutreSurCommentaireVous();
}
if(evenement.equals("nouvelle_reponse_autre_sur_proposition_vous")) {
trad = I18n.getVocabulary().nouvelleReponseAutreSurPropositionVous();
}
return trad;
}
public static String getClasseEvenementObs(String evenement) {
String classeEvt = "";
if(evenement.equals("nouveau_commentaire_vous_a_obs_autre") ||
evenement.equals("nouveau_commentaire_autre_sur_obs_vous") ||
evenement.equals("nouvelle_reponse_autre_sur_commentaire_vous") ||
evenement.equals("nouvelle_reponse_autre_sur_proposition_vous")) {
classeEvt = "evtObsCitation";
} else {
classeEvt = "evtObsAction";
}
return classeEvt;
}
/**
* Puts ellipses in input strings that are longer than than maxCharacters. Shorter strings or
* null is returned unchanged.
* @param input the input string that may be subjected to shortening
* @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.
* @param the number of characters that should appear after the ellipsis (0 or larger)
*/
public static String ellipsize(String input, int maxCharacters, int charactersAfterEllipsis) {
if (input == null || input.length() < maxCharacters) {
return input;
}
return input.substring(0, maxCharacters - 3 - charactersAfterEllipsis) + "..." + input.substring(input.length() - charactersAfterEllipsis);
}
}