Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1548 → Rev 1549

/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java
21,7 → 21,6
 
private List<Protocole> listeProtocoles;
private String home = ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS;
private Observation observationCourante;
private Image imageCourante;
private String taxonPourRechercheEflore;
39,12 → 38,14
private InformationsRecherche informationsRechercheImage;
private InformationsRecherche informationsRechercheObservation;
private Utilisateur utilisateur;
private String pageCourante = home;
private String pageCourante = "";
private String statut;
private String[] statutsPossibles = {ConstantesNavigation.PARAM_TYPE_TOUS,
ConstantesNavigation.PARAM_TYPE_A_DETERMINER,
ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION,
ConstantesNavigation.PARAM_TYPE_VALIDEES};
private String[] statutsPossibles = {
ConstantesNavigation.PARAM_TYPE_TOUS,
ConstantesNavigation.PARAM_TYPE_A_DETERMINER,
ConstantesNavigation.PARAM_TYPE_EN_DISCUSSION,
ConstantesNavigation.PARAM_TYPE_VALIDEES
};
public void supprimerFiltreStatut() {
this.statut = null;
73,20 → 74,18
}
 
public void initialiserAvecParametres() {
String urlCourante = Window.Location.getHref();
Config config = new Config();
String urlAppliImg = config.getUrl("pictoflora");
if(Location.getPath().contains("identiplante")) {
if(Location.getHash().contains(ConstantesNavigation.PAGE_VALIDATION)) {
setPageCourante(ConstantesNavigation.PAGE_VALIDATION+"~"+URLUtils.getURLSpecialParameterValue());
} else {
setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS);
}
} else if(Location.getPath().contains("pictoflora")) {
if(Location.getHash().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
setPageCourante(ConstantesNavigation.PAGE_VALIDATION+URLUtils.getURLSpecialParameterValue());
} else {
setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_IMAGES);
}
if (Location.getHash().contains(ConstantesNavigation.PAGE_DETAIL_OBS)) {
setPageCourante(ConstantesNavigation.PAGE_DETAIL_OBS+"~"+URLUtils.getURLSpecialParameterValue());
} else if (Location.getHash().contains(ConstantesNavigation.PAGE_DETAIL_IMG)) {
setPageCourante(ConstantesNavigation.PAGE_DETAIL_IMG+"~"+URLUtils.getURLSpecialParameterValue());
} else {
setPageCourante("");
}
GWT.log("initialiserAvecParametres:"+getPageCourante());
String rechercheLibre = Location.getParameter("masque");
String famille = Location.getParameter("masque.famille");
106,7 → 105,7
String page = Location.getParameter("page");
Integer pageInt = null;
try {
pageInt = Integer.parseInt(page);
pageInt = Integer.parseInt(page);
} catch (Exception e) {
pageInt = null;
}
113,9 → 112,9
String pas = Location.getParameter("pas");
Integer pasInt = null;
if(pas != null) {
if (pas != null) {
try {
pasInt = Integer.parseInt(pas);
pasInt = Integer.parseInt(pas);
} catch (Exception e) {
pasInt = null;
}
132,64 → 131,70
rechercheParArguments.setDate(date);
rechercheParArguments.setTag(tag);
if(protocole != null && !protocole.equals("")) {
if (protocole != null && !protocole.equals("")) {
CacheClient.getInstance().setIdProtocoleEnAttente(protocole);
rechercheParArguments.setIdProtocoleSelectionne(protocole);
} else if(URLUtils.getURLSpecialParameterValue() != null) {
} else if (URLUtils.getURLSpecialParameterValue() != null) {
CacheClient.getInstance().setIdProtocoleEnAttente(URLUtils.getURLSpecialParameterValue());
rechercheParArguments.setIdProtocoleSelectionne(URLUtils.getURLSpecialParameterValue());
}
if(pasInt != null) setPasPagination(pasInt);
if(pageCourante.equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
if (pasInt != null) {
setPasPagination(pasInt);
}
if (urlCourante.contains(urlAppliImg)) {
rechercheParArguments.setMotClefCel(tagCel);
rechercheParArguments.setMotClefDel(tagDel);
if(pageInt != null) setPageCouranteRechercheImages(pageInt);
if (pageInt != null) {
setPageCouranteRechercheImages(pageInt);
}
} else {
if(pageInt != null) setPageCouranteRechercheObservations(pageInt);
if (pageInt != null) {
setPageCouranteRechercheObservations(pageInt);
}
}
String tri = Location.getParameter("tri");
String ordre = Location.getParameter("ordre");
if(tri != null) {
if (tri != null) {
ModeTri modeTri = ModeTri.TRI_ASCENDANT;
if(ordre != null && ordre.equals("asc")) {
if (ordre != null && ordre.equals("asc")) {
modeTri = ModeTri.TRI_ASCENDANT;
}
if(ordre != null && ordre.equals("desc")) {
if (ordre != null && ordre.equals("desc")) {
modeTri = ModeTri.TRI_DESCENDANT;
}
if(tri.equals("votes")) {
if (tri.equals("votes")) {
rechercheParArguments.setTriParNbVotes(modeTri);
}
if(tri.equals("tags")) {
if (tri.equals("tags")) {
rechercheParArguments.setTriParNbTags(modeTri);
}
if(tri.equals("date_observation")) {
if (tri.equals("date_observation")) {
rechercheParArguments.setTriParDate(modeTri);
}
}
}
rechercheParArguments.setMotClef(tag);
// si le référentiel est passé dans l'url alors il ne doit pas être modifiable
if(referentiel != null && !referentiel.equals("")) {
if (referentiel != null && !referentiel.equals("")) {
setReferentielCourant(referentiel);
rechercheParArguments.setReferentiel(referentiel);
referentielNonModifiable = true;
}
if(Location.getParameterMap().size() == 0) {
if (Location.getParameterMap().size() == 0) {
// par défaut l'application s'ouvre sur l'onglet à déterminer
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
} else {
if(Arrays.asList(statutsPossibles).contains(statutParam)) {
if (Arrays.asList(statutsPossibles).contains(statutParam)) {
statut = statutParam;
} else {
statut = ConstantesNavigation.PARAM_TYPE_DEFAUT;
222,12 → 227,11
}
public void setHome(String home) {
this.home = home;
setPageCourante(home);
}
public String getHome() {
return home;
return "";
}
public Observation getObservationCourante() {
307,7 → 311,7
}
 
public InformationsRecherche getInformationsRechercheImage() {
if(informationsRechercheImage == null) {
if (informationsRechercheImage == null) {
informationsRechercheImage = new InformationsRecherche();
}
return informationsRechercheImage;
314,7 → 318,7
}
 
public InformationsRecherche getInformationsRechercheObservation() {
if(informationsRechercheObservation == null) {
if (informationsRechercheObservation == null) {
informationsRechercheObservation = new InformationsRecherche();
}
return informationsRechercheObservation;
353,57 → 357,48
}
public String genererUrlCourante() {
String url = Window.Location.getHref();
String urlCourante = Window.Location.getHref();
Config config = new Config();
String urlAppliObs = config.getUrl("identiplante");
String urlAppliImg = config.getUrl("pictoflora");
String url = urlCourante;
String arguments = "";
String argumentsRecherche = "";
if (getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
//GWT.log("URL courante:"+urlCourante);
//GWT.log("IdentiPlante:"+urlCourante.contains(urlAppliObs));
//GWT.log("PictoFlora:"+urlCourante.contains(urlAppliImg));
if (urlCourante.contains(urlAppliImg)) {
InformationsRecherche infoRecherche;
infoRecherche = getInformationsRechercheImage();
if (CacheClient.getInstance().getProtocoleCourant() != null) {
infoRecherche.setIdProtocoleSelectionne(""+CacheClient.getInstance().getProtocoleCourant().getId());
infoRecherche.setIdProtocoleSelectionne("" + CacheClient.getInstance().getProtocoleCourant().getId());
}
argumentsRecherche = infoRecherche.versChaineRequete();
if(!GWT.isScript()) {
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
}
argumentsRecherche += (argumentsRecherche.isEmpty()) ? "" : "&";
argumentsRecherche += "page="+getPageCouranteRechercheImage()+"&pas="+getPasPagination();
argumentsRecherche = (argumentsRecherche.isEmpty()) ? argumentsRecherche : "?" + argumentsRecherche;
arguments = argumentsRecherche;
url = new Config().getUrl("pictoflora") + arguments;
url += "#"+ConstantesNavigation.PAGE_RECHERCHE_IMAGES;
} else if (getPageCourante().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS) || getPageCourante().equals("")) {
arguments = infoRecherche.versChaineRequete();
arguments += (arguments.isEmpty()) ? "" : "&";
arguments += "page="+getPageCouranteRechercheImage()+"&pas="+getPasPagination();
 
url = config.getUrl("pictoflora");
} else if (urlCourante.contains(urlAppliObs)) {
InformationsRecherche infoRecherche;
infoRecherche = getInformationsRechercheObservation();
argumentsRecherche = "masque.type="+statut;
argumentsRecherche += "&page="+getPageCouranteRechercheObservations()+"&pas="+getPasPagination();
argumentsRecherche += "&"+infoRecherche.versChaineRequete();
if(!GWT.isScript()) {
argumentsRecherche += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
}
arguments = "masque.type="+statut;
arguments += "&page="+getPageCouranteRechercheObservations()+"&pas="+getPasPagination();
arguments += "&"+infoRecherche.versChaineRequete();
arguments = "?"+argumentsRecherche;
url = new Config().getUrl("identiplante") + arguments;
url += "#"+ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS;
} else if (getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION) || getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
url = new Config().getUrl("del");
if(getPageCourante().contains(ConstantesNavigation.PAGE_VALIDATION)) {
url = new Config().getUrl("identiplante");
} else {
url = new Config().getUrl("pictoflora");
}
if(!GWT.isScript()) {
url += "?gwt.codesvr="+Location.getParameter("gwt.codesvr");
}
url += "#"+getPageCourante();
url = config.getUrl("identiplante");
}
if (!GWT.isScript()) {
arguments += "&gwt.codesvr="+Location.getParameter("gwt.codesvr")+"";
}
arguments = (arguments.isEmpty()) ? "" : "?" + arguments;
String signet = getPageCourante().equals("") ? "" : "#" + getPageCourante();
url += arguments + signet;
// remplacements batards pour corriger l'url
// TODO: factoriser toute la fonction
url = url.replaceAll("&#", "#");
410,10 → 405,11
url = url.replaceAll("&&", "&");
url = url.replaceAll("\\?&", "?");
//GWT.log("URL de sortie:"+url);
return url;
}
public void mettreAjourUrlCourante() {
mettreAJourUrlCouranteSansRecharger(genererUrlCourante());
}
421,8 → 417,8
private static native void mettreAJourUrlCouranteSansRecharger(String nouvelleUrl) /*-{
// javascript double negative trick
// pour plus d'info http://stackoverflow.com/questions/4686583/can-someone-explain-this-double-negative-trick
if(!!($wnd.history && $wnd.history.pushState)) {
$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl);
}
}-*/;
if (!!($wnd.history && $wnd.history.pushState)) {
$wnd.history.pushState(nouvelleUrl, "", nouvelleUrl);
}
}-*/;
}