XML 構文解析で WebLogic サーブレット属性を使用しない

この規則は、XML の構文解析で WebLogic setAttribute および getAttribute 属性が使用されている場合にそれを検出します。 この規則は、Java コードを検出します。別の規則は、WebLogic weblogic.servlet.XMLParsingHelper が使用されている場合にそれを検出します。 これにより、以下のフィーチャーが使用可能になります。

以下のケースが検出されます。
  1. すべてのメソッド呼び出し setAttribute ここで、最初の引数は、以下のいずれかの値を持つストリング・リテラルです。
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    例:
    request.setAttribute("org.xml.sax.helpers.DefaultHandler", someObject)

  2. すべてのメソッド呼び出し setAttribute ここで、最初の引数はストリング変数またはストリング・フィールドへの参照であり、その変数またはフィールドは以下のいずれかの値に初期化されます。
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    例:
       String handler = "org.xml.sax.helpers.DefaultHandler";
       request.setAttribute(handler, someObject);

  3. すべてのメソッド呼び出し getAttribute ここで、引数は以下のいずれかの値を持つストリング・リテラルです。
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    例: Document myDocument = request.getAttribute("org.w3c.dom.Document")

  4. すべてのメソッド呼び出し getAttribute ここで、引数はストリング変数またはストリング・フィールドへの参照であり、その変数またはフィールドは以下のいずれかの値に初期化されます。
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    例:
       String handler = "org.w3c.dom.Document";
       Document myDoc = request.getAttribute(handler);


.コードの構造に応じて コードの構造に応じて、自動修正は以下のいずれかのオプションを提供する:
  1. メソッド呼び出しの削除。

    例:
       request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
       request.getAttribute("org.w3c.dom.Document");
    自動修正が前の行に適用されると、その行は削除される。
    注: オブジェクトが以下のことを確認してください。 myHandler 後でコード内で使用される場合は、他の方法で初期化されます。

  2. 変数初期化指定子のセクションの削除。

    例:
       Document myDocument = request.getAttribute("org.w3c.dom.Document");
    自動修正が適用されると、以前のコードは次のように変更される:
       Document myDocument;
    注: オブジェクトが以下のことを確認してください。 myDocument 後でコード内で使用される場合は、他の方法で初期化されます。