組み込みアクション

組み込みアクションを使用すると、マッピング・ルールによって、オブジェクトを無視したり、オブジェクトのプロパティーを設定したり、オブジェクトとの間の関係を作成したりすることができます。
マッピング・ルールが評価されるすべての操作で、それらのすべてのアクションが使用されるわけではありません。
以下に組み込みアクションを示します。

IGNORE アクション

IGNORE アクションは、オブジェクトを無視する必要があることを意味します。移行操作でこのアクションを使用した場合は、移行ソースのロケーションにそのオブジェクトが存在しないことと同じになります。ワークエリア・コンフリクトの検出でこのアクションを使用した場合は、このアクションの対象となる未制御のファイルが無視され、ワークエリア・コンフリクトとして報告されません。予約語 IGNORE では、大/小文字が区別されません。

例: WHEN %name ~ '*.tmp' IGNORE

この例では、.tmp サフィックスの付いたオブジェクトが無視されます。

SET アクション

SET アクションは、潜在的な Rational Synergy オブジェクトまたは実際の Rational Synergy オブジェクトを表す移行オブジェクト の、指定されたプロパティーを設定します。このアクションが使用されるケースには、以下の 3 つがあります。
  • ワークエリア・コンフリクトの検出でこのアクションが実行された場合は、未制御のオブジェクトのコンフリクトを解消するために Rational Synergy オブジェクトが作成される場合に使用されるデフォルトのタイプが、このアクションによって決定されます。
  • ユーザーが Rational Synergy タイプを明示的に指定していない作成操作でこのアクションが実行された場合は、使用されるデフォルトのタイプがこのアクションによって決定されます。
  • 移行操作の一環としてこのアクションが実行された場合は、対応する属性が、移行によって生成されるインポート・パッケージに記述されます。

以下にこの組み込みアクションの構文を示します。

SET nameExpression TO valueExpression

SET TYPE TO valueExpression

最初の形式では、ストリングに変換される nameExpression を使用してプロパティーの名前を指定します。このストリングは、Rational Synergy の有効な属性名でなければなりません。2 番目の形式は、簡易形として提供されているもので、nameExpression に「type」を指定した場合と同じ操作を実行できます。SETTO、および TYPE の各予約語は、大/小文字が区別されません。

valueExpression では、プロパティーに設定する値を指定します。

例:

WHEN %name ~ '*.java' SET TYPE TO 'java'

WHEN %name ~ '*.perl' SET 'type' TO 'perl'

この例では、.java サフィックス付きのオブジェクトが作成されてその Rational Synergy タイプが java に設定され、.perl サフィックス付きのオブジェクトが作成されてその Rational Synergy タイプが perl に設定されます。

移行で使用された場合、生成されるインポート・パッケージで記述される Rational Synergy 属性のタイプは、以下の表に示すように、valueExpression の結果のタイプによって変わります。

表 1. valueExpression の結果のタイプ
値のタイプ Synergy 属性のタイプ
整数 integer
浮動小数点数 float
Boolean boolean
String 改行文字を含む値は text になります。改行文字を含まない値は、string になります。
その他のタイプ 値は Java™ の toString() メソッドを使用して String に変換され、前述の String に関するルールが適用されます。
移行で使用する場合は、以下の制約事項があります。
  • Rational Synergy の組み込み属性 nameversiontype、および owner は、string タイプでなければなりません。
  • subsystem 属性を設定しても効果はありません。この Rational Synergy 属性にはインスタンスの値が保持されます。インスタンスは、移行で作成されたインポート・パッケージがインポートされるときに Rational Synergy によって自動的に決定されます。
  • Rational Synergy の組み込み属性 create_time および modify_time は、time タイプでなければなりません。
  • プロジェクトのルート・ディレクトリーの name は変更できません。これは、そのルート・ディレクトリーを使用するプロジェクトの name と常に同じでなければなりません。
  • 履歴のリーフでない非プロジェクト・オブジェクトの場合は、status を「working」などの非静的な状態に設定できません。

BECOME アクションと MAKE アクション

BECOME アクションと MAKE アクションは、移行操作において、移行対象のオブジェクトと別のオブジェクトの間の関係を表すために使用されます。

BECOME アクションは、指定されたオブジェクトから評価対象のオブジェクトへの、名前の付いた関係を作成します。MAKE アクションは、評価対象のオブジェクトから指定されたオブジェクトへの、名前の付いた関係を作成します。これらのアクションの構文は以下のとおりです。

BECOME relationExpression OF objectExpression

MAKE objectExpression MY relationshipExpression

BECOMEOFMAKE、および MY の各予約語は、大/小文字が区別されません。

relationExpression はストリングに変換され、移行によって生成されるインポート・パッケージで記述される関係の名前を指定します。この名前は、Rational Synergy の有効な関係名でなければなりません。

objectExpression はストリングに変換されます。これは、既存の Rational Synergy オブジェクトの 4 部構成のオブジェクト名形式でなければなりません。

例:

WHEN %name='Utils.java'

BECOME 'associated_cv' OF 'task12:1:task:probtrac'

この例では、Utils.java という名前のファイルに、オブジェクト task12:1:task:probtrac からそのファイルへの associated_cv 関係が設定されます。

STOP アクション

STOP アクションは、移行操作において、現行オブジェクトに対するマッピング・ルールの処理を停止するために使用します。このアクションを使用することで、以前に評価されたルールのアクションがその後のルールによってオーバーライドされるのを防ぐことができます。


フィードバック