自訂命名服務
「命名」服務使用 Windchill 服務委派機制,讓您為要建立的新 EPMDocument 指定下列各項:
• 設定 EPMDocument 的編號
• 設定 EPMDocument 的名稱
|
在 Windchill 10.0 之前可以在上載中使用命名服務自訂來使用自訂程式碼產生名稱與編號。但是,在 Windchill 10.0 之前,將無法在上載請求中將參數用於命名服務自訂。
|
|
「命名」服務只適用於上載動作。系統用於命名原則與自訂的優先順序如下所示。
• 名稱:
1. 命名服務自訂
2. 透過 Creo Parametric > 視窗明確指派的「共用名稱」
3. 名稱參數 ( > > > = <某些字串參數>)
4. 檔案名稱 (偏好設定 > > > 只在根據「檔案名稱」(CAD 名稱) 指派「名稱」時生效)
• 編號:
1. 命名服務自訂
2. 編號參數 ( > > > )
3. 檔案名稱 (偏好設定 > > > 只在根據「檔案名稱」[CAD 名稱] 指派「編號」時生效)
|
欲自訂命名服務:
1. 建立實行介面 EPMDocumentNamingDelegate 的「Java 類別」。介面定義如下:
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier(DocIdentifier
docIdentifier);
}
類別 DocIdentifier 的定義如下。
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.HashMap;
public class DocIdentifier
{
{
private String m_modelName;
private String m_docName;
private String m_docNumber;
private HashMap m_parameters;
}
public DocIdentifier(String modelName, String
docName, String docNumber, HashMap params)
{
m_modelName = modelName;
m_docName= docName;
m_docNumber= docNumber;
m_parameters= params;
}
/** get the CAD Name for the model **/
public String getModelName()
{
return m_modelName;
}
/** get the EPMDocument name for the model **/
public String getDocName()
{
return m_docName;
}
/** set the EPMDocument name for the model **/
public void setDocName(String docname)
{
m_docName = docname;
}
/** set the EPMDocument number for the model **/
public void setDocNumber(String docnumber)
{
m_docNumber = docnumber;
}
/** get the EPMDocument number for the model **/
public String getDocNumber()
{
return m_docNumber;
}
/** get the Pro/E designated parameters for the model. These are
name-value pairs indexed by the name **/
public HashMap getParameters()
{
return m_parameters;
}
}
2. 在新類別中,在此方法中實行命名/編號 EPMDocument 的企業邏輯:
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
◦ DocumentIdentifier 物件擁有 EPMDocument 名稱與編號資訊,這些是「上載服務」為 EPMDocument 建立的資訊。
使用 DocIdentifier.getModelName() 取得此 DocIdentifier 物件所代表的 EPMDocument 的「CAD 名稱」。
◦ Creo Parametric 指派的參數可用來設定 EPMDocument 編號/命名。
使用 DocIdentifier.getParameters() 取得關聯參數。
使用 DocIdentifier 上的「設定」方法來設定新名稱/編號值。如果可行,「上載服務」將會使用這些建議。
3. 編輯 site.xconf 檔案 (可在 <Windchill> 中找到) 以新增下列屬性來指出伺服器上自訂服務的可用性:
◦ <Service context="default" name="com.ptc.windchill.uwgm.proesrv.c11n.EPMDocumentNamingDelegate" targetFile="codebase/service.properties">
◦ <Option cardinality="singleton" requestor="wt.epm.EPMDocument" serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocument NamingDelegate"/>
◦ </Service>
然後,使用 xconfmanager 工具將變更套用至 service.properties 檔案 (執行 -xconfmanager p)
使用您類別的路徑來取代 serviceClass 的值 (也就是使用您類別的路徑來取代 "com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNamingDelegate")。
4. 重新啟動應用伺服器。