I'm trying to reduce the complexity of this piece of code following a SonarQube error. I have several similar blocks, and even if I try to extract them into private methods, the Sonar error persists.
There is the code :
if (contratPPH.getPieceIdentite() != null && fichePersonne.getPieceIdentite() != null) {
if (contratPPH.getPieceIdentite().getAutoriteDelivrance() != null && fichePersonne.getPieceIdentite().getAutoriteDelivrance() != null) {
if (!(fichePersonne.getPieceIdentite().getAutoriteDelivrance().equals(contratPPH.getPieceIdentite().getAutoriteDelivrance()))) {
contratPPH.getPieceIdentite().setAutoriteDelivrance(fichePersonne.getPieceIdentite().getAutoriteDelivrance());
}
} else if (fichePersonne.getPieceIdentite().getAutoriteDelivrance() != null) {
contratPPH.getPieceIdentite().setAutoriteDelivrance(fichePersonne.getPieceIdentite().getAutoriteDelivrance());
} else if (contratPPH.getPieceIdentite().getAutoriteDelivrance() != null) {
pieceIdentite.setAutoriteDelivrance(contratPPH.getPieceIdentite().getAutoriteDelivrance());
}
} else if (contratPPH.getPieceIdentite() == null && fichePersonne.getPieceIdentite() != null) {
if (fichePersonne.getPieceIdentite().getAutoriteDelivrance() != null) {
contratPPH.getPieceIdentite().setAutoriteDelivrance(fichePersonne.getPieceIdentite().getAutoriteDelivrance());
}
} else if (contratPPH.getPieceIdentite() != null && fichePersonne.getPieceIdentite() == null) {
if (contratPPH.getPieceIdentite().getAutoriteDelivrance() != null) {
pieceIdentite.setAutoriteDelivrance(contratPPH.getPieceIdentite().getAutoriteDelivrance());
}
}
If anyone has a lead I'm interested :)
contratPPH,fichePersonne); if that's fixed it still needs a decent explanation and title. \$\endgroup\$