帆软报表设计器源代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

42 lines
1.2 KiB

package com.fr.env;
import com.fr.base.Env;
import com.fr.base.FRContext;
import com.fr.general.ComparatorUtils;
import com.fr.design.utils.DesignUtils;
import com.fr.general.GeneralContext;
public class SignIn {
public static Env lastSelectedEnv;// 记录最后登录的Env
/**
* 注册入环境
* @param selectedEnv 选择的环境
* @throws Exception 异常
*/
public static void signIn(Env selectedEnv) throws Exception {
boolean validServer;
signOutOldEnv(selectedEnv);
selectedEnv.signIn();
validServer = true;
if (validServer) {
DesignUtils.switchToEnv(selectedEnv);
lastSelectedEnv = selectedEnv;
}
}
private static void signOutOldEnv(Env newEnv) {
// 环境相同直接返回,避免浪费过多时间
if (lastSelectedEnv == null || ComparatorUtils.equals(lastSelectedEnv, newEnv)) {
return;
}
try {
GeneralContext.fireEnvSignOutListener();
lastSelectedEnv.signOut();
} catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e);
}
}
}