terminal fix round 5
This commit is contained in:
parent
947e4636e5
commit
7fec46bc90
@ -1,13 +1,14 @@
|
||||
package cn.axzo.framework.auth.domain;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
|
||||
public class TerminalInfo {
|
||||
/**
|
||||
@ -231,20 +232,32 @@ public class TerminalInfo {
|
||||
|
||||
private String newTerminalString;
|
||||
|
||||
@Deprecated
|
||||
private boolean ambiguous;
|
||||
|
||||
private static Set<String> ambiguousNames = new HashSet<>();
|
||||
static {
|
||||
ambiguousNames.add(STR_TERMINAL_CMS);
|
||||
ambiguousNames.add(NUM_TERMINAL_CMS);
|
||||
ambiguousNames.add(NUM15_TERMINAL_CMS);
|
||||
}
|
||||
|
||||
public TerminalInfo(String rawTerminalString) {
|
||||
this.rawTerminalString = rawTerminalString;
|
||||
this.newTerminalString = aliasMap.get(rawTerminalString);
|
||||
this.ambiguous = ambiguousNames.contains(rawTerminalString);
|
||||
// TODO: 为了调试方便,先注释掉这两句。@gaowei
|
||||
// if (this.newTerminalString == null)
|
||||
// throw new IllegalArgumentException("无效的Terminal:" + rawTerminalString);
|
||||
}
|
||||
|
||||
public TerminalInfo(String rawTerminalString, String newTerminalString) {
|
||||
if (newTerminalString == null)
|
||||
if (newTerminalString == null || !aliasMap.containsKey(newTerminalString))
|
||||
throw new IllegalArgumentException("无效的Terminal:" + newTerminalString);
|
||||
|
||||
this.rawTerminalString = rawTerminalString;
|
||||
this.newTerminalString = newTerminalString;
|
||||
this.newTerminalString = aliasMap.get(newTerminalString);
|
||||
this.ambiguous = ambiguousNames.contains(rawTerminalString);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -265,6 +278,11 @@ public class TerminalInfo {
|
||||
return newTerminalString;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean isAmbiguous() {
|
||||
return this.ambiguous;
|
||||
}
|
||||
|
||||
public boolean isOMS_WEB() {
|
||||
return NT_OMS_WEB.equals(newTerminalString);
|
||||
}
|
||||
@ -303,6 +321,22 @@ public class TerminalInfo {
|
||||
public boolean isLegacy(String legacyTerminalString) {
|
||||
if (legacyTerminalString == null)
|
||||
return false;
|
||||
|
||||
/// 强行Hard code一波,解决ambiguous的问题
|
||||
if ("cms".equals(legacyTerminalString)) {
|
||||
if (this.isCMS())
|
||||
return true;
|
||||
} else if ("cmp".equals(legacyTerminalString)) {
|
||||
if (this.isCMP())
|
||||
return true;
|
||||
} else if ("proj".equals(legacyTerminalString)) {
|
||||
if (this.isPROJ())
|
||||
return true;
|
||||
} else if ("ent".equals(legacyTerminalString)) {
|
||||
if (this.isENT())
|
||||
return true;
|
||||
}
|
||||
|
||||
if (legacyTerminalString.equals(this.rawTerminalString))
|
||||
return true;
|
||||
String legacyNT = aliasMap.get(legacyTerminalString);
|
||||
@ -314,6 +348,16 @@ public class TerminalInfo {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean isENT() {
|
||||
return (NT_CMP_APP_ENT_ZB.equals(this.newTerminalString) || NT_CMS_WEB_ENT_ZB.equals(this.newTerminalString));
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public boolean isPROJ() {
|
||||
return (NT_CMP_APP_PROJ.equals(this.newTerminalString) || NT_CMS_WEB_PROJ.equals(this.newTerminalString));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.newTerminalString;
|
||||
@ -332,7 +376,6 @@ public class TerminalInfo {
|
||||
return list.toArray(new String[list.size()]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -341,11 +384,11 @@ public class TerminalInfo {
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean isCMS() {
|
||||
if(this.newTerminalString == null)
|
||||
if (this.newTerminalString == null)
|
||||
return false;
|
||||
return this.newTerminalString.startsWith("NT_CMS_");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -353,9 +396,8 @@ public class TerminalInfo {
|
||||
* @deprecated 只用来做历史代码兼容
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean isCMP()
|
||||
{
|
||||
if(this.newTerminalString == null)
|
||||
public boolean isCMP() {
|
||||
if (this.newTerminalString == null)
|
||||
return false;
|
||||
return this.newTerminalString.startsWith("NT_CMP_");
|
||||
}
|
||||
@ -385,7 +427,7 @@ public class TerminalInfo {
|
||||
}
|
||||
return terminal;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param terminal
|
||||
@ -400,8 +442,8 @@ public class TerminalInfo {
|
||||
|
||||
for (int i = enumList.size() - 1; i >= 0; i--) {
|
||||
String e = enumList.get(i);
|
||||
//把cms、cmp的优先级降低,间接提高了ent、proj的优先级。
|
||||
if("cms".equals(e) || "cmp".equals(e)) {
|
||||
// 把cms、cmp的优先级降低,间接提高了ent、proj的优先级。
|
||||
if ("cms".equals(e) || "cmp".equals(e)) {
|
||||
enumList.remove(i);
|
||||
enumList.add(e);
|
||||
}
|
||||
@ -423,5 +465,5 @@ public class TerminalInfo {
|
||||
TerminalInfo tm = new TerminalInfo(terminal);
|
||||
return tm.allNames();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user