package com.vci.client.uif.engine.client.tree;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.vci.client.omd.provider.ApProvider;
|
import com.vci.client.omd.provider.EnumProvider;
|
import com.vci.client.omd.statepool.StatePoolStart;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.omd.etm.EnumChild;
|
import com.vci.corba.omd.etm.EnumItem;
|
import com.vci.corba.omd.stm.StatePool;
|
import com.vci.omd.objects.OtherInfo;
|
|
/**
|
* @Title :TreePanelUtil.java
|
* @Description :
|
* @Copyright :宏博远达科技有限公司
|
* @Author :平台与规划部/ZhongGY/E-mail:zhonggy@vci-tech.com
|
* @Date :2015-6-26
|
* @Version :1
|
* @Other :产生注释:Alt+Shift+J
|
*/
|
public class TreePanelUtil {
|
|
/**
|
* @Title :getEnumAttrDisplayValue
|
* @Description :
|
* @param attrName
|
* @param attrValue
|
* @return
|
*/
|
public static String getEnumAttrDisplayValue(String attrName,String attrValue) {
|
String displayValue = "";
|
if (attrName == null || attrValue == null || attrName.trim().equals("") || attrValue.trim().equals("")) {
|
return displayValue;
|
}
|
try {
|
attrName = attrName.toLowerCase();
|
if (attrName.indexOf("f_oid.") > -1) {
|
attrName = attrName.replaceAll("f_oid.", "");
|
}
|
if (attrName.indexOf("t_oid.") > -1) {
|
attrName = attrName.replaceAll("t_oid.", "");
|
}
|
String enumAttrMetaName = getEnumAttrMetaName(attrName);
|
if ( !enumAttrMetaName.equals("")) {
|
// 枚举类型属性值获取
|
displayValue = getEnumAttrVauleName(enumAttrMetaName,attrValue);
|
}
|
} catch (Exception e) {
|
}
|
return displayValue;
|
}
|
|
private static Map<String, String> allEnumAttrMetaNames;
|
private static String getEnumAttrMetaName(String attrName) {
|
String emunAttrMetaName = "";
|
if (attrName.equalsIgnoreCase("parttype")) {
|
attrName = "parttype";
|
}
|
if (allEnumAttrMetaNames == null) {
|
allEnumAttrMetaNames = new HashMap<String, String>();
|
}
|
if (!allEnumAttrMetaNames.containsKey(attrName)) {
|
try {
|
OtherInfo otherInfo = OtherInfo.getOtherInfoByText(ApProvider.getAbItemByName(attrName).other);
|
allEnumAttrMetaNames.put(attrName, otherInfo.getEnumName());
|
} finally {
|
if (!allEnumAttrMetaNames.containsKey(attrName)) {
|
allEnumAttrMetaNames.put(attrName, "");
|
}
|
}
|
}
|
emunAttrMetaName = allEnumAttrMetaNames.get(attrName);
|
return emunAttrMetaName;
|
}
|
|
private static Map<String, Map<String, String>> allEnumAttrIDAndNames;
|
private static String getEnumAttrVauleName(String enumAttrMetaName,String enumAttrValue) {
|
String enumAtrrValueName = "";
|
if (allEnumAttrIDAndNames == null) {
|
allEnumAttrIDAndNames = new HashMap<String, Map<String, String>>();
|
}
|
Map<String, String> enumIDAndNamesMap;
|
if (!allEnumAttrIDAndNames.containsKey(enumAttrMetaName)) {
|
enumIDAndNamesMap = new HashMap<String, String>();
|
allEnumAttrIDAndNames.put(enumAttrMetaName, enumIDAndNamesMap);
|
EnumItem[] allEnumItems = EnumProvider.getInstance().getAllEnums();
|
for (int i = 0; i < allEnumItems.length; i++) {
|
EnumItem item = allEnumItems[i];
|
if (enumAttrMetaName.equalsIgnoreCase(item.name)) {
|
for (int j = 0; j < item.children.length; j++) {
|
EnumChild enumChild = item.children[j];
|
if (!enumIDAndNamesMap.containsKey(enumChild.value)) {
|
enumIDAndNamesMap.put(enumChild.value,
|
enumChild.name);
|
}
|
}
|
break;
|
}
|
}
|
}
|
enumIDAndNamesMap = allEnumAttrIDAndNames.get(enumAttrMetaName);
|
if (enumIDAndNamesMap != null
|
&& enumIDAndNamesMap.containsKey(enumAttrValue)) {
|
enumAtrrValueName = enumIDAndNamesMap.get(enumAttrValue);
|
}
|
return enumAtrrValueName;
|
}
|
|
public final static String LCSTATUS = "lcstatus";
|
private static Map<String, StatePool> statePoolsMap = null;
|
public static String getLifeCycleStatusDisplay(String key,String value) {
|
String lifeCycleStatusDisplay = "";
|
try {
|
if (statePoolsMap == null) {
|
statePoolsMap = getAllStatusInfo();
|
}
|
if (!key.equalsIgnoreCase(LCSTATUS) && !key.toLowerCase().endsWith("." + LCSTATUS)) {
|
return lifeCycleStatusDisplay;
|
}
|
if (statePoolsMap.containsKey(value)) {
|
lifeCycleStatusDisplay = statePoolsMap.get(value).tag;
|
}
|
} catch (Exception e) {
|
}
|
return lifeCycleStatusDisplay;
|
}
|
|
/**
|
* 获取所有的生命周期状态
|
* @return
|
*/
|
private static Map<String, StatePool> getAllStatusInfo() {
|
Map<String, StatePool> statePoolsMap = new HashMap<String, StatePool>();
|
try {
|
StatePool[] statePools = StatePoolStart.getService().getStatePools();
|
for(StatePool sp:statePools){
|
statePoolsMap.put(sp.name, sp);
|
}
|
} catch (VCIError e) {
|
e.printStackTrace();
|
}
|
return statePoolsMap;
|
}
|
|
}
|