Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
1458 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;
1458 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;
24
import com.google.gwt.user.client.rpc.AsyncCallback;
25
 
26
public class ProxyStructureAPersonne<D> extends Proxy {
27
 
28
	String structureId = null;
29
	String roleId = null;
30
 
31
	public ProxyStructureAPersonne(Sequenceur sequenceur, String structureId, String roleId) {
32
		super(sequenceur);
33
 
34
		this.structureId = structureId;
35
		this.roleId = roleId;
36
	}
37
 
38
	@Override
39
	  public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
40
		  this.reader = reader;
41
		  this.callback = callback;
42
		  this.loadConfig = loadConfig;
43
 
1624 aurelien 44
		  BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
45
		  if (this.structureId != null && !UtilString.isEmpty(this.structureId))	{
46
			  mediateur.selectionnerStructureAPersonne(this, this.structureId, this.roleId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
47
		  } else {
48
			  this.rafraichir(null);
49
		  }
50
	}
1458 cyprien 51
 
52
	@Override
53
	@SuppressWarnings("unchecked")
54
	public void rafraichir(Object nouvellesDonnees) {
55
 
56
		try
57
		{
58
			data = nouvellesDonnees;
59
			D d = null;
60
 
61
	    	if (reader != null)
62
	    	{
63
	    		d = (D) reader.read(loadConfig, data);
64
	    	}
65
	    	else
66
	    	{
67
		        d = (D) data;
68
		        if (d instanceof List)
69
		        {
70
		          d = (D) new ArrayList((List) d);
71
		        }
72
	    	}
73
 
74
			callback.onSuccess(d);
75
		}
76
		catch (Exception e)
77
		{
78
	      callback.onFailure(e);
79
		}
80
	}
81
 
82
}