New file |
0,0 → 1,101 |
package org.tela_botanica.client.util; |
|
import java.util.HashMap; |
import java.util.Iterator; |
|
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
import org.tela_botanica.client.http.JsonRestRequestBuilder; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.http.client.URL; |
|
/** |
* @author Gréguoire DUCHÉ <greguoire@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @description La classe utilDAO fournit des méthodes communes pour les outils DAO |
* */ |
public class UtilDAO { |
|
private static String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
public static final String GET = "GET"; |
public static final String POST = "POST"; |
public static final String DELETE = "DELETE"; |
public static final String PUT = "PUT"; |
private static final String SEPARATEUR_CHEMIN = "/"; |
private static final String SEPARATEUR_CLE_VALEUR = "="; |
private static final String SEPARATEUR_PARAMETRE = "&"; |
private static final String SEPARATEUR_CHEMIN_PARAMETRE = "?"; |
private static final String CONTENU_CHEMIN_VIDE = "*"; |
|
public static JsonRestRequestBuilder construireRequetePost(String nomService) { |
return construireRequete(nomService, null, null, POST); |
} |
|
public static JsonRestRequestBuilder construireRequetePost(String nomService, String[] parametres) { |
return construireRequete(nomService, parametres, null, POST); |
} |
|
public static JsonRestRequestBuilder construireRequete(String nomService) { |
return construireRequete(nomService, null, null, GET); |
} |
|
public static JsonRestRequestBuilder construireRequete(String nomService, String[] parametres) { |
return construireRequete(nomService, parametres, null, GET); |
} |
|
public static JsonRestRequestBuilder construireRequete(String nomService, HashMap<String, String> restrictions) { |
return construireRequete(nomService, null, restrictions, GET); |
} |
|
public static JsonRestRequestBuilder construireRequete(String nomService, String[] parametres, HashMap<String, String> restrictions) { |
return construireRequete(nomService, parametres, restrictions, GET); |
} |
|
private static JsonRestRequestBuilder construireRequete(String nomService, String[] parametres, HashMap<String, String> restrictions, String typeRequete) { |
String restrictionsUrl = construireUrlParametres(restrictions); |
String parametresUrl = construireUrlChemin(parametres); |
|
String urlComplete = baseUrl + nomService + parametresUrl + restrictionsUrl; |
String urlCompleteEncodee = URL.encode(urlComplete); |
|
System.out.println(urlCompleteEncodee); |
|
JsonRestRequestBuilder jrrb; |
if (typeRequete.equals(GET)) { |
jrrb = new JsonRestRequestBuilder(JsonRestRequestBuilder.GET, urlCompleteEncodee); |
} else { |
jrrb = new JsonRestRequestBuilder(JsonRestRequestBuilder.POST, urlCompleteEncodee); |
} |
return jrrb; |
} |
|
private static String construireUrlParametres(HashMap<String, String> parametres) { |
String parametresUrl = ""; |
if (parametres != null && parametres.size() > 0) { |
parametresUrl = SEPARATEUR_CHEMIN_PARAMETRE; |
Iterator<String> iterateur = parametres.keySet().iterator(); |
while (iterateur.hasNext()) { |
String cle = iterateur.next(); |
parametresUrl += cle + SEPARATEUR_CLE_VALEUR + parametres.get(cle); |
|
if (iterateur.hasNext()) { |
parametresUrl = parametresUrl + SEPARATEUR_PARAMETRE; |
} |
} |
} |
return parametresUrl; |
} |
|
private static String construireUrlChemin(String[] morceauxDuChemin) { |
String cheminUrl = ""; |
if (morceauxDuChemin != null && morceauxDuChemin.length > 0) { |
cheminUrl = SEPARATEUR_CHEMIN; |
for (int i = 0; i < morceauxDuChemin.length; i++) { |
cheminUrl += (UtilString.isEmpty(morceauxDuChemin[i]) ? CONTENU_CHEMIN_VIDE : morceauxDuChemin[i]) + SEPARATEUR_CHEMIN; |
} |
} |
return cheminUrl; |
} |
|
} |