Browse Source

REPORT-84331 【冒烟】本地目录启动,还提示我插件版本不一致

【问题原因】jar包和插件的版本检查,均会在设计器启动后运行一次,但是jar包检查判断了是否为本地目录,插件检查未判断,因此进行了插件检查,同时又因为测试同学本地存在同ID的多个版本插件,导致了检查结果为"XXX插件版本不一致",并给出弹窗提醒
【改动思路】将"判断是否为本地目录"的逻辑提前,先判断,再去做jar和插件检查,
【review建议】
new-design
Yvan-欧阳帆 2 years ago
parent
commit
734668c3b1
  1. 46
      designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java

46
designer-base/src/main/java/com/fr/design/versioncheck/VersionCheckUtils.java

@ -88,7 +88,23 @@ public class VersionCheckUtils {
public static boolean versionCheck(String envName) {
return checkLocalAndRemoteJartime(envName) && checkLocalAndRemotePlugin().size() == 0;
if (needCheckConsistency(envName)) {
return checkLocalAndRemoteJartime(envName) && checkLocalAndRemotePlugin().size() == 0;
}
return true;
}
/**
* 判断是否需要检查Jartime和插件的一致性
*
* @param selectedEnvName 当前工作目录名称
* @return
*/
private static boolean needCheckConsistency(String selectedEnvName) {
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(selectedEnvName);
// 当前工作目录为远程工作目录时,需要检查
return selectedEnv.getType() == DesignerWorkspaceType.Remote;
}
public static boolean versionCheck(DesignerWorkspaceInfo selectedEnv) {
@ -139,21 +155,17 @@ public class VersionCheckUtils {
}
public static boolean checkLocalAndRemoteJartime(DesignerWorkspaceInfo selectedEnv) {
//是否需要做服务校验
if (needCheckBranch(selectedEnv)) {
String localBranch;
String remoteBranch = getRemoteBranch(selectedEnv);
localBranch = GeneralUtils.readFullBuildNO();
//通过是否包含#来避免当前版本为非安装版本(主要是内部开发版本)
if (localBranch.contains("#") && ComparatorUtils.equals(localBranch, remoteBranch)) {
//说明版本一致,仅做日志记录
FineLoggerFactory.getLogger().info("Remote Designer version consistency");
return true;
} else {
return false;
}
String localBranch;
String remoteBranch = getRemoteBranch(selectedEnv);
localBranch = GeneralUtils.readFullBuildNO();
//通过是否包含#来避免当前版本为非安装版本(主要是内部开发版本)
if (localBranch.contains("#") && ComparatorUtils.equals(localBranch, remoteBranch)) {
//说明版本一致,仅做日志记录
FineLoggerFactory.getLogger().info("Remote Designer version consistency");
return true;
} else {
return false;
}
return true;
}
public static List<String> getNoExistServiceDescription(String envName) {
@ -267,10 +279,6 @@ public class VersionCheckUtils {
return df.format(jarDate);
}
private static boolean needCheckBranch(DesignerWorkspaceInfo selectedEnv) {
return selectedEnv.getType() == DesignerWorkspaceType.Remote;
}
public static JSONArray checkLocalAndRemotePlugin() {
JSONArray differentPlugins = new JSONArray();
JSONArray remotePlugins = FRContext.getCommonOperator().getPluginStatus();

Loading…
Cancel
Save