windchill對象IBA屬性值的獲取工具類
import java.util.Hashtable; import java.util.Locale; import org.apache.log4j.Logger; import wt.iba.definition.litedefinition.AttributeDefDefaultView; import wt.iba.value.DefaultAttributeContainer; import wt.iba.value.IBAHolder; import wt.iba.value.IBAValueUtility; import wt.iba.value.litevalue.AbstractValueView; import wt.iba.value.service.IBAValueHelper; import wt.session.SessionHelper; import wt.util.WTException; public class IBAUtils { private static final Logger logger = Logger.getLogger(IBAUtils.class); private Hashtable<String, Object> ibaContainer = new Hashtable<String, Object>(); public String getIBAValue(String attributeLogicalIdentifier) { try { return getIBAValue(attributeLogicalIdentifier, SessionHelper.manager.getLocale()); } catch (WTException e) { logger.error("getIBAValue(String)", e); } return null; } protected String getIBAValue(String attributeLogicalIdentifier, Locale locale) throws WTException { if (this.ibaContainer.get(attributeLogicalIdentifier) == null) { return null; } AbstractValueView abstractvalueview = (AbstractValueView)((Object[])this.ibaContainer.get(attributeLogicalIdentifier))[1]; try { String value = IBAValueUtility.getLocalizedIBAValueDisplayString(abstractvalueview, locale); return value; } catch (WTException e) { logger.error("getIBAValue(String, Locale)", e); } return null; } public long getIBAID(String attributeLogicalIdentifier) throws WTException { if (this.ibaContainer.get(attributeLogicalIdentifier) == null) { return 0L; } AttributeDefDefaultView attributeDefDefaultView = (AttributeDefDefaultView)((Object[])this.ibaContainer.get(attributeLogicalIdentifier))[0]; return attributeDefDefaultView.getObjectID().getId(); } private void initializeIBA(IBAHolder ibaholder) { try { ibaholder = IBAValueHelper.service.refreshAttributeContainer(ibaholder, null, SessionHelper.manager.getLocale(), null); DefaultAttributeContainer defaultattributecontainer = (DefaultAttributeContainer)ibaholder.getAttributeContainer(); if (defaultattributecontainer != null) { AttributeDefDefaultView[] attributeDefDefaultViews = defaultattributecontainer.getAttributeDefinitions(); for (AttributeDefDefaultView attributeDefDefaultView : attributeDefDefaultViews) { AbstractValueView[] abstractValueView = defaultattributecontainer.getAttributeValues(attributeDefDefaultView); if(attributeDefDefaultView == null){ continue; } Object[] obj = new Object[]{attributeDefDefaultView,abstractValueView[0]}; this.ibaContainer.put(attributeDefDefaultView.getLogicalIdentifier().trim(), obj); } } } catch (Exception e) { logger.error("initializeIBA(IBAHolder)", e); } } public IBAUtils(IBAHolder ibaholder) { initializeIBA(ibaholder); } }
配置IDEA的Debug配置參數 我們先在設置裏面去找到Debugger,把debug圖標顯示出來 然後去View菜單裏面把工具導航按鈕給顯示出來 現在我們在IDEA的Run按鈕上應該就可以選擇Debug了,我們先在I
問題描述: 在編寫rbInfo類型的資源文件,編譯過後:在JSP調用時報在資源文件中找不到相應的Key 解決: 步驟一:找到相應的資源文件,檢查對應的key值是否統一 步驟二:檢查資源文件中**.value= 中的'='號前是否有空格
背景介紹: Windchill8.0中要實現一個產品和其多個零件組成情況時,例如實現:一個汽車有四個輪子,這個汽車是一個產品,而輪子是零件,四個就是他
背景介紹: 在Windchill中根據Name模糊查詢出最後版序的WTProduct 分析:在用到Name為條件的查詢時,在Windchill