第5章 ルールの上書き


MTR で (またはカスタムルールでも)、配布されるコアルールを上書きできます。たとえば、ルールに一致する条件、作業、またはヒントテキストを変更できます。これは、元のルールのコピーを作成し、それをルールオーバーライドとしてマークし、必要な調整を行うことで行われます。

ルールを無効にするには、空の <rule> 要素を使用してルールのオーバーライドを作成します。

5.1. ルールの上書き

コアまたはカスタムルールを上書きできます。

手順

  1. 上書きするルールが含まれる XML ファイルをカスタムの rules ディレクトリーにコピーします。

    カスタムルールは、<MTR_HOME>/rules${user.home}/.mtr/rules/、または --userRulesDirectory コマンドライン引数で指定されたディレクトリーに配置できます。

  2. 上書きするルールの <rule> 要素のみが含まれるように XML ファイルを編集します。

    注記

    新しいルールセットによってオーバーライドされない元のルールセットのルールは、通常どおり実行されます。

  3. 同じルールとルールセット ID を保持するようにしてください。元のルール XML をコピーすると、ID が一致します。
  4. <overrideRules>true</overrideRules> 要素をルールセットメタデータに追加します。
  5. ルール定義を更新します。

    ルール定義では、すべてを変更することができます。新しいルールは、元のルールを完全に上書きします。

以下のルールは、weblogic ルールセットの weblogic-02000 ルールの effort1 から 3 に変更します。

ルール上書き定義の例

<?xml version="1.0"?>
<ruleset id="weblogic"
    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"> 1
    <metadata>
        ...
        <overrideRules>true</overrideRules> 2
    </metadata>
    <rules>
        <rule id="weblogic-02000" xmlns="http://windup.jboss.org/schema/jboss-ruleset"> 3
            <when>
                <javaclass references="weblogic.utils.StringUtils.{*}"/>
            </when>
            <perform>
                <hint effort="3" category-id="mandatory" title="WebLogic StringUtils Usage"> 4
                    <message>Replace with the StringUtils class from Apache Commons.</message>
                    <link href="https://commons.apache.org/proper/commons-lang/" title="Apache Commons Lang"/>
                    <tag>weblogic</tag>
                </hint>
            </perform>
        </rule>
    </rules>
</ruleset>

1
ruleset id が元の ruleset id と一致していることを確認します。
2
<overrideRules>true</overrideRules><metadata> セクションに追加します。
3
rule id が元の rule id と一致していることを確認します。
4
effort が更新されました。

MTR を実行すると、このルールは同じルール ID で元のルールを上書きします。Rule Provider Executions Overview の内容を確認して、新規ルールが使用されていることを確認できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.