Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 18 | Rev 27 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 aperonnet 1
package org.tela_botanica.client.modeles;
2
 
18 aperonnet 3
import java.util.Iterator;
4
 
5
import org.tela_botanica.client.image.ImageMediateur;
5 aperonnet 6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
 
8
import com.google.gwt.json.client.JSONArray;
12 aperonnet 9
import com.google.gwt.json.client.JSONObject;
5 aperonnet 10
import com.google.gwt.json.client.JSONParser;
11
import com.google.gwt.json.client.JSONString;
12
import com.google.gwt.json.client.JSONValue;
13
import com.google.gwt.user.client.HTTPRequest;
14
import com.google.gwt.user.client.ResponseTextHandler;
22 aperonnet 15
import com.google.gwt.user.client.Window;
5 aperonnet 16
import com.gwtext.client.data.ArrayReader;
17
import com.gwtext.client.data.FieldDef;
18
import com.gwtext.client.data.MemoryProxy;
19
import com.gwtext.client.data.RecordDef;
20
import com.gwtext.client.data.Store;
21
import com.gwtext.client.data.StringFieldDef;
22
 
12 aperonnet 23
/**
24
 * Data Object Access communiquant avec le serveur jrest fournissant la liste des images
25
 * répondant à des critères donné
26
 * @author aurelien
27
 *
28
 */
5 aperonnet 29
public class ListeImageAsynchroneDAO {
30
 
18 aperonnet 31
	ImageMediateur iMediateur = null ;
32
 
33
	public void setIMediateur(ImageMediateur im)
34
	{
35
		iMediateur = im ;
36
	}
37
 
5 aperonnet 38
	public void ObtenirListeImages(final Rafraichissable r)
39
	{
12 aperonnet 40
		HTTPRequest.asyncGet("jrest/inventoryImageList/1/ci_publiable_eflore=0", new ResponseTextHandler() {
5 aperonnet 41
			public void onCompletion(String responseText) {
42
 
22 aperonnet 43
				final ListeImageCarnet photoData ;
5 aperonnet 44
 
45
				final JSONValue responseValue = JSONParser.parse(responseText);
46
				if (responseValue.isArray() != null) {
47
 
12 aperonnet 48
					final JSONArray reponse = responseValue.isArray();
5 aperonnet 49
 
12 aperonnet 50
					final int taillemax = reponse.size();
22 aperonnet 51
					photoData = new ListeImageCarnet(taillemax);
12 aperonnet 52
 
53
 
54
					for (int j = 0; j < taillemax ; j++) {
55
 
56
						JSONObject image = (JSONObject)reponse.get(j) ;
57
 
18 aperonnet 58
						ImageCarnet im = new ImageCarnet(image) ;
12 aperonnet 59
 
18 aperonnet 60
						photoData.put(im.getOrdre(),im) ;
61
 
5 aperonnet 62
					}
63
				}
64
				else
65
				{
12 aperonnet 66
					if(responseValue.isObject() != null)
67
					{
22 aperonnet 68
						photoData = new ListeImageCarnet(1);
18 aperonnet 69
						ImageCarnet im = new ImageCarnet(responseValue.isObject()) ;
70
						photoData.put(im.getOrdre(),im) ;
12 aperonnet 71
					}
72
					else
73
					{
22 aperonnet 74
						photoData = new ListeImageCarnet(0) ;
12 aperonnet 75
					}
5 aperonnet 76
				}
77
 
16 aperonnet 78
				r.rafraichir(photoData,true);
5 aperonnet 79
			}
80
		});
81
	}
18 aperonnet 82
 
22 aperonnet 83
	public void SynchroniserBaseDeDonnees(ListeImageCarnet li)
18 aperonnet 84
	{
22 aperonnet 85
		for(Iterator listIt = li.keySet().iterator() ; listIt.hasNext() ;)
18 aperonnet 86
		{
22 aperonnet 87
			String postData = "" ;
88
 
89
			ImageCarnet enCours = (ImageCarnet)li.get(listIt.next()) ;
90
 
91
			System.out.println(enCours.toString()+"\n");
92
 
93
			for(Iterator imgIt = enCours.keySet().iterator();imgIt.hasNext();)
94
			{
95
				String key = (String)imgIt.next() ;
96
				String valeur = enCours.renvoyerValeurCorrecte(key) ;
97
				valeur.replaceAll("'", "\'") ;
98
					postData += "&"+key+"="+enCours.renvoyerValeurCorrecte(key) ;
99
 
100
			}
101
 
102
			//System.out.println(postData);
103
					HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
104
						public void onCompletion(String responseText) {
105
 
106
 
107
						}
108
 
109
					}) ;
18 aperonnet 110
		}
111
	}
112
 
22 aperonnet 113
	public void supprimerBaseDeDonnees(String[] ids)
114
	{
115
		String postData = "" ;
116
		postData += "&action=DELETE" ;
117
 
118
		String uid = "" ;
119
 
120
		for (int i = 0; i < ids.length; i++) {
121
 
122
			uid += ids[i]+"," ;
123
		}
124
 
125
 
126
		HTTPRequest.asyncPost("jrest/inventoryImageList/0/"+uid, postData, new ResponseTextHandler() {
127
			public void onCompletion(String responseText) {
128
 
129
				iMediateur.rafraichirToutesVues() ;
130
			}
131
 
132
		}) ;
133
	}
134
 
5 aperonnet 135
 
136
}