aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs1810/490315/FailingAspect.java
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());
    }

}