ネーミングサービスのカスタマイズ
ネーミングサービスでは、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 で "set" メソッドを使用して、新しい名前/番号値を設定します。アップロードサービスでは、適切な場合はこれらの値を使用します。
3. <Windchill> にある site.xconf ファイルを編集して、サーバー上のカスタマイズサービスの使用可能性を示す次のプロパティを追加します。
◦ <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. メソッドサーバーを再起動します。