3.2. 基本的な XML ルールの作成
本セクションでは、MTA XML ルールを作成する方法を説明します。これは、すでに MTA がインストールされていることを前提としています。インストール手順は、MTA の CLI ガイド を参照してください。
3.2.1. 基本的な XML ルールテンプレートの作成 リンクのコピーリンクがクリップボードにコピーされました!
MTA XML ルールは conditions および actions で設定され、以下のルールパターンを使用します。
when(condition)
perform(action)
otherwise(action)
以下の内容で、XML ルールの基本的な構文であるファイルを作成します。
XML ファイル名には、.windup.xml 拡張子を含める必要があります。それ以外の場合には、MTA は新しいルールを評価しません。
<?xml version="1.0"?>
<ruleset id="unique-ruleset-id"
xmlns="http://windup.jboss.org/schema/jboss-ruleset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://windup.jboss.org/schema/jboss-ruleset http://windup.jboss.org/schema/jboss-ruleset/windup-jboss-ruleset.xsd">
<metadata>
<!-- Metadata about the rule including a description,
source technology, target technology, and any
add-on dependencies -->
</metadata>
<rules>
<rule id="unique-ruleset-id-01000">
<when>
<!-- Test a condition... -->
</when>
<perform>
<!-- Perform this action when condition is satisfied -->
</perform>
<otherwise>
<!-- Perform this action when condition is not satisfied -->
</otherwise>
</rule>
<rules>
</ruleset>
3.2.2. ruleset メタデータの作成 リンクのコピーリンクがクリップボードにコピーされました!
XML ルールセットの metadata 要素は、説明、ソーステクノロジーおよびターゲットテクノロジー、アドオンの依存関係などのルールセットに関する追加情報を提供します。メタデータによりタグの指定が可能になり、ルールセットに関する追加情報を提供できます。
<metadata> の例
<ruleset id="unique-ruleset-id"
xmlns="http://windup.jboss.org/schema/jboss-ruleset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://windup.jboss.org/schema/jboss-ruleset http://windup.jboss.org/schema/jboss-ruleset/windup-jboss-ruleset.xsd">
<metadata>
<description>
This is the description.
</description>
<dependencies>
<addon id="org.jboss.windup.rules,windup-rules-javaee,2.0.1.Final"/>
<addon id="org.jboss.windup.rules,windup-rules-java,2.0.0.Final"/>
</dependencies>
<sourceTechnology id="weblogic" versionRange="(10,12]"/>
<sourceTechnology id="ejb" versionRange="(2,3]"/>
<targetTechnology id="eap" versionRange="(5,6]"/>
<targetTechnology id="ejb" versionRange="(2,3]"/>
<tag>require-stateless</tag>
<tag>require-nofilesystem-io</tag>
<executeAfter>AfterRulesetId</executeAfter>
<executeBefore>BeforeRulesetId</executeBefore>
</metadata>
<rules>
...
</rules>
</ruleset>
3.2.3. ルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
個々のルールは <rules> 要素に含まれます。これには、1 つ以上の when 条件と実行アクションが含まれます。
有効なルール構文は、XML rule schema を参照してください。
3.2.3.1. 条件の作成 リンクのコピーリンクがクリップボードにコピーされました!
XML ルール <when> 要素は条件をテストします。以下は、有効な <when> 条件の一覧です。
| 要素 | 説明 |
|---|---|
| <and> | 標準の論理 and 演算子。 |
| <filecontent> | ファイル内の文字列またはテキスト (プロパティーファイルなど) を検索します。 |
| <file-mapping> | 内部に保存されているファイルモデルにファイル名を定義します。 |
| <javaclass> | Java クラスで一致のテスト。 |
| <javaclass-ignore> | 検出の処理で無視する javaclass を除外します。 |
| <not> | 標準の論理 not 演算子。 |
| <or> | 標準の論理 or 演算子。 |
| <package-mapping> | 組織またはライブラリーにパッケージ名を定義します。 |
| <project> | 依存関係などのプロジェクトの特性をテストします。 |
| <true> | 常に一致します。 |
| <xmlfile> | XML ファイルで一致をテストします。 |
特定の構文は、Java クラス、XML ファイル、プロジェクト、またはファイルコンテンツを評価するルールを作成するかどうかによって異なります。
3.2.3.2. アクションの作成 リンクのコピーリンクがクリップボードにコピーされました!
XML ルール <perform> 要素は、条件が満たされるとアクションを実行します。このルールで許可される操作には、アプリケーションリソースの分類、移行手順のインラインヒント、移行情報へのリンク、およびプロジェクトライン項目の報告が含まれます。以下は、有効な <perform> アクションの一覧です。
| 要素 | 説明 |
|---|---|
| <classification> | この操作により、ファイル全体に適用するメタデータが追加されます。たとえば、Java クラスが JMS メッセージリスナーの場合、ファイル全体に適用される情報が含まれる JMS Message Listener というタイトルで分類を追加できます。ファイル全体の作業レベルを設定することもできます。 |
| <hint> | この操作により、ファイル内の行にメタデータが追加されます。これにより、コードのセクションを移行するヒントまたはインライン情報が提供されます。 |
| <iteration> | これは、ルール内で定義される暗黙的な変数または明示的な変数を繰り返し処理することを指定します。 |
| <lineitem> | これは、アプリケーションの概要ページに表示される高レベルのメッセージを提供します。 |
| <link> | これにより、追加の情報や移行タスクに関するドキュメントへの HTML リンクが提供されます。 |
| <xslt> | これは、XML ファイルの変換方法を指定します。 |