Subversion Repositories eFlore/Applications.coel

Rev

Rev 1624 | Details | Compare with Previous | Last modification | View Log | RSS feed

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