Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1526 Rev 1691
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.synchronisation.Sequenceur;
13
import org.tela_botanica.client.util.Debug;
13
import org.tela_botanica.client.util.Debug;
14
import org.tela_botanica.client.util.UtilString;
14
import org.tela_botanica.client.util.UtilString;
15
 
15
 
16
import com.extjs.gxt.ui.client.Registry;
16
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
17
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
18
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
18
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
19
import com.extjs.gxt.ui.client.data.DataReader;
19
import com.extjs.gxt.ui.client.data.DataReader;
20
import com.extjs.gxt.ui.client.data.MemoryProxy;
20
import com.extjs.gxt.ui.client.data.MemoryProxy;
21
import com.extjs.gxt.ui.client.data.ModelData;
21
import com.extjs.gxt.ui.client.data.ModelData;
22
import com.google.gwt.json.client.JSONObject;
22
import com.google.gwt.json.client.JSONObject;
23
import com.google.gwt.json.client.JSONString;
23
import com.google.gwt.json.client.JSONString;
24
import com.google.gwt.user.client.rpc.AsyncCallback;
24
import com.google.gwt.user.client.rpc.AsyncCallback;
25
 
25
 
26
public class ProxyStructures<D> extends Proxy {
26
public class ProxyStructures<D> extends Proxy {
27
	
27
	
28
	public ProxyStructures(Sequenceur sequenceur) {
28
	public ProxyStructures(Sequenceur sequenceur) {
29
		super(sequenceur);
29
		super(sequenceur);
30
	}
30
	}
31
	
31
	
32
	@Override
32
	@Override
33
	public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
33
	public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
34
		this.reader = reader;
34
		this.reader = reader;
35
		this.callback = callback;
35
		this.callback = callback;
36
		this.loadConfig = loadConfig;
36
		this.loadConfig = loadConfig;
-
 
37
 
-
 
38
		String nom = (recherche == null) ? "%" : "%" + recherche + "%";
37
 
39
 
38
		BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
40
		BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
39
		if (UtilString.isNumber(recherche, false)) {
41
		if (UtilString.isNumber(recherche, false)) {
40
			mediateur.selectionnerStructureAvecPaginationProgressive(this, recherche, null, null, "array", lc.getOffset(), lc.getLimit(), sequenceur);
42
			mediateur.selectionnerStructureAvecPaginationProgressive(this, nom, null, null, "array", lc.getOffset(), lc.getLimit(), sequenceur, false);
41
		} else {
43
		} else {
42
			mediateur.selectionnerStructure(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
44
			mediateur.selectionnerStructure(this, nom, lc.getOffset(), lc.getLimit(), sequenceur, false);
43
		}
45
		}
44
	}
46
	}
45
 
47
 
46
	@Override
48
	@Override
47
	@SuppressWarnings("unchecked")
49
	@SuppressWarnings("unchecked")
48
	public void rafraichir(Object nouvellesDonnees) {
50
	public void rafraichir(Object nouvellesDonnees) {
49
		try {
51
		try {
50
			data = nouvellesDonnees;
52
			data = nouvellesDonnees;
51
			Debug.log("Dans ProxyStructure:"+data.toString());
53
			Debug.log("Dans ProxyStructure:"+data.toString());
52
			D d = null;
54
			D d = null;
53
			if (reader != null) {
55
			if (reader != null) {
54
				d = (D) reader.read(loadConfig, data);
56
				d = (D) reader.read(loadConfig, data);
55
			} else {
57
			} else {
56
				d = (D) data;
58
				d = (D) data;
57
				if (d instanceof List) {
59
				if (d instanceof List) {
58
					d = (D) new ArrayList((List) d);
60
					d = (D) new ArrayList((List) d);
59
				}
61
				}
60
			}
62
			}
61
			callback.onSuccess(d);
63
			callback.onSuccess(d);
62
		} catch (Exception e){
64
		} catch (Exception e){
63
			callback.onFailure(e);
65
			callback.onFailure(e);
64
		}
66
		}
65
	}
67
	}
66
}
-
 
67
68
}
-
 
69