mirror of
https://github.com/correl/mage.git
synced 2024-12-25 11:11:16 +00:00
* Client connect - Fixed that reconnect request was also shown if no successful connection was set up before.
This commit is contained in:
parent
7e9accb0fd
commit
2c63d3bff8
6 changed files with 16 additions and 11 deletions
|
@ -1224,7 +1224,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void disconnected() {
|
||||
public void disconnected(final boolean errorCall) {
|
||||
if (SwingUtilities.isEventDispatchThread()) {
|
||||
setStatusText("Not connected");
|
||||
disableButtons();
|
||||
|
@ -1238,13 +1238,10 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
|||
disableButtons();
|
||||
hideGames();
|
||||
hideTables();
|
||||
if (JOptionPane.showConfirmDialog(MageFrame.this, "The connection to server was lost. Reconnect?", "Warning", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||
// session.disconnect(false);
|
||||
// tablesPane.clearChat();
|
||||
if (errorCall && JOptionPane.showConfirmDialog(MageFrame.this, "The connection to server was lost. Reconnect?", "Warning", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||
if (performConnect()) {
|
||||
enableButtons();
|
||||
}
|
||||
// } else {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -70,7 +70,7 @@ public class MultiConnectTest {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void disconnected() {
|
||||
public void disconnected(boolean errorCall) {
|
||||
logger.info("disconnected");
|
||||
}
|
||||
|
||||
|
@ -106,11 +106,13 @@ public class MultiConnectTest {
|
|||
|
||||
private void connect(final int index) throws Exception {
|
||||
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
|
||||
@Override
|
||||
public void uncaughtException(Thread t, Throwable e) {
|
||||
logger.fatal(null, e);
|
||||
}
|
||||
});
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String username = "player" + index;
|
||||
ClientMock client = new ClientMock(username);
|
||||
|
|
|
@ -39,7 +39,7 @@ public interface MageClient extends CallbackClient {
|
|||
|
||||
MageVersion getVersion();
|
||||
void connected(String message);
|
||||
void disconnected();
|
||||
void disconnected(boolean errorCall);
|
||||
void showMessage(String message);
|
||||
void showError(String message);
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ import java.net.MalformedURLException;
|
|||
import java.net.PasswordAuthentication;
|
||||
import java.net.SocketException;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
|
@ -310,7 +311,12 @@ public class SessionImpl implements Session {
|
|||
logger.fatal("Unable to connect to server - ", t);
|
||||
if (!canceled) {
|
||||
disconnect(false);
|
||||
client.showMessage("Unable to connect to server. " + t.getMessage());
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Unable to connect to server.\n");
|
||||
for (StackTraceElement element :t.getStackTrace()) {
|
||||
sb.append(element.toString()).append("\n");
|
||||
}
|
||||
client.showMessage(sb.toString());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -368,7 +374,7 @@ public class SessionImpl implements Session {
|
|||
if (sessionState == SessionState.DISCONNECTING || sessionState == SessionState.CONNECTING) {
|
||||
sessionState = SessionState.DISCONNECTED;
|
||||
logger.info("Disconnected ... ");
|
||||
client.disconnected();
|
||||
client.disconnected(errorCall);
|
||||
if (errorCall) {
|
||||
client.showError("Network error. You have been disconnected");
|
||||
}
|
||||
|
|
|
@ -263,7 +263,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void disconnected() {
|
||||
public void disconnected(boolean errorCall) {
|
||||
if (SwingUtilities.isEventDispatchThread()) {
|
||||
consolePanel1.stop();
|
||||
setStatusText("Not connected");
|
||||
|
|
|
@ -38,7 +38,7 @@ public class SimpleMageClient implements MageClient {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void disconnected() {
|
||||
public void disconnected(boolean errorCall) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue