Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
1329 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;
1468 jpm 10
import org.tela_botanica.client.modeles.Information;
1329 cyprien 11
import org.tela_botanica.client.modeles.ValeurListe;
12
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
1468 jpm 13
import org.tela_botanica.client.modeles.projet.Projet;
1367 cyprien 14
import org.tela_botanica.client.synchronisation.Sequenceur;
1329 cyprien 15
import org.tela_botanica.client.util.Debug;
1468 jpm 16
import org.tela_botanica.client.util.UtilString;
1329 cyprien 17
 
18
import com.extjs.gxt.ui.client.Registry;
19
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
20
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
21
import com.extjs.gxt.ui.client.data.DataReader;
22
import com.extjs.gxt.ui.client.data.MemoryProxy;
23
import com.extjs.gxt.ui.client.data.ModelData;
1468 jpm 24
import com.google.gwt.json.client.JSONArray;
1329 cyprien 25
import com.google.gwt.json.client.JSONObject;
26
import com.google.gwt.json.client.JSONString;
27
import com.google.gwt.user.client.rpc.AsyncCallback;
28
 
29
public class ProxyProjets<D> extends Proxy {
30
 
1367 cyprien 31
	public ProxyProjets(Sequenceur sequenceur) {
32
		super(sequenceur);
1329 cyprien 33
	}
34
 
35
	@Override
36
	  public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
37
		  this.reader = reader;
38
		  this.callback = callback;
39
		  this.loadConfig = loadConfig;
40
 
1526 jpm 41
		  BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
1468 jpm 42
 
1526 jpm 43
		  if (UtilString.isNumber(recherche, false)) {
44
			  mediateur.selectionnerProjet(this, recherche, "array", true, sequenceur);
45
		  } else {
46
			  mediateur.selectionnerProjet(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
47
		  }
1329 cyprien 48
	  }
1428 cyprien 49
 
1329 cyprien 50
	@Override
51
	@SuppressWarnings("unchecked")
1468 jpm 52
	public void rafraichir(Object nouvellesDonnees) {
1526 jpm 53
		try {
1329 cyprien 54
			data = nouvellesDonnees;
55
			D d = null;
56
 
1526 jpm 57
	    	if (reader != null) {
1329 cyprien 58
	    		d = (D) reader.read(loadConfig, data);
1526 jpm 59
	    	} else {
1329 cyprien 60
		        d = (D) data;
61
		        if (d instanceof List)
62
		        {
63
		          d = (D) new ArrayList((List) d);
64
		        }
65
	    	}
66
 
67
			callback.onSuccess(d);
1526 jpm 68
		} catch (Exception e) {
1329 cyprien 69
	      callback.onFailure(e);
70
		}
71
	}
1526 jpm 72
}