第2章 スタートガイド
カスタム MTA ルールの作成を開始するには、ルールの作成について確認 するか、クイックスタートを確認 してください。
2.1. 最初の XML ルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、最初の MTA XML ベースのルールを作成してテストするプロセスを説明します。これは、すでに MTA がインストールされていることを前提としています。インストール手順は、CLI ガイド を参照してください。
この例では、アプリケーションが <class-loading> 要素を含む jboss-web.xml ファイルの定義を行うインスタンスを検出するルールを記述します。また、コードの移行方法を説明するドキュメントへのリンクを提供します。
ルールのディレクトリー構造の作成
最初のルールと、テストに使用するデータファイルを含むディレクトリー構造を作成します。
mkdir -p /home/USER_NAME/migration-rules/rules mkdir -p /home/USER_NAME/migration-rules/data
$ mkdir -p /home/USER_NAME/migration-rules/rules
$ mkdir -p /home/USER_NAME/migration-rules/data
このディレクトリー構造は、生成された MTA レポートを保持するためにも使用されます。
ルールをテストするためのデータの作成
-
/home/USER_NAME/migration-rules/data/サブディレクトリーにjboss-web.xmlファイルを作成します。 以下の内容にコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ルールの作成
MTA XML ベースのルールは、以下のルールパターンを使用します。
when(condition) perform(action) otherwise(action)
when(condition)
perform(action)
otherwise(action)
ルールセットとルールの XML 要素については、XML ルールの構造 セクションで詳しく説明します。構文例を使用した XML ルールの作成の詳細については、基本的な XML ルールの作成 を参照してください。
/home/USER_NAME/migration-rules/rules/サブディレクトリーにJBoss5-web-class-loading.windup.xmlという名前の XML ファイルを作成します。以下の内容にコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記MTA は、拡張子が
.windup.xmlまたは.rhamt.xmlのファイルを XML ベースのルールとして識別するため、必ずこの命名規則を使用してください。そうしないと、ルールが評価されません。ルールセットとルールに一意の識別子を追加します。
-
UNIQUE_RULESET_IDを、適切なルールセット ID (例:JBoss5-web-class-loading) に置き換えます。 -
UNIQUE_RULE_IDを、適切なルール ID (例:JBoss5-web-class-loading_001) に置き換えます。
-
次のルールセットアドオン依存関係を追加します。
<dependencies> <addon id="org.jboss.windup.rules,windup-rules-javaee,3.0.0.Final"/> <addon id="org.jboss.windup.rules,windup-rules-java,3.0.0.Final"/> </dependencies>
<dependencies> <addon id="org.jboss.windup.rules,windup-rules-javaee,3.0.0.Final"/> <addon id="org.jboss.windup.rules,windup-rules-java,3.0.0.Final"/> </dependencies>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ソースおよびターゲットのテクノロジーを追加します。
-
SOURCE_IDをeapに置き換えます。 -
TARGET_IDをeapに置き換えます。
-
ソースおよびターゲットのテクノロジーバージョンを設定します。
-
SOURCE_VERSION_RANGEを(4,5)に置き換えます。 -
TARGET_VERSION_RANGEを[6,)に置き換えます。
この構文のヘルプについては、Apache Maven バージョン範囲の仕様 を参照してください。
-
when条件を完了します。このルールは XML ファイルの一致をテストするため、ファイルの評価には
xmlfileが使用されます。jboss-webの子であるclass-loading要素と一致するには、xpath 式jboss-web/class-loadingを使用します。<when> <xmlfile matches="jboss-web/class-loading" /> </when><when> <xmlfile matches="jboss-web/class-loading" /> </when>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このルールの
performアクションを完了します。-
説明的なタイトルと作業レベル
1を使用して分類を追加します。 ヒントに情報メッセージと、移行の詳細を説明するドキュメントへのリンクを提供します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
説明的なタイトルと作業レベル
ルールは完了し、以下の例のようになるはずです。
ルールのインストール
MTA ルールは、ルールを適切なディレクトリーに配置してインストールされます。カスタムルールを配置できる場所については、ルールを MTA に追加する を参照してください。
JBoss5-web-class-loading.windup.xml ファイルを RHAMT_HOME/rules/ ディレクトリーにコピーします。
cp /home/USER_NAME/migration-rules/rules/JBoss5-web-class-loading.windup.xml RHAMT_HOME/rules/
$ cp /home/USER_NAME/migration-rules/rules/JBoss5-web-class-loading.windup.xml RHAMT_HOME/rules/
ルールのテスト
端末を開き、以下のコマンドを実行して、テストファイルを入力引数として、出力レポートのディレクトリーとして渡します。
RHAMT_HOME/bin/rhamt-cli --sourceMode --input /home/USER_NAME/migration-rules/data --output /home/USER_NAME/migration-rules/reports --target eap:6
$ RHAMT_HOME/bin/rhamt-cli --sourceMode --input /home/USER_NAME/migration-rules/data --output /home/USER_NAME/migration-rules/reports --target eap:6
以下の結果が表示されるはずです。
Report created: /home/USER_NAME/migration-rules/reports/index.html
Access it at this URL: file:///home/USER_NAME/migration-rules/reports/index.html
Report created: /home/USER_NAME/migration-rules/reports/index.html
Access it at this URL: file:///home/USER_NAME/migration-rules/reports/index.html
レポートを確認する
レポートを確認して、予想される結果が表示されることを確認します。MTA レポートの詳細は、MTA のCLI ガイド の レポートの確認 セクションを参照してください。
-
Web ブラウザーで
/home/USER_NAME/migration-rules/reports/index.htmlを開きます。 ルールが実行されていることを確認します。
- 主な編集ページから、Rule providers execution overview リンクをクリックし、Rule Providers Execution Overview を開きます。
JBoss5-web-class-loading_001ルールを探して、Status? がCondition metで、Result? がsuccessであることを確認します。図2.1 ルール実行のテスト
ルールがテストデータと一致していることを確認します。
-
メインの発行ページから、この例の
データであるアプリケーションまたは入力フォルダーの名前をクリックします。 - Application Details レポートリンクをクリックします。
jboss-web.xml リンクをクリックして、ソースレポート を表示します。
<class-loading>行が強調表示されており、カスタムルールからのヒントがインラインで表示されます。図2.2 ルール一致
ファイルの上部には、一致するルールの分類が表示されます。リンクアイコンを使用すると、そのルールの詳細を表示できます。この例では、
jboss-web.xmlファイルが1つのストーリーポイントを生成した別のルール (JBoss web application descriptor (jboss-web.xml)) と一致することに注意してください。これは、カスタムルールから1つのストーリーポイントと組み合わせて、このファイルの合計部分を2にまとめます。
-
メインの発行ページから、この例の