第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 つの異なるコンストラクターをサポートします。
VariableGuardProcessEventListener
public VariableGuardProcessEventListener(String requiredRole, IdentityProvider identityProvider) { this("restricted", requiredRole, identityProvider); }
VariableGuardProcessEventListener
public 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
メタデータプロパティー形式で定義します。