Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2411 Rev 2627
1
package org.tela_botanica.client.vues.observation.indicateurs;
1
package org.tela_botanica.client.vues.observation.indicateurs;
2
 
2
 
3
import org.tela_botanica.client.cel2;
3
import org.tela_botanica.client.i18n.Msg;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.modeles.objets.Configuration;
5
import org.tela_botanica.client.modeles.objets.Configuration;
6
import org.tela_botanica.client.observation.ObservationMediateur;
6
import org.tela_botanica.client.observation.ObservationMediateur;
7
 
7
 
8
import com.google.gwt.event.dom.client.ClickEvent;
8
import com.google.gwt.event.dom.client.ClickEvent;
9
import com.google.gwt.event.dom.client.ClickHandler;
9
import com.google.gwt.event.dom.client.ClickHandler;
10
import com.google.gwt.user.client.Window;
10
import com.google.gwt.user.client.Window;
11
import com.google.gwt.user.client.ui.Label;
11
import com.google.gwt.user.client.ui.Label;
12
import com.gwtext.client.widgets.Panel;
12
import com.gwtext.client.widgets.Panel;
13
 
13
 
14
public class LienExterneVue extends Panel implements Rafraichissable {
14
public class LienExterneVue extends Panel implements Rafraichissable {
15
	
15
 
16
	private ObservationMediateur oMediateur = null;
-
 
17
	
-
 
18
	private String refTax = "";
16
	private String refTax = "";
19
 
17
 
20
	private String numTax = "";
18
	private String numTax = "";
21
	
19
	
22
	private String efloreBaseUrl = "";
20
	private String efloreBaseUrl = "";
23
	
21
	
24
	private Label titreLien = new Label("Voir la fiche eflore");
22
	private Label titreLien = new Label(Msg.get("voir-fiche-eflore"));
25
	
23
	
26
	public LienExterneVue(ObservationMediateur om) {
24
	public LienExterneVue(ObservationMediateur om) {
27
 
25
 
28
		refTax = verifierEtFormaterReferentiel(om.getRefTaxSelectionne().getCode());
26
		refTax = verifierEtFormaterReferentiel(om.getRefTaxSelectionne().getCode());
29
		efloreBaseUrl = Configuration.getLienEfloreBaseUrl();
27
		efloreBaseUrl = Configuration.getLienEfloreBaseUrl();
30
		
28
		
31
		titreLien.setVisible(false);
29
		titreLien.setVisible(false);
32
		
30
		
33
		setBorder(false);
31
		setBorder(false);
34
		
32
		
35
		titreLien.addClickHandler(new ClickHandler() {
33
		titreLien.addClickHandler(new ClickHandler() {
36
 
34
 
37
			@Override
35
			@Override
38
			public void onClick(ClickEvent event) {
36
			public void onClick(ClickEvent event) {
39
				if(!numTax.trim().equals("")) {
37
				if(!numTax.trim().equals("")) {
40
					Window.open("http://"+efloreBaseUrl+"/"+refTax+"-nn-"+numTax,"","");
38
					Window.open("http://"+efloreBaseUrl+"/"+refTax+"-nn-"+numTax,"","");
41
				}
39
				}
42
			}
40
			}
43
			
41
			
44
		});
42
		});
45
		
43
		
46
		titreLien.setStyleName("lien_actif");
44
		titreLien.setStyleName("lien_actif");
47
		
45
		
48
		add(titreLien);
46
		add(titreLien);
49
	}
47
	}
50
	
48
	
51
	@Override
49
	@Override
52
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
50
	public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
53
 
51
 
54
		String[] nouvellesDonnees = (String[]) nouvelleDonnees;
52
		String[] nouvellesDonnees = (String[]) nouvelleDonnees;
55
		String nouveauNumTax = nouvellesDonnees[0];
53
		String nouveauNumTax = nouvellesDonnees[0];
56
		String codeRef = nouvellesDonnees[1];
54
		String codeRef = nouvellesDonnees[1];
57
 
55
 
58
		if(nouveauNumTax.trim().equals("") || codeRef.trim().equals("autre") || nouveauNumTax.trim().equals("0") || codeRef.trim().equals("")) {
56
		if(nouveauNumTax.trim().equals("") || codeRef.trim().equals("autre") || nouveauNumTax.trim().equals("0") || codeRef.trim().equals("")) {
59
			titreLien.setVisible(false);
57
			titreLien.setVisible(false);
60
		} else {
58
		} else {
61
			if(!titreLien.isVisible()) {
59
			if(!titreLien.isVisible()) {
62
				titreLien.setVisible(true);
60
				titreLien.setVisible(true);
63
			} 
61
			} 
64
			
62
			
65
			numTax = nouveauNumTax;
63
			numTax = nouveauNumTax;
66
			refTax = verifierEtFormaterReferentiel(codeRef);
64
			refTax = verifierEtFormaterReferentiel(codeRef);
67
		}
65
		}
68
		
66
		
69
	}
67
	}
70
 
68
 
71
	public String verifierEtFormaterReferentiel(String refTax) {
69
	public String verifierEtFormaterReferentiel(String refTax) {
72
		// Sert simplement à exclure les vieux formats de référentiel
70
		// Sert simplement à exclure les vieux formats de référentiel
73
		// du genre bdtfx:v2.00 ou bien bdnff.v1_01 etc...
71
		// du genre bdtfx:v2.00 ou bien bdnff.v1_01 etc...
74
		// TODO: nettoyer également la base de données
72
		// TODO: nettoyer également la base de données
75
		String retour = refTax;
73
		String retour = refTax;
76
		if(retour != null && !retour.isEmpty()) {
74
		if(retour != null && !retour.isEmpty()) {
77
			if (retour.contains(":")) {
75
			if (retour.contains(":")) {
78
				retour = retour.split(":")[0];
76
				retour = retour.split(":")[0];
79
			}
77
			}
80
			
78
			
81
			if(retour.contains(".")) {
79
			if(retour.contains(".")) {
82
				retour = retour.split(".")[0];
80
				retour = retour.split(".")[0];
83
			}
81
			}
84
		}
82
		}
85
		return retour;
83
		return retour;
86
	}
84
	}
87
}
85
}