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 がコード内で後に使用される場合は、別の方法で初期化されることを確認します。