package jdepend.client.ui.remote.action;
import java.io.IOException;
import java.rmi.RemoteException;
import jdepend.client.core.remote.score.ScoreUpload;
import jdepend.client.core.remote.session.RemoteSessionProxy;
import jdepend.client.core.remote.userproxy.UserActionGather;
import jdepend.client.ui.JDependCooper;
import jdepend.client.ui.action.ExitAction;
import jdepend.framework.exception.JDependException;
public class ClientExitAction extends ExitAction {
public ClientExitAction(JDependCooper frame) {
super(frame);
}
@Override
protected void exit() {
super.exit();
// 保存用户行为收集器
try {
UserActionGather.getInstance().save();
} catch (IOException e1) {
e1.printStackTrace();
}
// 保存分数收集器
try {
ScoreUpload.getInstance().save();
} catch (IOException e1) {
e1.printStackTrace();
}
// 注销(从服务端登出)
try {
if (RemoteSessionProxy.getInstance().isValid()) {
RemoteSessionProxy.getInstance().logout();
}
} catch (RemoteException e1) {
e1.printStackTrace();
} catch (JDependException e1) {
e1.printStackTrace();
}
}
}