Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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