Subversion Repositories eFlore/Archives.cel-v1

Rev

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

Rev 20 Rev 21
Line 1... Line 1...
1
/**
1
/**
-
 
2
 David Delon david.delon@clapas.net 2007
-
 
3
 
2
 Ce logiciel est régi par la licence CeCILL soumise au droit français et
4
 Ce logiciel est régi par la licence CeCILL soumise au droit français et
3
 respectant les principes de diffusion des logiciels libres. Vous pouvez
5
 respectant les principes de diffusion des logiciels libres. Vous pouvez
4
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
6
 utiliser, modifier et/ou redistribuer ce programme sous les conditions
5
 de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
7
 de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
6
 sur le site "http://www.cecill.info".
8
 sur le site "http://www.cecill.info".
Line 26... Line 28...
26
 termes.
28
 termes.
Line 27... Line 29...
27
 
29
 
Line 28... Line 30...
28
 */
30
 */
-
 
31
 
29
 
32
/*
-
 
33
 * LoginDialog.java  (DialogBox)
-
 
34
 * 
30
/*
35
 * Cas d'utilisation :
-
 
36
 * Dialogue de validation de l'identification utilisateur
-
 
37
 * 
-
 
38
 * 1 : L'utilisateur saisit son identifiant (e-mail) et son mot de passe
-
 
39
 * 2 : Le dialogue contrôle auprès du système distant la validité des informations saisies 
-
 
40
 * 3 : Le dialogue transmet au système local les informations d'identification
-
 
41
 * 		3a : Le dialogue informe l'utilisateur que les elements d'identification ne sont pas valide : retour au point 1, ou passe au point 4.
31
 $Id$
42
 * 4 : Clôture du dialogue
Line 32... Line -...
32
 
-
 
33
 */
-
 
34
 
43
 * 5 : Appel du dialogue d'importation
Line 35... Line 44...
35
 
44
 */
36
 
45
 
37
package org.tela_botanica.client;
46
package org.tela_botanica.client;
38
 
-
 
39
 
47
 
40
import com.google.gwt.json.client.JSONArray;
48
 
41
import com.google.gwt.json.client.JSONBoolean;
49
import com.google.gwt.json.client.JSONArray;
-
 
50
import com.google.gwt.json.client.JSONBoolean;
42
import com.google.gwt.json.client.JSONParser;
51
import com.google.gwt.json.client.JSONParser;
43
import com.google.gwt.json.client.JSONString;
52
import com.google.gwt.json.client.JSONValue;
44
import com.google.gwt.json.client.JSONValue;
53
import com.google.gwt.user.client.HTTPRequest;
45
import com.google.gwt.user.client.HTTPRequest;
54
import com.google.gwt.user.client.ResponseTextHandler;
46
import com.google.gwt.user.client.ResponseTextHandler;
55
import com.google.gwt.user.client.Window;
Line 55... Line 64...
55
import com.google.gwt.user.client.ui.Widget;
64
import com.google.gwt.user.client.ui.Widget;
Line 56... Line 65...
56
 
65
 
Line 57... Line 66...
57
public class LoginDialog extends DialogBox {
66
public class LoginDialog extends DialogBox {
58
 
-
 
59
 
-
 
60
  Mediator mediator=null;
67
 
61
 
68
 
62
  private String serviceBaseUrl = null;
69
  private Mediator mediator=null;
63
  private TextBox login = new TextBox();
-
 
Line 64... Line 70...
64
  private PasswordTextBox  password = new PasswordTextBox();
70
  private TextBox login = new TextBox();
Line 65... Line 71...
65
  private String user=null;
71
  private PasswordTextBox  password = new PasswordTextBox();
Line 66... Line 72...
66
  
72
  private Grid inner = new Grid(4,2);
67
  
-
 
68
	
73
  
Line 69... Line -...
69
  public LoginDialog(final Mediator med) {
-
 
70
	  
-
 
71
    setText("Connexion");
-
 
72
 
-
 
73
    mediator=med;
-
 
74
 
74
	
Line -... Line 75...
-
 
75
  public LoginDialog(final Mediator med) {
75
    mediator.registerLoginDialog(this);
76
	  
-
 
77
    setText("Connexion");
-
 
78
 
-
 
79
    mediator=med;
-
 
80
    mediator.registerLoginDialog(this);
Line 76... Line -...
76
 
-
 
77
    user=mediator.getUser();
-
 
Line -... Line 81...
-
 
81
 
Line 78... Line -...
78
  
-
 
79
    serviceBaseUrl = mediator.getServiceBaseUrl();
-
 
80
 
-
 
81
    
82
    VerticalPanel outer = new VerticalPanel();
82
    VerticalPanel outer = new VerticalPanel();
83
 
83
 
84
/*
84
    Grid inner = new Grid(3,2);
85
 *  E-Mail : Zone_saisie_email 
85
    
86
 *  Mot-de-passe : Zone_saisie_mot_de_passe
86
    
-
 
87
   
87
 *  Message d'information
88
    HTML textLogin = new HTML("E-mail:");
88
 *  Bouton_Ok   Bouton_Annuler
89
    
89
 */ 
90
    
90
    
Line -... Line 91...
-
 
91
    
Line 91... Line 92...
91
    HTML textPassword = new HTML("Mot de passe:");
92
    
92
 
93
// Validation bouton
93
	
94
    
94
	HTML okButton=new HTML("Ok");
95
	HTML okButton=new HTML("Ok");
Line 112... Line 113...
112
					        hide();
113
					        hide();
113
	    		}
114
	    		}
114
	     	}
115
	     	}
115
	);		
116
	);		
Line -... Line 117...
-
 
117
 
-
 
118
//Validation utilisateur sans utilisation des boutons : 
Line 116... Line 119...
116
 
119
 
Line 117... Line 120...
117
	
120
	
118
	  login.addKeyboardListener( new KeyboardListener() {
-
 
119
 
-
 
120
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
121
  login.addKeyboardListener( new KeyboardListener() {
121
			  
122
 
122
			  
-
 
123
			  if(arg1 == KEY_ENTER)
123
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
124
			    {
124
			  if(arg1 == KEY_ENTER)
125
				  loginFromService(login.getText(),password.getText());
-
 
126
			        hide();
125
			    {
Line 127... Line 126...
127
			    }
126
				  loginFromService();
128
 
-
 
129
		  }
-
 
130
		  
127
			    }
131
		  public void onKeyUp(Widget arg0, char arg1, int arg2) {
-
 
Line 132... Line 128...
132
		  }
128
		  }
133
 
129
		  
Line -... Line 130...
-
 
130
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
134
		  public void onKeyPress(Widget arg0, char arg1, int arg2) {
131
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
135
		  }
132
		  
Line 136... Line 133...
136
		  
133
		  }
Line 137... Line -...
137
		  }
-
 
138
  );
134
  );
139
	
135
	
140
 
-
 
141
		
136
 
142
	  password.addKeyboardListener( new KeyboardListener() {
137
// Validation utilisateur sans utilisation des boutons : 
143
 
-
 
144
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
138
  
Line 145... Line 139...
145
			  
139
  password.addKeyboardListener( new KeyboardListener() {
146
			  
-
 
147
			  if(arg1 == KEY_ENTER)
-
 
148
			    {
140
 
149
				  loginFromService(login.getText(),password.getText());
-
 
Line 150... Line 141...
150
			        hide();
141
		  public void onKeyDown(Widget arg0, char arg1, int arg2) {
151
			    }
142
			  
152
 
143
			  if(arg1 == KEY_ENTER)
153
		  }
-
 
154
		  
-
 
155
		  public void onKeyUp(Widget arg0, char arg1, int arg2) {
-
 
156
		  }
-
 
157
 
-
 
158
		  public void onKeyPress(Widget arg0, char arg1, int arg2) {
-
 
159
		  }
-
 
160
		  
-
 
161
		  }
-
 
Line -... Line 144...
-
 
144
			    {
-
 
145
				  loginFromService();
-
 
146
			    }
-
 
147
		  }
-
 
148
		  
-
 
149
		  public void onKeyUp(Widget arg0, char arg1, int arg2) { }
-
 
150
		  public void onKeyPress(Widget arg0, char arg1, int arg2) { }
-
 
151
		  
-
 
152
		  }
162
  );
153
  );
Line 163... Line 154...
163
	
154
 
Line 164... Line -...
164
	  inner.setWidget(0,0,textLogin);
-
 
165
	  inner.setWidget(0,1,login);
-
 
166
	  inner.setWidget(1,0,textPassword);
-
 
167
	  inner.setWidget(1,1,password);
-
 
168
	  inner.setWidget(2,0,okButton);
-
 
Line -... Line 155...
-
 
155
	  
-
 
156
     inner.setHTML(0,0,"E-mail:");
-
 
157
	 inner.setWidget(0,1,login);
-
 
158
	 inner.setHTML(1,0,"Mot de passe:           ");
-
 
159
	 inner.setWidget(1,1,password);
-
 
160
	 inner.setWidget(3,0,okButton);
-
 
161
	 inner.setWidget(3,1,cancelButton);
-
 
162
	 
-
 
163
	 inner.setCellPadding(10);
-
 
164
     outer.add(inner);
-
 
165
	 setWidget(outer);
-
 
166
	    
Line 169... Line 167...
169
	  inner.setWidget(2,1,cancelButton);
167
  }
170
	 
168
  
Line 171... Line 169...
171
	  inner.setCellPadding(10);
169
  
172
	  outer.add(inner);
-
 
173
	  
170
 
174
	 setWidget(outer);
171
  /**
175
	    
172
   * Appel du service d'identification et positionnement de l'état de connection en fonction du résultat.
176
  }
173
   * 
177
  
-
 
178
  
174
   * @param login : identifiant saisi
179
	/**
175
   * @param password : mot de passe saisi
180
	 * 
176
   * 
181
	 */
177
   */
182
	
178
  
-
 
179
	private void loginFromService() {
-
 
180
		
-
 
181
		final String login=this.login.getText();
-
 
182
		String password=this.password.getText();
-
 
183
 
-
 
184
		HTTPRequest.asyncGet(mediator.getServiceBaseUrl() + "/User/" + login + "/" + password ,
-
 
185
				new ResponseTextHandler() {
-
 
186
 
-
 
187
					public void onCompletion(String str) {
-
 
188
			
-
 
189
						JSONValue jsonValue = JSONParser.parse(str);
183
	private void loginFromService(String login, String password) {
190
						JSONArray jsonArray;
184
 
191
						if ((jsonArray = jsonValue.isArray()) != null) {
185
 
192
								mediator.setConnected(((JSONBoolean) jsonArray.get(1)).booleanValue());
Line 186... Line 193...
186
		HTTPRequest.asyncGet(serviceBaseUrl + "/User/" + login + "/" + password ,
193
						}
Line -... Line 194...
-
 
194
						 
-
 
195
						if (mediator.getConnected()) {
-
 
196
							mediator.setUser(login);
187
				new ResponseTextHandler() {
197
							hide();
188
 
198
							ImportDialog importDialog = new ImportDialog(mediator);
189
					public void onCompletion(String str) {
199
 
190
					
200
		    				// Position it roughly in the middle of the screen.
191
						
201
		    				int left = (Window.getClientWidth() - 512) / 2;
Line 221... Line 231...
221
 
231
 
Line 222... Line 232...
222
}
232
}
223
 
233
 
-
 
234
/* +--Fin du code ---------------------------------------------------------------------------------------+
-
 
235
* $Log$
-
 
236
* Revision 1.7  2007-05-21 11:47:30  ddelon
224
/* +--Fin du code ---------------------------------------------------------------------------------------+
237
* meta cvs
225
* $Log$
238
*
226
* Revision 1.6  2007-05-21 11:39:48  ddelon
239
* Revision 1.6  2007-05-21 11:39:48  ddelon
227
* meta cvs
240
* meta cvs
228
*
241
*