Esta regra detecta o uso de sequências e classes específicas do WebLogic que são usadas para JDBC.
As cadeias literais a seguir são detectadas.
- weblogic.jdbc.rmi.Driver
- jdbc:weblogic:rmi
- jdbc:weblogic:jts
- weblogic.server.url
- weblogic.jdbc.datasource
- weblogic.user
- weblogic.credential
Por exemplo, o código a seguir será detectado:
- propertiess.put("weblogic.jdbc.datasource", "myDataSource").newInstance();
- java.sql.Driver myDriver = (java.sql.Driver) Class.forName("weblogic.jdbc.rmi.Driver").newInstance();
Instâncias dos seguintes objetos ou das operações cast são detectadas.
- weblogic.jdbc.extensions.WLConnection
- weblogic.jdbc.vendor.oracle.OracleConnection
- weblogic.jdbc.vendor.oracle.OracleArray
- weblogic.jdbc.vendor.oracle.OracleStruct
- weblogic.jdbc.vendor.oracle.OracleRef
- weblogic.jdbc.vendor.oracle.OracleThinBlob
- weblogic.jdbc.vendor.oracle.OracleThinClob
O código a seguir mostra exemplos de uso de detecção do objeto WLConnection:
- Instância do objeto (Tipo Qualificado): weblogic.jdbc.extensions.WLConnection myWLConnection
- Instância do objeto (Tipo Simples): WLConnection myWLConnection2
- Cast de Objeto (Tipo Qualificado): java.sql.Connection vendorConn = ((weblogic.jdbc.extensions.WLConnection) myConnection).getVendorConnection();
- Cast de Objeto (Tipo Simples) java.sql.Connection vendorConn = ((WLConnection) myConnection).getVendorConnection();
Os casos de Tipo Simples são detectados quando uma dessas duas instruções de importação estão presentes:
- import weblogic.jdbc.extensions.WLConnection;
- import weblogic.jdbc.extensions.*;