Qual é a sintaxe declarativa do AspectJ para substituir um argumento
Isso foi respondido anteriormente com sintaxe de anotação:O Aspectj sobrescreve um argumento de um método
Mas não consigo descobrir como fazer isso com a sintaxe declarativa do AspectJ. O seguinte deve adicionar "Cocô" na frente de cada seqüência de caracteres no método, mas isso não ocorre.
public aspect UserInputSanitizerAdvisor {
pointcut unSafeString() : execution(@RequestMapping * * (..));
Object around() : unSafeString() {
//thisJoinPoint.getArgs();
//proceed();
System.out.println("I'm Around");
Object[] args = thisJoinPoint.getArgs();
if (args != null) {
for (int i = 0; i < args.length; i++) {
Object o = args[i];
if (o != null && o instanceof String) {
String s = (String) o;
args[i] = "poop: " + s;
}
}
}
return proceed();
}
}
Não consigo descobrir como dar "proceda ()" a todos os argumentos.