Subversion Repositories eFlore/Applications.cel

Rev

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

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