summaryrefslogtreecommitdiffstats
path: root/Dozentenmodul/src/gui/intro/Login_GUI.java
diff options
context:
space:
mode:
authorunknown2014-04-17 08:49:41 +0200
committerunknown2014-04-17 08:49:41 +0200
commit9a0146ebd3e43334b261d1014ce221900a520bef (patch)
tree8be75f30cffde5319441f642383c8caa34dc1d89 /Dozentenmodul/src/gui/intro/Login_GUI.java
parentg (diff)
parentDebugging: Jeder Fehler poppt auf in einem Textfenster und kann analysiert we... (diff)
downloadtutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.tar.gz
tutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.tar.xz
tutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.zip
Merge branch 'master' of git.openslx.org:openslx-ng/tutor-module
Conflicts: Dozentenmodulserver/bin/server/ServerHandler.class Dozentenmodulserver/src/server/ServerHandler.java
Diffstat (limited to 'Dozentenmodul/src/gui/intro/Login_GUI.java')
-rw-r--r--Dozentenmodul/src/gui/intro/Login_GUI.java257
1 files changed, 162 insertions, 95 deletions
diff --git a/Dozentenmodul/src/gui/intro/Login_GUI.java b/Dozentenmodul/src/gui/intro/Login_GUI.java
index e2db747e..0efbe3cb 100644
--- a/Dozentenmodul/src/gui/intro/Login_GUI.java
+++ b/Dozentenmodul/src/gui/intro/Login_GUI.java
@@ -1,6 +1,6 @@
package gui.intro;
-
+import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Image;
@@ -12,8 +12,6 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
-import java.nio.channels.SeekableByteChannel;
-
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
@@ -25,7 +23,6 @@ import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
-
import models.SessionData;
import models.person;
import org.apache.thrift.TException;
@@ -33,15 +30,22 @@ import org.ini4j.Wini;
import thrift.MasterThriftConnection;
import thrift.ImageServer.Client;
import thrift.UserInfo;
-
import config.config_file;
+import javax.swing.SwingConstants;
@SuppressWarnings("serial")
public class Login_GUI extends JFrame {
private JPanel contentPane;
- private JTextField username;
- private JPasswordField pass;
+ private JTextField lblusername;
+ private JPasswordField lblpass;
+ JLabel lblConnectionInfo = new JLabel("");
+ boolean isClientReturnedCorrectly = false;
+ boolean login;
+ String masterServerIP = MasterThriftConnection.MASTERSERVERIP;
+ MasterThriftConnection thrift;
+ Client client;
+ String token;
/**
* Launch the application.
@@ -65,6 +69,9 @@ public class Login_GUI extends JFrame {
} catch (Exception e) {
e.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e.getStackTrace(),
+ "Message", JOptionPane.ERROR_MESSAGE);
}
}
});
@@ -90,6 +97,9 @@ public class Login_GUI extends JFrame {
| IllegalAccessException | UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e.getCause()+"\n"+e.getMessage(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
}
// Titel des Fensters setzen
setTitle("Dozentenmodul *Prototyp*");
@@ -129,16 +139,17 @@ public class Login_GUI extends JFrame {
contentPane.add(LabelUser);
// Erzeugen und Hinzufügen des Textfeldes
- username = new JTextField();
- username.setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein.");
- username.addActionListener(new ActionListener() {
+ lblusername = new JTextField();
+ lblusername
+ .setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein.");
+ lblusername.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
performLogin();
}
});
- username.setBounds(304, 164, 196, 20);
- contentPane.add(username);
- username.setColumns(10);
+ lblusername.setBounds(292, 164, 237, 20);
+ contentPane.add(lblusername);
+ lblusername.setColumns(10);
// Erzeugen und Hinzufügen des Labels
JLabel LabelPass = new JLabel("bwIDM-Passwort:");
@@ -153,109 +164,165 @@ public class Login_GUI extends JFrame {
}// end actionPerformed
});
- BtnLogin.setBounds(304, 244, 196, 23);
+ BtnLogin.setBounds(292, 244, 237, 23);
contentPane.add(BtnLogin);
// Erzeugen und Hinzufügen des Passwortfeldes
- pass = new JPasswordField();
- pass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein.");
- pass.addActionListener(new ActionListener() {
+ lblpass = new JPasswordField();
+ lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein.");
+ lblpass.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
performLogin();
}
});
- pass.setBounds(304, 195, 196, 20);
- contentPane.add(pass);
+ lblpass.setBounds(292, 195, 237, 20);
+ contentPane.add(lblpass);
+
+ lblConnectionInfo.setHorizontalAlignment(SwingConstants.LEFT);
+ lblConnectionInfo.setBounds(292, 290, 237, 20);
+ contentPane.add(lblConnectionInfo);
}// end LoginGUI()
- //Versuche den Benutzer einzuloggen
+ // Versuche den Benutzer einzuloggen
public void performLogin() {
- // Aufruf der Ldap Klasse, welche die Ldap überprüfung vornimmt
- // Ldap check=new Ldap();
- boolean login = true;
- // boolean login=check.LdapAuth(username.getText(), new
- // String(pass.getPassword()));
- MasterThriftConnection thrift = new MasterThriftConnection();
- Client client = thrift.getMasterThriftConnection();
- String token = null;
- final thrift.SessionData result;
+
+ login = false;
+ thrift = new MasterThriftConnection();
+ client = thrift.getMasterThriftConnection();
+ token = null;
+ thrift.SessionData result = null;
+
try {
- String passText = new String(pass.getPassword());
- System.out.println("Benutzer:" +username.getText() + "\nPasswort" + passText);
- result = client.authenticate(username.getText(), passText);
- SessionData.session.setAuthToken(result.authToken);
- SessionData.session.setSessionID(result.sessionId);
- SessionData.session.setServerAdress(result.serverAddress);
- System.out.println("Server Adresse: "+result.serverAddress);
-
+ login = true;
+ String passText = new String(lblpass.getPassword());
+ System.out.println("Benutzer: " + lblusername.getText()
+ + "\nPasswort: " + passText);
+
+ // check if client has received a connection with information or a
+ // null package
+ if (checkClientPackage() == true) {
+ // package has information
+ result = client.authenticate(lblusername.getText(), passText);
+ SessionData.session.setAuthToken(result.authToken);
+ SessionData.session.setSessionID(result.sessionId);
+ SessionData.session.setServerAdress(result.serverAddress);
+ System.out.println("Satellit-Adresse: " + result.serverAddress);
+
+ System.out
+ .println("Konnte mich beim MasterServer authentifizieren. Meine Session-ID ist "
+ + result.sessionId
+ + ", mein Token für den Satelliten "
+ + result.authToken);
+ token = result.authToken;
+
+ if (login == true) {
+
+ try {
+ Wini ini = new Wini(
+ new File(
+ "C:\\Users\\"
+ + System.getProperty("user.name")
+ + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini"));
+ // Prüfe ob Bills Of Rights schon akzeptiert wurden,
+ // wenn
+ // nicht zeige diese an
+ if (ini.get("main", "BillOfRights", boolean.class) == false) {
+ // Erstellen einer Instanz der Aktionsauswahl
+ BillOfRights_GUI re = new BillOfRights_GUI();
+ re.setVisible(true);
+ // Schließen des Fensters nach erfolgreichen Login
+ setVisible(false);
+ } else {
+ // Prüfe ob die Links zu vmware angezeigt werden
+ // sollen
+ if (ini.get("main", "vmware", boolean.class) == false) {
+ VmWareLink_GUI vm = new VmWareLink_GUI();
+ vm.setVisible(true);
+ setVisible(false);
+ } else {
+ UserInfo user = client.getUserFromToken(token);
+
+ String hochschule = user.eMail.substring(
+ user.eMail.indexOf("@") + 1,
+ user.eMail.indexOf(".",
+ user.eMail.indexOf("@")));
+ // System.out.println("hochschule="+hochschule);
+
+ person.verantwortlicher.setUsername(lblusername
+ .getText());
+ person.verantwortlicher.setName(user.lastName);
+ person.verantwortlicher
+ .setVorname(user.firstName);
+ person.verantwortlicher.setEMail(user.eMail);
+ person.verantwortlicher
+ .setHochschule(hochschule);
+
+ // Öffne das Hauprmenü
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ setVisible(false);
+ }
+ }
+ } catch (IOException | TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e.getCause()+"\n"+e.getMessage(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
+ }
+
+ } else {
+ JOptionPane.showMessageDialog(null, "Login denied!",
+ "Message", JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ } else {
+ // package from server is null
+ login = false;
+ lblConnectionInfo.setForeground(Color.red);
+ lblConnectionInfo.setText("Fehler: Client nicht mit Server verbunden.");
+
+ }
+
} catch (thrift.AuthenticationException e) {
- System.out.println("Authentifizierung fehlgeschlagen: " + e.message);
+ System.out
+ .println("Authentifizierung fehlgeschlagen: " + e.message);
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.",
+ "Anmeldung fehlgeschlagen",
+ JOptionPane.ERROR_MESSAGE);
+ e.printStackTrace();
JOptionPane.showMessageDialog(null,
- "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.",
- "Anmeldung fehlgeschlagen",
- JOptionPane.ERROR_MESSAGE);
-
+ e.getCause()+"\n"+e.getMessage(),
+ "Message", JOptionPane.ERROR_MESSAGE);
return;
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e.getCause()+"\n"+e.getMessage(),
+ "Debug-Message", JOptionPane.ERROR_MESSAGE);
return;
}
- System.out
- .println("Konnte mich beim MasterServer authentifizieren. Meine Session-ID ist "
- + result.sessionId
- + ", mein Token für den Satelliten "
- + result.authToken);
- token = result.authToken;
- if (login == true) {
-
- try {
- Wini ini = new Wini(new File("C:\\Users\\"
- + System.getProperty("user.name")
- + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini"));
- // Prüfe ob Bills Of Rights schon akzeptiert wurden, wenn nicht
- // zeige diese an
- if (ini.get("main", "BillOfRights", boolean.class) == false) {
- // Erstellen einer Instanz der Aktionsauswahl
- BillOfRights_GUI re = new BillOfRights_GUI();
- re.setVisible(true);
- // Schließen des Fensters nach erfolgreichen Login
- setVisible(false);
- } else {
- // Prüfe ob die Links zu vmware angezeigt werden sollen
- if (ini.get("main", "vmware", boolean.class) == false) {
- VmWareLink_GUI vm = new VmWareLink_GUI();
- vm.setVisible(true);
- setVisible(false);
- } else {
- UserInfo user = client.getUserFromToken(token);
-
- String hochschule = user.eMail.substring(user.eMail
- .indexOf("@") + 1, user.eMail.indexOf(".",
- user.eMail.indexOf("@")));
- // System.out.println("hochschule="+hochschule);
-
- person.verantwortlicher.setUsername(username.getText());
- person.verantwortlicher.setName(user.lastName);
- person.verantwortlicher.setVorname(user.firstName);
- person.verantwortlicher.setEMail(user.eMail);
- person.verantwortlicher.setHochschule(hochschule);
-
- // Öffne das Hauprmenü
- MainMenue_GUI main = new MainMenue_GUI();
- main.setVisible(true);
- setVisible(false);
- }
- }
- } catch (IOException | TException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ }// end performLogin
+ public boolean checkClientPackage() {
+ // check if client is null or has been returned with information
+ if (client != null) {
+ // client contains information
+ isClientReturnedCorrectly = true;
+ System.out.println("Masterserver (" + masterServerIP
+ + ") ist erreichbar, Verbindungsinformationen erhalten");
} else {
- JOptionPane.showMessageDialog(null, "Login denied!", "Message",
- JOptionPane.INFORMATION_MESSAGE);
+ // client has returned with error
+ isClientReturnedCorrectly = false;
+ System.out.println("Fehler: Client hat von Masterserver (" + masterServerIP
+ + ") keine korrekten Verbindungsdaten erhalten.");
}
- }// end performLogin
+
+ return isClientReturnedCorrectly;
+ }// end checkServerConnection()
}// end class