Es ist ziemlich einfach, @Image eines Pfades mit einer statischen Zeichenkette zu vergleichen, aber wie man 2 Pfade '@ Image vergleicht?PMD Xpath, wie zu vergleichen 2 @Image?
-Code, der die Regel ausgelöst werden soll:
public class Foo implements {
public String checkDBConnexion() {
try {
int result = jdbcTemplate.queryForObject("SELECT 1 FROM dual ", Integer.class);
} catch (DataAccessException e) {
// This is Ok : throw new MyException(test, e);
// this is not : hrow new MyException(test);
// This is also not ok if there are no thrown;
return "KO : " + e.getMessage();
}
}
}
Xpath für die param name des Catch-Block:
//CatchStatement[//FormalParameter//VariableDeclaratorId]
Xpath für den Variablennamen des geworfenen Methode:
//ThrowStatement//Arguments//Expression//Name
Es ist einfach, beide mit 'e' zu vergleichen:
//CatchStatement[//FormalParameter//VariableDeclaratorId[@Image = 'e']]
//CatchStatement[//ThrowStatement//Arguments//Expression//Name[@Image = 'e']]
Wie kann ich sie miteinander vergleichen?
Auch wenn Sie einen Link mit detailliertem PMD XPath Synthax haben. Der Grund PMD Seite hat ... auch der Grund;)