root / trunk / frameworks / _fwAndami / src / com / iver / andami / authentication / LoginUI.java @ 9211
History | View | Annotate | Download (3.84 KB)
1 |
package com.iver.andami.authentication; |
---|---|
2 |
|
3 |
import java.awt.BorderLayout; |
4 |
import java.awt.Color; |
5 |
import java.awt.Container; |
6 |
|
7 |
import javax.swing.BorderFactory; |
8 |
import javax.swing.ImageIcon; |
9 |
import javax.swing.JDialog; |
10 |
import javax.swing.JLabel; |
11 |
import javax.swing.JPanel; |
12 |
import javax.swing.JPasswordField; |
13 |
import javax.swing.JTextField; |
14 |
import org.gvsig.gui.beans.swing.GridBagLayoutPanel; |
15 |
import org.gvsig.gui.beans.swing.JButton; |
16 |
|
17 |
import com.iver.andami.PluginServices; |
18 |
|
19 |
/**
|
20 |
* Form to let the user log in the system.
|
21 |
* @author laura
|
22 |
*
|
23 |
*/
|
24 |
public class LoginUI extends JDialog |
25 |
{ |
26 |
private JTextField usernameField; |
27 |
private JPasswordField passwordField; |
28 |
private JTextField serverURLField; |
29 |
private JLabel invalidLoginLabel; |
30 |
private JButton okButton; |
31 |
private JButton exitButton; |
32 |
private GridBagLayoutPanel mainPanel;
|
33 |
private JPanel buttonPanel; |
34 |
private boolean isFirstLogin = true; |
35 |
|
36 |
static private ImageIcon gvsigIcon = new javax.swing.ImageIcon( |
37 |
LoginUI.class.getClassLoader().getResource("images/gvsig.png"));
|
38 |
|
39 |
IAuthentication authentication; |
40 |
|
41 |
public LoginUI(IAuthentication authentication )
|
42 |
{ |
43 |
Container container = getContentPane();
|
44 |
mainPanel = new GridBagLayoutPanel();
|
45 |
usernameField = new JTextField(25); |
46 |
passwordField = new JPasswordField(25); |
47 |
serverURLField = new JTextField(25); |
48 |
|
49 |
String server_text = (String)authentication.get("server_url"); |
50 |
if(server_text != null){ |
51 |
serverURLField.setText( server_text ); |
52 |
} |
53 |
|
54 |
buttonPanel = new JPanel(); |
55 |
okButton = new JButton( PluginServices.getText(this, "login_ok") ); |
56 |
okButton.addActionListener(new java.awt.event.ActionListener() {
|
57 |
public void actionPerformed(java.awt.event.ActionEvent e) { |
58 |
OK(); |
59 |
} |
60 |
}); |
61 |
exitButton = new JButton( PluginServices.getText(this, "login_exit") ); |
62 |
exitButton.addActionListener(new java.awt.event.ActionListener() {
|
63 |
public void actionPerformed(java.awt.event.ActionEvent e) { |
64 |
Cancel(); |
65 |
} |
66 |
}); |
67 |
|
68 |
buttonPanel.add( okButton ); |
69 |
buttonPanel.add( exitButton ); |
70 |
|
71 |
JPanel logoPanel = new JPanel(); |
72 |
logoPanel.add(new JLabel(gvsigIcon)); |
73 |
logoPanel.setBorder(BorderFactory.createEmptyBorder(1,1,1,10)); |
74 |
container.add(logoPanel, BorderLayout.WEST);
|
75 |
container.add( mainPanel, BorderLayout.CENTER );
|
76 |
mainPanel.addComponent(PluginServices.getText(this, "login_name"), usernameField); |
77 |
mainPanel.addComponent(PluginServices.getText(this, "login_password"), passwordField); |
78 |
mainPanel.addComponent(PluginServices.getText(this, "login_name"), serverURLField); |
79 |
invalidLoginLabel = new JLabel(PluginServices.getText(this, "login_invalid_user")); |
80 |
invalidLoginLabel.setForeground(Color.RED);
|
81 |
invalidLoginLabel.setVisible( false );
|
82 |
mainPanel.addComponent(invalidLoginLabel, buttonPanel); |
83 |
mainPanel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); |
84 |
|
85 |
this.authentication = authentication;
|
86 |
this.setBounds(400,400,this.getWidth(),this.getHeight()); |
87 |
this.setTitle( "Login" ); |
88 |
this.setModal(true); |
89 |
this.setSize( 400, 200); |
90 |
this.setResizable( false ); |
91 |
pack(); |
92 |
setVisible( true );
|
93 |
} |
94 |
|
95 |
public void OK() |
96 |
{ |
97 |
if (((String)serverURLField.getText() == null) || (((String)serverURLField.getText()).length() == 0)){ |
98 |
return;
|
99 |
} |
100 |
|
101 |
authentication.put("user", (String)usernameField.getText()); |
102 |
authentication.put("pwd", new String(passwordField.getPassword())); |
103 |
authentication.put("server", (String)serverURLField.getText()); |
104 |
|
105 |
if (authentication.isValidUser()){
|
106 |
authentication.setLogged(true);
|
107 |
dispose(); |
108 |
} |
109 |
else{
|
110 |
usernameField.setText("");
|
111 |
passwordField.setText("");
|
112 |
if (isFirstLogin)
|
113 |
{ |
114 |
invalidLoginLabel.setVisible(true);
|
115 |
isFirstLogin = false;
|
116 |
} |
117 |
//JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),"Invalid user/password");
|
118 |
} |
119 |
} |
120 |
|
121 |
public void Cancel() |
122 |
{ |
123 |
authentication.put("user", ""); |
124 |
authentication.put("pwd", ""); |
125 |
authentication.setLogged(false);
|
126 |
dispose(); |
127 |
} |
128 |
|
129 |
} |