Subversion Repositories eFlore/Applications.coel

Rev

Rev 1318 | Rev 1369 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1318 Rev 1367
1
package org.tela_botanica.client.composants.pagination;
1
package org.tela_botanica.client.composants.pagination;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.HashMap;
4
import java.util.HashMap;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.ValeurListe;
10
import org.tela_botanica.client.modeles.ValeurListe;
11
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
11
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
-
 
12
import org.tela_botanica.client.synchronisation.Sequenceur;
12
import org.tela_botanica.client.util.Debug;
13
import org.tela_botanica.client.util.Debug;
13
 
14
 
14
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
16
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
16
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
17
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
17
import com.extjs.gxt.ui.client.data.DataReader;
18
import com.extjs.gxt.ui.client.data.DataReader;
18
import com.extjs.gxt.ui.client.data.MemoryProxy;
19
import com.extjs.gxt.ui.client.data.MemoryProxy;
19
import com.extjs.gxt.ui.client.data.ModelData;
20
import com.extjs.gxt.ui.client.data.ModelData;
20
import com.google.gwt.json.client.JSONObject;
21
import com.google.gwt.json.client.JSONObject;
21
import com.google.gwt.json.client.JSONString;
22
import com.google.gwt.json.client.JSONString;
22
import com.google.gwt.user.client.rpc.AsyncCallback;
23
import com.google.gwt.user.client.rpc.AsyncCallback;
23
 
24
 
24
public class ProxyValeur<D> extends Proxy {
25
public class ProxyValeur<D> extends Proxy {
25
	
26
	
26
	private String nomListe = "";
27
	private String nomListe = "";
27
	
28
	
28
	public ProxyValeur(String nomListe) {
29
	public ProxyValeur(String nomListe, Sequenceur sequenceur) {
29
		super();
30
		super(sequenceur);
30
		this.nomListe = nomListe;
31
		this.nomListe = nomListe;
31
	}
32
	}
32
	
33
	
33
	  public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
34
	  public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
34
		  this.reader = reader;
35
		  this.reader = reader;
35
		  this.callback = callback;
36
		  this.callback = callback;
36
		  this.loadConfig = loadConfig;
37
		  this.loadConfig = loadConfig;
37
 
38
 
38
		  BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
39
		  BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
39
		  mediateur.obtenirListeValeurEtRafraichir(this, nomListe, true, recherche, lc.getOffset(), lc.getLimit(), null);
40
		  mediateur.obtenirListeValeurEtRafraichir(this, nomListe, true, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
40
	  }
41
	  }
41
 
42
 
42
 
43
 
43
	@SuppressWarnings("unchecked")
44
	@SuppressWarnings("unchecked")
44
	public void rafraichir(Object nouvellesDonnees) {
45
	public void rafraichir(Object nouvellesDonnees) {
45
		try
46
		try
46
		{
47
		{
47
			data = nouvellesDonnees;
48
			data = nouvellesDonnees;
48
			D d = null;
49
			D d = null;
49
 
50
 
50
	    	if (reader != null)
51
	    	if (reader != null)
51
	    	{
52
	    	{
52
	    		d = (D) reader.read(loadConfig, data);
53
	    		d = (D) reader.read(loadConfig, data);
53
	    	}
54
	    	}
54
	    	else
55
	    	else
55
	    	{
56
	    	{
56
		        d = (D) data;
57
		        d = (D) data;
57
		        if (d instanceof List)
58
		        if (d instanceof List)
58
		        {
59
		        {
59
		          d = (D) new ArrayList((List) d);
60
		          d = (D) new ArrayList((List) d);
60
		        }
61
		        }
61
	    	}
62
	    	}
62
 
63
 
63
			callback.onSuccess(d);
64
			callback.onSuccess(d);
64
		}
65
		}
65
		catch (Exception e)
66
		catch (Exception e)
66
		{
67
		{
67
	      callback.onFailure(e);
68
	      callback.onFailure(e);
68
		}
69
		}
69
	}
70
	}
70
 
71
 
71
}
72
}