blob: 4da191447ce5e925986e00b898d68a8df9b8dc49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package test;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
@Aspect
public class FailingAspect {
SomeContext authenticationContext;
@SuppressWarnings("unchecked")
@Around("execution(* test..SomeServiceImpl.someMethod(test.SomeCriteria))" +
"&& @annotation(test.SomeAnno)")
public SomePiece<Collection<SomeDTO>> interceptSomeMethod(ProceedingJoinPoint pjp) throws Throwable {
SomePiece<Collection<SomeDTO>> piece = (SomePiece<Collection<SomeDTO>>) pjp.proceed();
List<SomeDTO> filteredResult = piece.getData().stream().filter(item ->
authenticationContext.getPermissionDetails().checkAccess(
item.getTag(), SomeEnum.R)).collect(Collectors.toList());
return new SomePiece<>(filteredResult, piece.isLast());
}
}
|