Subversion Repositories eFlore/Applications.coel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1764 → Rev 1911

/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyStructureAPersonne.java
New file
0,0 → 1,82
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyStructureAPersonne<D> extends Proxy {
String structureId = null;
String roleId = null;
public ProxyStructureAPersonne(Sequenceur sequenceur, String structureId, String roleId) {
super(sequenceur);
this.structureId = structureId;
this.roleId = roleId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
if (this.structureId != null && !UtilString.isEmpty(this.structureId)) {
mediateur.selectionnerStructureAPersonne(this, this.structureId, this.roleId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyPersonnes.java
New file
0,0 → 1,70
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyPersonnes<D> extends Proxy {
public ProxyPersonnes(Sequenceur sequenceur) {
super(sequenceur);
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
mediateur.selectionnerPersonne(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyPublications.java
New file
0,0 → 1,75
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyPublications<D> extends Proxy {
public ProxyPublications(Sequenceur sequenceur) {
super(sequenceur);
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
mediateur.selectionnerPublication(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
}
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyCollections.java
New file
0,0 → 1,70
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyCollections<D> extends Proxy {
public ProxyCollections(Sequenceur sequenceur) {
super(sequenceur);
}
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
mediateur.selectionnerCollection(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
}
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyValeur.java
New file
0,0 → 1,71
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyValeur<D> extends Proxy {
private String nomListe = "";
public ProxyValeur(String nomListe, Sequenceur sequenceur) {
super(sequenceur);
this.nomListe = nomListe;
}
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
mediateur.obtenirListeValeurEtRafraichir(this, nomListe, true, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
}
 
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/ProxyValeur.java:r1383-1511
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/composants/pagination/ProxyValeur.java:r1136-1208,1292-1367
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java
New file
0,0 → 1,115
package org.tela_botanica.client.composants.pagination;
 
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.Log;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.data.BasePagingLoader;
import com.extjs.gxt.ui.client.data.LoadEvent;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ChargeurListe<D extends PagingLoadResult<?>> extends BasePagingLoader<D> {
 
private String recherche = "";
private Rafraichissable vueARafraichir = null;
private boolean doRafraichir = false;
 
@SuppressWarnings("unchecked")
public ChargeurListe(Proxy proxy, TransformateurJSONaModelData reader, Rafraichissable vueARafraichir) {
super(proxy, reader);
this.vueARafraichir = vueARafraichir;
}
public boolean load(Object loadConfig, String recherche, boolean doRafraichir) {
this.doRafraichir = doRafraichir;
if (fireEvent(BeforeLoad, new LoadEvent(this, loadConfig))) {
lastConfig = loadConfig;
this.recherche = recherche;
loadData(loadConfig, recherche);
return true;
} else {
return false;
}
}
public boolean load(Object loadConfig) {
if (fireEvent(BeforeLoad, new LoadEvent(this, loadConfig))) {
lastConfig = loadConfig;
loadData(loadConfig, recherche);
return true;
}
return false;
}
public void load(int offset, int limit) {
this.offset = offset;
this.limit = limit;
load();
}
public boolean load() {
Object config = (reuseConfig && lastConfig != null) ? lastConfig : newLoadConfig();
config = prepareLoadConfig(config);
return load(config);
}
@SuppressWarnings("unchecked")
protected void loadData(final Object config, String recherche) {
AsyncCallback<D> callback = new AsyncCallback<D>() {
public void onFailure(Throwable caught) {
onLoadFailure(config, caught);
if (!UtilString.isEmpty(caught.getMessage())) {
Log.error("[FAILURE] ChargeurListe : message="+caught.getMessage());
} else {
Log.error("[FAILURE] ChargeurListe : message=NULL. Peut-être le modelType est-il mal paramétré ?");
}
}
public void onSuccess(D result) {
onLoadSuccess(config, result);
/*
// SUPPRIMER LES PREFIXES
if (result instanceof BasePagingLoadResult) {
BasePagingLoadResult retourPaging = (BasePagingLoadResult)result;
List retourListe = retourPaging.getData();
for(int i=0; i< retourListe.size(); i++) {
if (retourListe.get(i) instanceof BaseModelData) {
BaseModelData model = (BaseModelData)retourListe.get(i);
Map<String, Object> a = model.getProperties();
Set<String> cles = a.keySet();
Iterator<String> it = cles.iterator();
while (it.hasNext()) {
String cle = it.next();
if (a.get(cle) != null) {
String cleObjet = "";
cleObjet = cle.replaceFirst("^[A-Za-z]+_", "");
model.set(cleObjet, a.get(cle));
model.remove(cle);
}
}
}
}
}*/
// Cas où il faut rafraichir le combo manuellement
// (cela sert pour charger la valeur initiale du combo au chargement d'un formulaire)
if (doRafraichir) {
Information info = new Information("selectionnerValeurCombo");
info.setDonnee(result);
info.setMessage("");
vueARafraichir.rafraichir(info);
}
}
};
((Proxy) proxy).load((TransformateurJSONaModelData) reader, config, callback, recherche);
}
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java:r1383-1511
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java:r1136-1208,1292-1367
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/Proxy.java
New file
0,0 → 1,34
package org.tela_botanica.client.composants.pagination;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.synchronisation.Sequenceur;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public abstract class Proxy<D extends ModelData> extends MemoryProxy<D> implements Rafraichissable {
 
protected Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
protected DataReader<D> reader = null;
protected Object loadConfig = null;
protected AsyncCallback<D> callback = null;
protected static Object data;
protected Sequenceur sequenceur = null;
public Proxy(Sequenceur sequenceur) {
super(data);
this.sequenceur = sequenceur;
}
 
public abstract void load(TransformateurJSONaModelData<D> reader, Object loadConfig, AsyncCallback<D> callback, String recherche);
 
public abstract void rafraichir(Object nouvellesDonnees);
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/Proxy.java:r1383-1511
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/composants/pagination/Proxy.java:r1136-1208,1292-1367
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyCollectionACommentaire.java
New file
0,0 → 1,80
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyCollectionACommentaire<D> extends Proxy {
String collectionId = null;
public ProxyCollectionACommentaire(Sequenceur sequenceur, String collectionId) {
super(sequenceur);
this.collectionId = collectionId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
if (!UtilString.isEmpty(this.collectionId)) {
mediateur.selectionnerCollectionACommentaire(this, this.collectionId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
D donneesRetour = null;
if (nouvellesDonnees!=null) {
data = nouvellesDonnees;
if (reader != null)
{
donneesRetour = (D) reader.read(loadConfig, data);
}
else
{
donneesRetour = (D) data;
if (donneesRetour instanceof List)
{
donneesRetour = (D) new ArrayList((List) donneesRetour);
}
}
}
callback.onSuccess(donneesRetour);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java
New file
0,0 → 1,158
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
 
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataField;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.JsonPagingLoadResultReader;
import com.extjs.gxt.ui.client.data.JsonReader;
import com.extjs.gxt.ui.client.data.ListLoadResult;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;
 
public class TransformateurJSONaModelData<D> extends JsonPagingLoadResultReader<D> {
 
private ModelType modelType = null;
// HashMap<'nom du champ virtuel', 'nom du champ à binder'>
private HashMap<String, String> virtualFields = null;
public TransformateurJSONaModelData(ModelType modelType, HashMap<String, String> virtualFields) {
super(modelType);
this.modelType = modelType;
this.virtualFields = virtualFields;
}
 
@SuppressWarnings("unchecked")
@Override
protected Object createReturnData(Object loadConfig, List<ModelData> records, int totalCount) {
ListLoadResult<D> result = (ListLoadResult<D>) super.createReturnData(loadConfig, records, totalCount);
 
if (result instanceof PagingLoadResult) {
PagingLoadResult<D> r = (PagingLoadResult<D>) result;
r.setTotalLength(totalCount);
 
if (loadConfig instanceof PagingLoadConfig) {
PagingLoadConfig config = (PagingLoadConfig) loadConfig;
r.setOffset(config.getOffset());
}
}
return result;
 
}
 
@Override
protected BasePagingLoadResult<ModelData> newLoadResult(Object loadConfig, List<ModelData> models) {
return new BasePagingLoadResult<ModelData>(models);
}
 
@SuppressWarnings("unchecked")
public D read(Object loadConfig, Object data) {
JSONObject jsonRoot = null;
if (data instanceof JSONObject) {
jsonRoot = (JSONObject) data;
}
JSONArray root = (JSONArray) jsonRoot.get(modelType.getRoot());
int size = root.size();
ArrayList<ModelData> models = new ArrayList<ModelData>();
for (int i = 0; i < size; i++) {
JSONObject obj = (JSONObject) root.get(i);
ModelData model = newModelInstance();
for (int j = 0; j < modelType.getFieldCount(); j++) {
DataField field = modelType.getField(j);
String name = field.getName();
Class type = field.getType();
String map = field.getMap() != null ? field.getMap() : field.getName();
JSONValue value = obj.get(map);
if (value == null) continue;
if (value.isArray() != null) {
// nothing
} else if (value.isBoolean() != null) {
model.set(name, value.isBoolean().booleanValue());
} else if (value.isNumber() != null) {
if (type != null) {
Double d = value.isNumber().doubleValue();
if (type.equals(Integer.class)) {
model.set(name, d.intValue());
} else if (type.equals(Long.class)) {
model.set(name, d.longValue());
} else if (type.equals(Float.class)) {
model.set(name, d.floatValue());
} else {
model.set(name, d);
}
} else {
model.set(name, value.isNumber().doubleValue());
}
} else if (value.isObject() != null) {
// nothing
} else if (value.isString() != null) {
String s = value.isString().stringValue();
if (type != null) {
if (type.equals(Date.class)) {
if ("timestamp".equals(field.getFormat())) {
Date d = new Date(Long.parseLong(s) * 1000);
model.set(name, d);
} else {
DateTimeFormat format = DateTimeFormat.getFormat(field.getFormat());
Date d = format.parse(s);
model.set(name, d);
}
}
} else {
model.set(name, s);
}
} else if (value.isNull() != null) {
model.set(name, null);
}
if (virtualFields != null) {
Set<String> cles = virtualFields.keySet();
Iterator<String> it = cles.iterator();
while(it.hasNext()) {
String vField = it.next();
// si il y a un champ à binder
if (virtualFields.get(vField) != null) {
model.set(vField, model.get(virtualFields.get(vField)));
}
// sinon affecter la propriété à 'chaîne vide'
else {
model.set(virtualFields.get(vField), "");
}
}
}
}
models.add(model);
}
int totalCount = models.size();
if (modelType.getTotalName() != null) {
totalCount = getTotalCount(jsonRoot);
}
return (D) createReturnData(loadConfig, models, totalCount);
}
 
}
Property changes:
Added: svn:mergeinfo
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java:r1383-1511
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java:r1136-1208,1292-1367
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyStructures.java
New file
0,0 → 1,68
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyStructures<D> extends Proxy {
public ProxyStructures(Sequenceur sequenceur) {
super(sequenceur);
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
String nom = (recherche == null) ? "%" : "%" + recherche + "%";
 
BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
if (UtilString.isNumber(recherche, false)) {
mediateur.selectionnerStructureAvecPaginationProgressive(this, nom, null, "array", lc.getOffset(), lc.getLimit(), sequenceur, false);
} else {
mediateur.selectionnerStructure(this, nom, lc.getOffset(), lc.getLimit(), sequenceur, false);
}
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try {
data = nouvellesDonnees;
Debug.log("Dans ProxyStructure:"+data.toString());
D d = null;
if (reader != null) {
d = (D) reader.read(loadConfig, data);
} else {
d = (D) data;
if (d instanceof List) {
d = (D) new ArrayList((List) d);
}
}
callback.onSuccess(d);
} catch (Exception e){
callback.onFailure(e);
}
}
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyCollectionAPersonne.java
New file
0,0 → 1,83
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyCollectionAPersonne<D> extends Proxy {
String collectionId = null;
String roleId = null;
public ProxyCollectionAPersonne(Sequenceur sequenceur, String collectionId, String roleId) {
super(sequenceur);
this.collectionId = collectionId;
this.roleId = roleId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
if (this.collectionId != null && !UtilString.isEmpty(this.collectionId)) {
mediateur.selectionnerCollectionAPersonne(this, this.collectionId, this.roleId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyCollectionAPublication.java
New file
0,0 → 1,82
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyCollectionAPublication<D> extends Proxy {
String collectionId = null;
public ProxyCollectionAPublication(Sequenceur sequenceur, String collectionId) {
super(sequenceur);
this.collectionId = collectionId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
if (this.collectionId != null && !UtilString.isEmpty(this.collectionId)) {
mediateur.selectionnerCollectionAPublication(this, this.collectionId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
D donneesRetour = null;
if (nouvellesDonnees!=null) {
data = nouvellesDonnees;
if (reader != null)
{
donneesRetour = (D) reader.read(loadConfig, data);
}
else
{
donneesRetour = (D) data;
if (donneesRetour instanceof List)
{
donneesRetour = (D) new ArrayList((List) donneesRetour);
}
}
}
callback.onSuccess(donneesRetour);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyCommentaires.java
New file
0,0 → 1,75
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyCommentaires<D> extends Proxy {
public ProxyCommentaires(Sequenceur sequenceur) {
super(sequenceur);
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
mediateur.selectionnerCommentaire(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
}
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
data = nouvellesDonnees;
D d = null;
 
if (reader != null)
{
d = (D) reader.read(loadConfig, data);
}
else
{
d = (D) data;
if (d instanceof List)
{
d = (D) new ArrayList((List) d);
}
}
 
callback.onSuccess(d);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyPersonnesAPublication.java
New file
0,0 → 1,63
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.List;
 
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Log;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyPersonnesAPublication<D> extends Proxy {
String publicationId = null;
public ProxyPersonnesAPublication(Sequenceur sequenceur, String publicationId) {
super(sequenceur);
this.publicationId = publicationId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
if (!UtilString.isEmpty(this.publicationId)) {
mediateur.selectionnerPersonnesAPublication(this, this.publicationId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
public void setPublicationId(String publicationId) {
this.publicationId = publicationId;
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try {
D donneesRetour = null;
if (nouvellesDonnees != null) {
data = nouvellesDonnees;
if (reader != null) {
donneesRetour = (D) reader.read(loadConfig, data);
} else {
donneesRetour = (D) data;
if (donneesRetour instanceof List) {
donneesRetour = (D) new ArrayList((List) donneesRetour);
}
}
}
Log.debug("Dans Proxy : "+donneesRetour.toString());
callback.onSuccess(donneesRetour);
} catch (Exception e) {
callback.onFailure(e);
}
}
 
}
/branches/v1.10-negrette/src/org/tela_botanica/client/composants/pagination/ProxyPublicationsAPersonne.java
New file
0,0 → 1,93
package org.tela_botanica.client.composants.pagination;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
import com.extjs.gxt.ui.client.data.DataReader;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ProxyPublicationsAPersonne<D> extends Proxy {
String personneId = null;
List<Valeur> rolesId = null;
public ProxyPublicationsAPersonne(Sequenceur sequenceur, String personneId, List<Valeur> rolesId) {
super(sequenceur);
this.personneId = personneId;
this.rolesId = rolesId;
}
@Override
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
this.reader = reader;
this.callback = callback;
this.loadConfig = loadConfig;
 
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
if (!UtilString.isEmpty(this.personneId)) {
mediateur.selectionnerPublicationsAPersonne(this, personneId, rolesId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
} else {
this.rafraichir(null);
}
}
public void setPersonneId(String personneId) {
this.personneId = personneId;
}
public void setRolesId(List<Valeur> rolesId) {
this.rolesId = rolesId;
}
 
@Override
@SuppressWarnings("unchecked")
public void rafraichir(Object nouvellesDonnees) {
try
{
D donneesRetour = null;
if (nouvellesDonnees!=null) {
data = nouvellesDonnees;
if (reader != null)
{
donneesRetour = (D) reader.read(loadConfig, data);
}
else
{
donneesRetour = (D) data;
if (donneesRetour instanceof List)
{
donneesRetour = (D) new ArrayList((List) donneesRetour);
}
}
}
callback.onSuccess(donneesRetour);
}
catch (Exception e)
{
callback.onFailure(e);
}
}
 
}