構成管理コンテナを操作する場合に使用するメソッドと,そのメソッドの発行順序について説明します。ここでは,次の操作について説明します。なお,バージョンアップについては,バージョン付き構成管理コンテナだけで実行できます。それ以外の操作については,バージョン付き構成管理コンテナとバージョンなし構成管理コンテナのどちらでも実行できます。
これらの操作を実行する前に,まず,文書空間と接続して,トランザクションを開始してください。
それぞれの操作で使用するメソッドの詳細については,マニュアル「DocumentBroker Version 3 クラスライブラリ C++ リファレンス 基本機能編」を参照してください。
新しく構成管理コンテナを作成して,データベースに格納する場合,CdbrVersionTraceableContainer::CreateObjectメソッドまたはCdbrConfiguratedReferentialContainer::CreateObjectメソッドを使用します。メソッドの発行順序については,「3.2.3(1)文書の作成」を参照してください。ここでは,構成管理コンテナとしてCdbrVersionTraceableContainerオブジェクトおよびCdbrConfiguratedReferentialContainerオブジェクトを作成する場合の準備について示します。
構成管理コンテナと文書を構成管理型のコンテインメントによって関連づける場合に使用するメソッドと,そのメソッドの発行順序について説明します。
構成管理コンテナと文書を関連づけるコールシーケンスの例を次に示します。
pSession->Begin();
//…
//検索によって格納する文書および構成管理コンテナのOIIDを取得する
//…
CdbrConfiguratedReferentialContainer VrContainer;
//検索で取得したOIIDをオブジェクトに設定する
VrContainer.SetOIID(pSession, pOIID);
//構成管理コンテナにwriteロックを設定して,
//構成管理コンテナと文書をFLOATINGモードで関連づける
VrContainer.LinkVTFloatAndLock(NULL, pVrDoc, NULL, &pLinkId,
DMA_LOCK_WRITE);
VrContainer.ReleaseObject();
pSession->Commit();
構成管理コンテナと構成要素の関連づけを解除する場合は,関連づける場合と同様に構成管理コンテナに接続してから,CdbrVersionTraceableContainerクラスまたはCdbrConfiguratedReferentialContainerクラスで定義されているUnlinkVTAndLockメソッドまたはUnlinkVTメソッドをコールします。
構成管理コンテナに格納した文書との関連づけを解除するコールシーケンスの例を次に示します。
pSession->Begin();
//…
//検索によって関連づけを解除する文書および構成管理コンテナの
//OIIDを取得する
//…
CdbrConfiguratedReferentialContainer VrContainer;
//検索で取得したOIIDをオブジェクトに設定する
VrContainer.SetOIID(pSession, pOIID);
//構成管理コンテナが構成管理している文書の一覧を取得して,
//取得した文書一覧から関連づけを削除する文書のリンクIDを取得する
VrContainer.GetVTContaineeList(&bContinue, NULL, 0, NULL, 10,
&pVTObjList);
//構成管理コンテナにwriteロックを設定して,
//構成管理コンテナと文書を解除する
VrContainer.UnlinkVTAndLock(pLinkId,DMA_LOCK_WRITE);
VrContainer.ReleaseObject();
pSession->Commit();
構成管理コンテナの構成要素のバージョンの確定には,CdbrVersionTraceableContainer::SetVTFixメソッドまたはCdbrConfiguratedReferentialContainer::SetVTFixメソッドを使用します。また,バージョンの確定の解除には,CdbrVersionTraceableContainer::SetVTFloatメソッドまたはCdbrConfiguratedReferentialContainer::SetVTFloatメソッドを使用します。
構成要素のバージョンを確定するコールシーケンスの例を次に示します。
pSession->Begin();
//…
//検索によって該当する構成管理コンテナのOIIDを取得する
//…
CdbrConfiguratedReferentialContainer VrContainer;
//検索で取得したOIIDをオブジェクトに設定する
VrContainer.SetOIID(pSession,pOIID);
//構成管理コンテナが構成管理している文書の一覧を取得して,
//取得した一覧から構成管理モードをFIXにする文書のリンクIDを取得する
VrContainer.GetVTContaineeList(&bContinue, NULL, 0, NULL, 10,
&pVTObjList);
//一覧で取得した文書の一つの構成管理モードをFIXモードに確定する
VrContainer.SetVTFix(pLinkId, DBR_VTVERSION);
VrContainer.ReleaseObject();
//処理の確定
pSession->Commit();
バージョン付き構成管理コンテナをバージョンアップするには,文書のバージョンアップと同様に,チェックアウトおよびチェックインを実行します。このとき,構成要素(バージョン付き文書またはバージョン付き構成管理コンテナ)を管理している構成管理モードを適切に変更することによって,バージョン管理コンテナごとに構成要素のバージョンの履歴管理ができるようになります。
バージョン付き構成管理コンテナのバージョンごとに構成要素の履歴を管理する場合の手順を,次の図に示します。
図3-51 バージョンアップ構成管理コンテナのバージョンアップの手順
図3-51について説明します。
それぞれの構成要素のバージョンアップについては,「3.3.3 バージョン管理機能の操作」を参照してください。
バージョン付き構成管理コンテナであるCdbrConfiguratedReferentialContainerオブジェクトを削除する場合は,CdbrConfiguratedReferentialContainer::RemoveObjectメソッドを使用します。これによって,CdbrConfiguratedReferentialContainerオブジェクトを構成していたすべてのDMAオブジェクトが削除されます。
また,特定のバージョンに対応するバージョンなし構成管理コンテナであるCdbrVersionTraceableContainerオブジェクトは,次のどちらかの方法で削除します。
どちらのメソッドを使用した場合も,該当するバージョンのバージョンなし構成管理コンテナを構成していたDMAオブジェクトのVersionDescriptionオブジェクト,ContainerVersionオブジェクト,VersionTraceableContainmentRelationshipオブジェクト,DirectContainmentRelationshipオブジェクトおよびReferentialContainmentRelationshipオブジェクトが削除されます。
なお,バージョン付き構成管理コンテナおよび特定のバージョンに対応するバージョンなし構成管理コンテナを削除しても,包含していた文書やコンテナは削除されません。