blob: ad2511ce8e3a2d03ea82518f35e82f22b9000001 (
plain) (
tree)
|
|
package org.openslx.dozmod.thrift;
import java.awt.Component;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.AuthorizationError;
import org.openslx.bwlp.thrift.iface.TAuthorizationException;
import org.openslx.bwlp.thrift.iface.TInternalServerError;
import org.openslx.bwlp.thrift.iface.TInvalidDateParam;
import org.openslx.bwlp.thrift.iface.TNotFoundException;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
public class ThriftError {
public static void showMessage(Component parent, Logger logger, TException ex, String messageText) {
if (ex instanceof TNotFoundException) {
messageText += "\n\nNicht gefunden";
} else if (ex instanceof TAuthorizationException) {
String reason = getString(((TAuthorizationException) ex).getNumber());
messageText += "\n\nZugriff verweigert: " + reason + "\n" + ex.getMessage();
} else if (ex instanceof TInternalServerError) {
messageText += "\n\nEin serverseitiger Fehler ist aufgetreten. Bitte kontaktieren Sie den lokalen Support.";
} else if (ex instanceof TInvalidDateParam) {
messageText += "\n\nEin angegebenes Datum ist ungültig:\n" + ex.getMessage();
} else {
messageText += "\n\nUnerwartete Ausnahme " + ex.getClass().getSimpleName() + " ist aufgetreten.";
}
logger.warn("A thrift call raised an exception", ex);
Gui.showMessageBox(parent, messageText, MessageType.ERROR, null, null);
}
public static String getString(AuthorizationError error) {
if (error == null)
return "(AuthorizationError=null)";
switch (error) {
case ACCOUNT_SUSPENDED:
return "Das Benutzerkonto ist gesperrt";
case BANNED_NETWORK:
return "Das Netzwerk, aus dem Sie operieren, ist gesperrt";
case CHALLENGE_FAILED:
return "Challenge fehlgeschlagen";
case GENERIC_ERROR:
return "Generischer Fehler";
case INVALID_CREDENTIALS:
return "Ungültige Zugangsdaten";
case INVALID_KEY:
return "Ungültiger Schlüssel";
case INVALID_ORGANIZATION:
return "Ungültige oder unbekannte Organisation";
case INVALID_TOKEN:
return "Ungültiges Sitzungstoken";
case NOT_AUTHENTICATED:
return "Nicht authentifiziert";
case NO_PERMISSION:
return "Keine ausreichenden Berechtigungen";
case ORGANIZATION_SUSPENDED:
return "Ihre zugehörige Organisation ist gesperrt";
default:
return "Unbekannter Fehlercode: " + error.toString();
}
}
}
|