Я использую метод search
, который находится внутри моего BaseRepository
, чтобы вернуть список на основе заданных условий поиска.Я использую запрос гибернации для этого.Некоторые значения в этом списке будут зашифрованы.Поэтому я хочу изменить этот список, прежде чем он будет возвращен с использованием Spring AOP.returnList
в следующем коде содержит list
результата поиска, к которому я обратился с помощью AOP.Я использую метод расшифровки, чтобы сделать дешифрование строки в этом списке, если строка зашифрована.Но как я могу внести изменения в следующий код, чтобы отразить в точном результате поиска.Я имею в виду, как расшифровка, сделанная на Аспекте, отразится в исходном списке.
@Aspect
@Service
public class DecryptionAspect {
@AfterReturning(value="(execution(* search(..)) )" +
"&& target(com.erp.core.repo.IBaseRepository) " +
"&& args(..)",returning="returnList")
public void decrypt(List returnList) throws Exception
{
Iterator itr = returnList.iterator();
while(itr.hasNext()){
Object[] obj = (Object[]) itr.next();
for(int i=0;i<obj.length;i++){
if(obj[i]!=null)
EncryptUtil.decrypt(obj[i].toString());
}
}
}
}