Rev 81 | Rev 99 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import org.tela_botanica.client.image.ImageModele;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.observation.ObservationModele;import com.google.gwt.http.client.Request;import com.google.gwt.http.client.RequestBuilder;import com.google.gwt.http.client.RequestCallback;import com.google.gwt.http.client.RequestException;import com.google.gwt.http.client.Response;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONString;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.Window;public class LienImageAsynchroneDAO {private ImageModele iModele = null ;private ObservationModele oModele = null ;private Rafraichissable raf = null ;public LienImageAsynchroneDAO(ImageModele im) {iModele = im;}public LienImageAsynchroneDAO(ObservationModele om) {oModele = om;}/*** Setteur pour le modèle** @param im* le modèle à associer*/public void setIModele(ImageModele im) {iModele = im;}public void obtenirLiaisonsImagesObservations(Rafraichissable r,String id){String paramGet = "&coi_ce_image="+id ;// et on envoie ça au serveurRequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele.getConfig().getServiceBaseUrl()+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet);try {rb.sendRequest(null, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request,Response response) {Window.alert(response.getText()) ;}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void obtenirLiaisonsObservationsImages(Rafraichissable r,String idObs, String utilisateur){String paramGet = "&coi_ce_observation="+idObs ;raf = r ;// et on envoie ça au serveurRequestBuilder rb = new RequestBuilder(RequestBuilder.GET, oModele.getConfig().getServiceBaseUrl()+ "/inventoryImageLink/" + utilisateur + "/" + paramGet);try {rb.sendRequest(null, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request,Response response) {String baseUrl = "http://162.38.234.9/Documents/images_serveur/";final JSONValue responseValue = JSONParser.parse(response.getText());// si c'est un tableauif (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();final int taillemax = reponse.size();String urlTab[] = new String[taillemax] ;for(int i = 0 ;i<taillemax ;i++){final JSONArray reponseInt = reponse.get(i).isArray();String idImg = ((JSONString)reponseInt.get(0)).stringValue() ;int maxZeros = 9 - idImg.length();for (int j = 0; j < maxZeros; j++) {idImg = "0" + idImg;}String dossierNv1 = idImg.substring(0, 3);String dossierNv2 = idImg.substring(3, 6);String fichierNv = idImg.substring(6, 9);String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv;String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 };String url_img = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/"+ infosFichier[0] + "_M.jpg";urlTab[i]= url_img ;}raf.rafraichir(urlTab, false) ;}else{String urlTab[] = new String[0] ;raf.rafraichir(urlTab, false) ;}}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void lierImageBaseDeDonnees(String idsImages, String idsObs) {String postData = "";postData += "&coi_ce_image="+idsImages ;postData += "&coi_ce_observation="+idsObs ;postData += "&identifiant="+iModele.getIdentifiant() ;// et on envoie ça au serveurRequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele.getConfig().getServiceBaseUrl()+ "/inventoryImageLink/");if(Window.confirm("Lier les images "+idsImages+" aux observations "+idsObs+" ?")){try {rb.sendRequest(postData, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request,Response response) {// quand la requête est éxecutée on le signale au modèle// poru qu'il mette à jour les données// et en notifie le médiateur// iModele.requeteTerminee();}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}