Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2658 Rev 2668
Line 7... Line 7...
7
import org.tela_botanica.client.modeles.objets.Configuration;
7
import org.tela_botanica.client.modeles.objets.Configuration;
8
import org.tela_botanica.client.modeles.objets.Utilisateur;
8
import org.tela_botanica.client.modeles.objets.Utilisateur;
9
import org.tela_botanica.client.observation.ObservationMediateur;
9
import org.tela_botanica.client.observation.ObservationMediateur;
10
import org.tela_botanica.client.util.Util;
10
import org.tela_botanica.client.util.Util;
Line -... Line 11...
-
 
11
 
11
 
12
import com.google.gwt.core.client.Callback;
12
import com.google.gwt.user.client.ui.FileUpload;
13
import com.google.gwt.user.client.ui.FileUpload;
13
import com.google.gwt.user.client.ui.FormPanel;
14
import com.google.gwt.user.client.ui.FormPanel;
14
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
15
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
15
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
16
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
16
import com.google.gwt.user.client.ui.HTML;
-
 
17
import com.google.gwt.user.client.ui.HasAlignment;
17
import com.google.gwt.user.client.ui.HTML;
18
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
18
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
19
import com.google.gwt.user.client.ui.Hidden;
19
import com.google.gwt.user.client.ui.Hidden;
20
import com.google.gwt.user.client.ui.VerticalPanel;
20
import com.google.gwt.user.client.ui.VerticalPanel;
21
import com.gwtext.client.core.EventObject;
21
import com.gwtext.client.core.EventObject;
Line 54... Line 54...
54
		holder.add(upload);
54
		holder.add(upload);
55
		holder.add(boutonValidation);
55
		holder.add(boutonValidation);
56
		holder.add(identifiant);
56
		holder.add(identifiant);
Line 57... Line 57...
57
		
57
		
58
		HTML lienVersDocumentModele = new HTML("<a href=\"modele_import.xls\">" + Msg.get("telecharger-modele") + "</a>");
-
 
59
		
58
		HTML lienVersDocumentModele = new HTML("<a href=\"modele_import.xls\">" + Msg.get("telecharger-modele") + "</a>");
60
		holder.add(lienVersDocumentModele);
-
 
61
 
59
		holder.add(lienVersDocumentModele);
62
		holder.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
-
 
63
		
60
		holder.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);	
Line 64... Line 61...
64
		boutonValidation.addListener(new ButtonListenerAdapter() {
61
		boutonValidation.addListener(new ButtonListenerAdapter() {
65
						
62
						
66
			@Override
63
			@Override
Line 72... Line 69...
72
		form.add(holder);
69
		form.add(holder);
Line 73... Line 70...
73
		
70
		
74
		nPan.add(form);
71
		nPan.add(form);
Line 75... Line 72...
75
		form.setAction(Configuration.getServiceBaseUrl() + "/ImportXLS");
72
		form.setAction(Configuration.getServiceBaseUrl() + "/ImportXLS");
76
		
-
 
77
		form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
73
		
78
			
74
		form.addSubmitCompleteHandler(new SubmitCompleteHandler() {	
79
			@Override
-
 
80
			public void onSubmitComplete(SubmitCompleteEvent event) {
75
			@Override
81
				nPan.close();
76
			public void onSubmitComplete(SubmitCompleteEvent event) {
82
				String message = "";
77
				// Certains client ne savent pas lire le retour d'upload correctement
83
				Map<String, String> retourImport = Util.parserRetourImportObs(event.getResults());
78
				// notamment à cause des requêtes CORS, donc en cas de problème on 
84
				for (Iterator<String> iterator = retourImport.keySet().iterator(); iterator
79
				// appelle manuellement les stats d'upload en lecture
85
						.hasNext();) {
80
				if(event.getResults() != null) {
86
					String indexRapport = iterator.next();
81
					try {
87
					// on ne met pas de "-" dans les clés json, mais par contre nos clé i18n
82
						Map<String, String> retourImport = Util.parserRetourImportObs(event.getResults());
88
					// sont séparées par des tirets, donc on remplace
83
						surRetourImport(retourImport);
-
 
84
					} catch (Exception e) {
89
					String cleI18n = indexRapport.replace("_", "-");
85
						demanderStatsUpload();
90
					Util.LogVersFirebug(cleI18n);
86
					}
91
					String[] StrParams = {retourImport.get(indexRapport).replace("\"", "")};
87
				} else {
92
					message += Msg.get(cleI18n, StrParams)+"\n";
-
 
93
				}
-
 
94
				com.google.gwt.user.client.Window.alert(message);	
88
					demanderStatsUpload();
95
				oMediateur.obtenirDernierePageObservation();
89
				}
96
			}
90
			}
Line -... Line 91...
-
 
91
		});
-
 
92
	}
-
 
93
	
-
 
94
	private void demanderStatsUpload() {
-
 
95
		Util.envoyerRequeteStatsUpload(new Callback<String, String>() {	
-
 
96
			@Override
-
 
97
			public void onSuccess(String resultats) {
-
 
98
				Map<String, String> retourImport = Util.parserRetourImportObs(resultats);
-
 
99
				surRetourImport(retourImport);
-
 
100
			}
-
 
101
			
-
 
102
			@Override
-
 
103
			public void onFailure(String reason) {
-
 
104
				// TODO: rien à faire, si la requête échoue c'est que le serveur
-
 
105
				// ne répond pas et donc on a déjà eu des problèmes en amont
-
 
106
			}
-
 
107
		});
-
 
108
	}
-
 
109
	
-
 
110
	private void surRetourImport(Map<String, String> retourImport) {
-
 
111
		String message = "";
-
 
112
		for (Iterator<String> iterator = retourImport.keySet().iterator(); iterator
-
 
113
				.hasNext();) {
-
 
114
			String indexRapport = iterator.next();
-
 
115
			// on ne met pas de "-" dans les clés json, mais par contre nos clé i18n
-
 
116
			// sont séparées par des tirets, donc on remplace
-
 
117
			String cleI18n = indexRapport.replace("_", "-");
-
 
118
			Util.LogVersFirebug(cleI18n);
-
 
119
			String[] StrParams = {retourImport.get(indexRapport).replace("\"", "")};
-
 
120
			message += Msg.get(cleI18n, StrParams)+"\n";
-
 
121
		}
-
 
122
		com.google.gwt.user.client.Window.alert(message);	
-
 
123
		nPan.close();
97
		});
124
		oMediateur.obtenirDernierePageObservation();
98
	}
125
	}
99
	
126
	
100
	public void afficher() {
127
	public void afficher() {