第43章 変数タグ
ランタイム時に使用するデータを格納する変数。変数の動作をより細かく制御するには、BPMN ケースファイルでケース変数とローカル変数にタグ付けできます。タグは、特定の変数にメタデータとして追加する単純な文字列値です。
Red Hat Process Automation Manager は、ケースとローカル変数の以下のタグをサポートします。
-
required: ケースを開始するための要件として変数を設定します。要件である変数なしでケースインスタンスを起動すると、Red Hat Process Automation Manager は
VariableViolationExceptionエラーを生成します。 -
readonly: 変数が情報提供のみを目的としており、設定できるのはケースの実行中に 1 回のみであることを示します。readonly 変数の値がいずれかの時点で変更されると、Red Hat Process Automation Manager は
VariableViolationExceptionエラーを生成します。 -
restricted:
VariableGuardProcessEventListenerで使用するタグで、既存のロールをもとに変数を変更できるパーミッションが付与されていることを示します。2 つ目のコンストラクターを使用して、新規タグ名を渡す場合には、restricted タグは他のタグ名に置き換えることができます。
VariableGuardProcessEventListener クラスは、DefaultProcessEventListener クラスから拡張されたもので、2 つの異なるコンストラクターをサポートします。
VariableGuardProcessEventListenerpublic VariableGuardProcessEventListener(String requiredRole, IdentityProvider identityProvider) { this("restricted", requiredRole, identityProvider); }VariableGuardProcessEventListenerpublic VariableGuardProcessEventListener(String tag, String requiredRole, IdentityProvider identityProvider) { this.tag = tag; this.requiredRole = requiredRole; this.identityProvider = identityProvider; }したがって、以下の例に示すように、許可されたロール名とユーザーロールを返す ID プロバイダーを使用して、イベントリスナーをセッションに追加する必要があります。
ksession.addEventListener(new VariableGuardProcessEventListener("AdminRole", myIdentityProvider));上記の例では、
VariableGuardProcessEventListenerメソッドで、変数にセキュリティー制約タグ (restricted) が付いているかどうかを確認します。必要なロールがユーザーに割り当てられていない場合 (例:AdminRole) には、Red Hat Process Automation Manager はVariableViolationExceptionエラーを生成します。注記: Business Central UI (例:internal、input、output、business-relevant、およびtracked) に表示される変数タグは、Red Hat Process Automation Manager ではサポートされません。
タグは、![CDATA[TAG_NAME]] 形式で定義されたタグ値を使用し、customTags メタデータプロパティーとして BPMN プロセスソースファイルに直接追加できます。
たとえば、以下の BPMN プロセスは、required タグを approved プロセス変数に適用します。
図43.1 BPMN モデラーでタグ付けされた変数の例

BPMN ファイルでタグ付けされた変数の例
<bpmn2:property id="approved" itemSubjectRef="ItemDefinition_9" name="approved">
<bpmn2:extensionElements>
<tns:metaData name="customTags">
<tns:metaValue><![CDATA[required]]></tns:metaValue>
</tns:metaData>
</bpmn2:extensionElements>
</bpmn2:property>
必要に応じて、変数に複数のタグを使用できます。BPMN ファイルでカスタム変数タグを定義して、Red Hat Process Automation Manager プロセスイベントリスナーが変数データを利用できるようにすることも可能です。カスタムタグは、標準の変数タグのように Red Hat Process Automation Manager のランタイムに影響を与えることはせず、情報提供のみを目的としています。カスタム変数タグは、標準の Red Hat Process Automation Manager 変数タグに使用する場合と同じ customTags メタデータプロパティー形式で定義します。