New file |
0,0 → 1,63 |
package org.tela_botanica.del.client.composants.rss; |
|
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.Observation; |
|
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
|
public class RssPresenteur extends Presenteur { |
|
// Définition de la vue |
public abstract interface Vue extends IsWidget { |
void setLien(String lien); |
void setLabelLien(String label); |
} |
|
// Variables |
private Vue vue; |
private String lien = ""; |
private Config config = new Config(); |
|
//Constructeur |
public RssPresenteur(Vue vue) { |
this.vue = vue; |
} |
|
public RssPresenteur(Vue vue, InformationsRecherche recherche, String label) { |
this.vue = vue; |
vue.setLabelLien(label); |
genererLien(recherche); |
} |
|
public RssPresenteur(Vue vue, Observation observation, String label) { |
this.vue = vue; |
vue.setLabelLien(label); |
genererLien(observation); |
} |
|
public void genererLien(InformationsRecherche recherche) { |
this.lien = config.getUrl("rss") + recherche.versChaineRequete(); |
gererEvenements(); |
} |
|
public void genererLien(Observation observation) { |
String idObs = observation.getId(); |
this.lien = config.getUrl("rss") + "&masque.observation=" + idObs; |
} |
|
@Override |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
|
@Override |
protected void gererEvenements() { |
vue.setLien(this.lien); |
} |
|
} |