W zależności od docelowego systemu operacyjnego klasy i interfejsy w pakietach sun.security.x509 oraz sun.security.util mogą zostać zastąpione klasami i interfejsami w pakietach com.ibm.security.x509 oraz com.ibm.security.util.
Szybka poprawka zmienia nazwy pakietów w taki sposób, aby używane były pakiety udostępniane przez środowisko IBM Java Runtime Environment. Reguła wykrywa pełne nazwy zawarte w instrukcjach importu i w treści kodu Java.
Nie należy uruchamiać szybkiej poprawki dla tej reguły, jeśli środowisko Java Runtime Environment nie zawiera równoważnych interfejsów API firmy IBM. Na przykład środowiska JRE dla systemów HP-UX i Solaris nie zawierają interfejsów API IBM.
Reguła wykrywa importy pakietów, takie jak:
|
import sun.security.x509.*; import sun.security.util.*; |
Szybka poprawka zamienia je na pakiety com.ibm.security.
|
import com.ibm.security.x509.*; import com.ibm.security.util.*; |
Po zastosowaniu szybkich poprawek dla tej reguły może być konieczne wprowadzenie zmian w kodzie. Zależy to od tego, jakie interfejsy API są używane i w jaki sposób. Aby ułatwić sobie wprowadzanie zmian wynikających z różnic między interfejsami API pakietu sun.security.x509 i pakietu com.ibm.security.x509, można użyć znaczników problemów Java dostępnych na platformie Eclipse. Poniżej przedstawiono kilka przykładów różnic:
com.ibm.security.x509 dodano modyfikator języka Java final, przez co klas tych nie można rozszerzać.sun.security.x509.ExtendedKeyUsageExtension nie ma odpowiednikacom.ibm.security.x509.OCSPNoCheckExtension nie ma odpowiednikacom.ibm.security.x509.X500Signer nie ma odpowiednika
AlgorithmId nie mają odpowiednikówCertificateIssuerName.DN_PRINCIPAL nie ma odpowiednikaInformacje dodatkowe dotyczące tej reguły znajdują się w następujących dokumentach: