summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui')
-rw-r--r--dozentenmodul/src/main/java/gui/intro/Login_GUI.java38
1 files changed, 28 insertions, 10 deletions
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
index 82c2be24..0b22792d 100644
--- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
@@ -393,9 +393,9 @@ public class Login_GUI extends JFrame {
if (loginType == LOGIN_TYPE_BWIDM) {
// try the shibbo login in its own SwingWorker to avoid GUI lockups
- SwingWorker<Boolean, String> worker = new SwingWorker<Boolean, String>(){
+ SwingWorker<ShibbolethECP.ReturnCode, String> worker = new SwingWorker<ShibbolethECP.ReturnCode, String>(){
@Override
- protected Boolean doInBackground() throws Exception {
+ protected ShibbolethECP.ReturnCode doInBackground() throws Exception {
publish("Info: Initialisiere Shibboleth-Client ...");
OrganizationData selectedOrg = (OrganizationData) idpChoice.getSelectedItem();
publish("Info: Überprüfe Zugangdaten über bwIDM ...");
@@ -403,14 +403,32 @@ public class Login_GUI extends JFrame {
}
protected void done() {
try {
- if (get()) {
- setStatus(Color.green, "Info: bwIDM-Login erfolgreich.", null);
- JOptionPane.showMessageDialog(c, "Der Shibboleth-Login war erfolgreich! Der Rest ist noch in Entwicklung :)",
- "bwIDM-Login erfolgreich", JOptionPane.PLAIN_MESSAGE);
- // all done, show main menu
- showMainMenu();
- } else {
- setStatus(Color.red, "Fehler: bwIDM-Login fehlgeschlagen!", null);
+ ShibbolethECP.ReturnCode ecpReturn = get();
+ switch(ecpReturn) {
+ case NO_ERROR:
+ setStatus(Color.green, "Info: bwIDM-Anmeldung erfolgreich.", null);
+ JOptionPane.showMessageDialog(c, "Der Shibboleth-Login war erfolgreich und das Holen der Resource hat geklappt! Der Rest ist noch in Entwicklung :)",
+ "Anmeldung erfolgreich", JOptionPane.PLAIN_MESSAGE);
+ // all done, show main menu
+ showMainMenu();
+ break;
+ case ERROR_IDP:
+ setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null);
+ JOptionPane.showMessageDialog(c, "Anmeldung fehlgeschlagen. Überprüfen Sie den Benutzername und Passwort.",
+ "Fehler", JOptionPane.ERROR_MESSAGE);
+ break;
+ case ERROR_SP:
+ setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null);
+ JOptionPane.showMessageDialog(c, "Anmeldung erfolgreich aber die Antwort des Service Providers ist ungültig.",
+ "Fehler", JOptionPane.ERROR_MESSAGE);
+ break;
+ case ERROR_OTHER:
+ setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null);
+ JOptionPane.showMessageDialog(c, "Fataler Fehler. Schicken Sie die Log-Datei einem Administrator zu!",
+ "Fehler", JOptionPane.ERROR_MESSAGE);
+ break;
+ default:
+ setStatus(Color.red, "Fehler: bwIDM-Login fehlgeschlagen!", null);
}
} catch (InterruptedException e) {
LOGGER.error("SwingWorker for ShibbolethECP got interrupted, see trace: ", e);