新しいドキュメントサブクラスのモデル化
ここでは、Windchill の Information Modeler に用意されている Java アノテーションを使用して、新しい整数属性を持つドキュメントサブクラスを作成します。
1. Windows の「スタート」メニューから windchill シェルを開き、src ディレクトリに移動します。
2. 新しいクラスは com.acme というパッケージに配置されます。com/acme ディレクトリに移動するか、com ディレクトリを作成し、このディレクトリ内に acme ディレクトリを作成します。
3. acme ディレクトリに AcmeModeledDoc.java という新しいソースファイルを作成します。ソースファイルの内容は次のとおりです。
package com.acme;
import wt.doc.WTDocument;
import wt.util.WTException;
import com.ptc.windchill.annotations.metadata.*;
@GenAsPersistable(superClass=WTDocument.class,
properties={
@GeneratedProperty(name="sizeC",
type=Integer.class, initialValue="3",
javaDoc="Integer value to represent the size of C.")},
iconProperties=@IconProperties(standardIcon="netmarkets/images/stop.gif",
openIcon="netmarkets/images/stop.gif")
)
public class AcmeModeledDoc extends _AcmeModeledDoc {
static final long serialVersionUID = 1;
public static AcmeModeledDoc newAcmeModeledDoc()
throws WTException {
AcmeModeledDoc instance = new AcmeModeledDoc();
instance.initialize();
return instance;
}
}
アイコン名では意味がわからなくても、特徴的なイメージがあれば、後で UI の中から選択しやすくなります。
4. コマンドプロンプトに戻り、次のコマンドでファイルをコンパイルします。
tools class -Dclass.includes=com\acme\*
コンパイルされたクラスファイルと生成された ClassInfo.ser ファイル (これには新しいクラスに関するメタデータが含まれています) は ..\Windchill\codebase\com\acme\ に配置されます。
5. 次に、新しいドキュメントクラスの SQL スクリプトを生成します。windchill シェルで次のコマンドを入力します。
tools -Dgen.input=com.acme.* sql_script
これにより、新しいサブクラスのデータベーススキーマを作成するために必要な SQL コマンドが生成されます。生成されたスキーマは ..Windchill\db\sql\com\acme\create_AcmeModeledDoc_Table.sql に配置されます。
6. SQL ファイルを調べることによって、生成された内容を確認できます。
7. 次に、新しいドキュメントクラスのテーブルと関連データベースコンポーネントを作成します。これを行うには、sqlplus で以下の 2 つのスクリプトを実行します。
..\Windchill\db\sql\com\Make_pkg_com_Table.sql..\Windchill\db\sql\com\Make_pkg_com_Index.sql
8. windchill シェルで sqlplus にログインします。
sqlplus <db_user>/<db_user_pw>@<sid>
9. " SQL " プロンプトで、以下のようなフルパス名を使用して 2 つのスクリプトを実行します。
@<Windchill>\db\sql\com\Make_pkg_com_Table.sql@<Windchill>\db\sql\com\Make_pkg_com_Index.sql
10. describe コマンドを実行して、クラスに作成した新しいテーブル列を確認します。クラスに直接追加した属性の "SIZEC" 列があるのを確認します。
describe AcmeModeledDoc
テーブル内の列数を計算し、空であることを確認することもできます。select count(*) from AcmeModeledDoc;
11. メソッドサーバーを再起動します。
12. 組織管理者として、「タイプおよび属性の管理」を開きます。これで、モデル化ドキュメントサブクラスがタイプ階層に表示されます。モデルのサブクラスに指定した赤いフラグの「中止」アイコンを確認してください。
13. ここで、sizeC 属性の表示名を変更し、それを各レイアウト内のグループに追加する必要があります。タイプを編集し、sizeC 属性のデフォルト名を Size C に変更します。「Save」(保存) をクリックします。
14. 「作成」レイアウトを選択します。Size C 属性を「属性」列にドラッグし、「保存」をクリックします。
15. 「その他の属性」レイアウトを選択します。Size C 属性を「属性」列にドラッグし、「保存」をクリックして、「OK」をクリックします。