Subversion Repositories eFlore/Applications.del

Rev

Rev 1162 | Rev 1169 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1162 Rev 1165
Line 1... Line 1...
1
package org.tela_botanica.del.client.composants.motsclesimages;
1
package org.tela_botanica.del.client.composants.motsclesimages;
-
 
2
import java.util.ArrayList;
-
 
3
import java.util.Iterator;
2
import java.util.List;
4
import java.util.List;
Line -... Line 5...
-
 
5
 
3
 
6
import org.tela_botanica.del.client.cache.CacheClient;
4
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;
7
import org.tela_botanica.del.client.composants.motsclesimages.formulairesaisiemotclesimages.FormulaireSaisieMotsClesImagePresenteur;
5
import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotClePresenteur;
8
import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotClePresenteur;
-
 
9
import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotCleVue;
6
import org.tela_botanica.del.client.composants.motsclesimages.motcle.MotCleVue;
10
import org.tela_botanica.del.client.config.Config;
-
 
11
import org.tela_botanica.del.client.i18n.I18n;
7
import org.tela_botanica.del.client.i18n.I18n;
12
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.MotCle;
13
import org.tela_botanica.del.client.modeles.MotCle;
9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
14
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
10
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage;
15
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.EvenementAjoutMotCleImage;
11
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.GestionnaireEvenementAjoutMotCleImage;
16
import org.tela_botanica.del.client.navigation.evenement.ajoutmotcleimage.GestionnaireEvenementAjoutMotCleImage;
12
import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.EvenementSuppressionMotCleImage;
17
import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.EvenementSuppressionMotCleImage;
13
import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.GestionnaireEvenementSuppressionMotCleImage;
18
import org.tela_botanica.del.client.navigation.evenement.supressionmotcleimage.GestionnaireEvenementSuppressionMotCleImage;
14
import org.tela_botanica.del.client.services.rest.MotsClesService;
19
import org.tela_botanica.del.client.services.rest.MotsClesService;
15
import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret;
20
import org.tela_botanica.del.client.services.rest.MotsClesServiceConcret;
16
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack;
21
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack;
-
 
22
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback;
Line 17... Line 23...
17
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback;
23
import org.tela_botanica.del.client.utils.StringUtils;
18
 
24
 
19
import com.google.gwt.user.client.Window;
25
import com.google.gwt.user.client.Window;
Line 20... Line 26...
20
import com.google.gwt.user.client.ui.HasWidgets;
26
import com.google.gwt.user.client.ui.HasWidgets;
Line 21... Line 27...
21
import com.google.gwt.user.client.ui.IsWidget;
27
import com.google.gwt.user.client.ui.IsWidget;
-
 
28
 
22
 
29
public class MotsClesImagePresenteur {
23
public class MotsClesImagePresenteur {
30
	
24
	
31
	List<MotCle> motsCles;
Line 25... Line 32...
25
	List<MotCle> motsCles;
32
	List<String> motClesCelAFiltrer;
26
	FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur;
33
	FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur;
27
	MotsClesService motsClesService;
34
	MotsClesService motsClesService;
28
	String idImage;
35
	Image image;
-
 
36
	
-
 
37
	public interface Vue extends IsWidget {
29
	
38
		public HasWidgets getZoneMotsCles();
Line 30... Line 39...
30
	public interface Vue extends IsWidget {
39
		HasWidgets getZoneSaisieMotsCles();
Line 31... Line 40...
31
		public HasWidgets getZoneMotsCles();
40
		void viderZoneMotsCles();
32
		HasWidgets getZoneSaisieMotsCles();
41
		HasWidgets getZoneMotsClesCel();
33
		void viderZoneMotsCles();
42
		public void afficherMotsClesCel(List<String> motsClesCelImages, List<String> motClesCelAFiltrer);
34
	}
43
	}
-
 
44
 
-
 
45
	private Vue vue;
35
 
46
	
-
 
47
	public MotsClesImagePresenteur(Image image ,MotsClesService motsClesService, FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur, Vue vue) {
36
	private Vue vue;
48
		this.formulaireSaisieMotsClesPresenteur = formulaireSaisieMotsClesPresenteur;
Line 37... Line 49...
37
	
49
		this.vue = vue;
38
	public MotsClesImagePresenteur(MotsClesService motsClesService, FormulaireSaisieMotsClesImagePresenteur formulaireSaisieMotsClesPresenteur, Vue vue) {
50
		this.motsClesService = motsClesService;
39
		this.formulaireSaisieMotsClesPresenteur = formulaireSaisieMotsClesPresenteur;
51
		this.image = image;
40
		this.vue = vue;
52
		initialiserMotsClesCelAFiltrer();
Line 41... Line 53...
41
		this.motsClesService = motsClesService;
53
		gererEvemenements();
42
		gererEvemenements();
-
 
43
	}
54
		afficherMotsClesCel();
-
 
55
	}
44
	
56
	
45
	public void go(HasWidgets composite) {
57
	public void go(HasWidgets composite) {
46
		formulaireSaisieMotsClesPresenteur.go(vue.getZoneSaisieMotsCles());
58
		formulaireSaisieMotsClesPresenteur.go(vue.getZoneSaisieMotsCles());
47
		composite.add(vue.asWidget());
59
		composite.add(vue.asWidget());
48
	}
60
	}
49
 
-
 
50
	public void chargerMotsCles(String idImage) {
61
 
51
		this.idImage = idImage;
62
	public void chargerMotsCles() {
52
		if(motsCles == null) {
63
		if(motsCles == null) {
53
			MotsClesService motsClesService = new MotsClesServiceConcret();
64
			vue.viderZoneMotsCles();
54
			motsClesService.getMotsClesImage(idImage, new ListeMotsClesImageCallBack() {				
65
			MotsClesService motsClesService = new MotsClesServiceConcret();
Line 55... Line 66...
55
				@Override
66
			motsClesService.getMotsClesImage(image.getIdImage(), new ListeMotsClesImageCallBack() {				
56
				public void surRetour(List<MotCle> objetRetour) {
67
				@Override
57
					motsCles = objetRetour;
68
				public void surRetour(List<MotCle> objetRetour) {
58
					vue.viderZoneMotsCles();
69
					motsCles = objetRetour;
59
					afficherMotsCles(objetRetour);
70
					afficherMotsCles(objetRetour);
60
				}
71
				}
61
			});
72
			});
62
		}
73
		}
63
	}
74
	}
64
	
75
	
65
	public void gererEvemenements() {
76
	public void gererEvemenements() {
Line 66... Line 77...
66
		BusEvenementiel.getInstance().addHandler(EvenementAjoutMotCleImage.TYPE, new GestionnaireEvenementAjoutMotCleImage() {
77
		BusEvenementiel.getInstance().addHandler(EvenementAjoutMotCleImage.TYPE, new GestionnaireEvenementAjoutMotCleImage() {
67
			@Override
78
			@Override
68
			public void onAjoutMotCleImage(EvenementAjoutMotCleImage event) {
79
			public void onAjoutMotCleImage(EvenementAjoutMotCleImage event) {
69
				if(idImage != null && idImage.equals(event.getIdImage())) {
80
				if(image != null && image.getIdImage() != null && image.getIdImage().equals(event.getIdImage())) {
70
					motsCles = null;
81
					motsCles = null;
71
					chargerMotsCles(idImage);
82
					chargerMotsCles();
72
					formulaireSaisieMotsClesPresenteur.viderChampSaisie();
83
					formulaireSaisieMotsClesPresenteur.viderChampSaisie();
73
				}
84
				}
74
			}
85
			}
75
		});
86
		});
Line 95... Line 106...
95
					if(Window.confirm(I18n.getVocabulary().indiceSupprimerMotCle()+" ?")) {
106
					if(Window.confirm(I18n.getVocabulary().indiceSupprimerMotCle()+" ?")) {
96
						motsClesService.supprimerMotCleImage(idMotCle, new SuppressionMotCleImageCallback() {
107
						motsClesService.supprimerMotCleImage(idMotCle, new SuppressionMotCleImageCallback() {
97
							@Override
108
							@Override
98
							public void surRetour(String objetRetour) {
109
							public void surRetour(String objetRetour) {
99
								motsCles = null;
110
								motsCles = null;
100
								chargerMotsCles(idImage);
111
								chargerMotsCles();
101
							}
112
							}
102
						});
113
						});
103
					}
114
					}
104
				};
115
				};
105
			};
116
			};
106
			mcP.go(vue.getZoneMotsCles());
117
			mcP.go(vue.getZoneMotsCles());
107
		}
118
		}
108
	}
119
	}
-
 
120
	
-
 
121
	public void afficherMotsClesCel() {
-
 
122
		List<String> motsClesCelImages = image.getMotsClefs();
-
 
123
		motsClesCelImages.addAll(image.getObservation().getMotsClefs());
-
 
124
		vue.afficherMotsClesCel(motsClesCelImages, motClesCelAFiltrer);
-
 
125
	}
Line 109... Line 126...
109
 
126
 
110
	public void focuserChampsSaisie() {
127
	public void focuserChampsSaisie() {
111
		formulaireSaisieMotsClesPresenteur.focuserChampSaisie();
128
		formulaireSaisieMotsClesPresenteur.focuserChampSaisie();
-
 
129
	}
-
 
130
	
-
 
131
	private void initialiserMotsClesCelAFiltrer() {
-
 
132
		Config config = new Config();
-
 
133
		String chaineMotsClesCelAFiltrer = config.getInfo("motsclescel");
-
 
134
		this.motClesCelAFiltrer = new ArrayList<String>();
-
 
135
		String[] tabMotsClesCelAFiltrer = chaineMotsClesCelAFiltrer.split(",");
-
 
136
		for (int i = 0; i < tabMotsClesCelAFiltrer.length; i++) {
-
 
137
			this.motClesCelAFiltrer.add(StringUtils.normaliser(tabMotsClesCelAFiltrer[i]));	
-
 
138
		}
112
	}
139
	}