Example usage for org.springframework.aop.support DefaultPointcutAdvisor DefaultPointcutAdvisor

List of usage examples for org.springframework.aop.support DefaultPointcutAdvisor DefaultPointcutAdvisor

Introduction

In this page you can find the example usage for org.springframework.aop.support DefaultPointcutAdvisor DefaultPointcutAdvisor.

Prototype

public DefaultPointcutAdvisor(Pointcut pointcut, Advice advice) 

Source Link

Document

Create a DefaultPointcutAdvisor, specifying Pointcut and Advice.

Usage

From source file:staticpc.StaticPointcutExample.java

public static void main(String[] args) {
    BeanOne one = new BeanOne();
    BeanTwo two = new BeanTwo();
    BeanOne proxyOne;/*from  www .j a v a  2 s  .  c o m*/
    BeanTwo proxyTwo;
    Pointcut pc = new SimpleStaticPointCut();
    Advice advice = new SimpleAdvice();
    Advisor advisor = new DefaultPointcutAdvisor(pc, advice);
    ProxyFactory pf = new ProxyFactory();
    pf.setTarget(one);
    pf.addAdvisor(advisor);
    proxyOne = (BeanOne) pf.getProxy();
    pf = new ProxyFactory();
    pf.setTarget(two);
    pf.addAdvisor(advisor);
    proxyTwo = (BeanTwo) pf.getProxy();
    proxyOne.foo();
    proxyOne.bar();
    proxyTwo.foo();
    proxyTwo.bar();
}

From source file:fr.norad.jaxrs.oauth2.core.tck.spring.Hibernate5MethodValidationPostProcessor.java

public void afterPropertiesSet() {
    this.advisor = new DefaultPointcutAdvisor(new AnnotationMatchingPointcut(Validated.class, true),
            new Hibernate5MethodValidationInterceptor());
}

From source file:pl.java.scalatech.config.AopPerformanceLogConfig.java

@Bean
public Advisor traceAdvisor() {
    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression("execution(public * org.springframework.data.repository.Repository+.*(..))");
    return new DefaultPointcutAdvisor(pointcut, interceptor());
}

From source file:example.springdata.jpa.interceptors.ApplicationConfiguration.java

public @Bean Advisor traceAdvisor() {

    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression("execution(public * org.springframework.data.repository.Repository+.*(..))");

    return new DefaultPointcutAdvisor(pointcut, interceptor());
}

From source file:com.capgemini.boot.trace.TraceLoggerRegistrar.java

@SettingBackedBean(setting = "pointcut", beanNameSuffix = "Advisor")
public Advisor createAdvisor(String pointcutExpression, TraceLoggerSettings settings) {
    Advisor advisor = null;//from w  ww . j  a v a  2  s.c  om

    if (settings.getEnabled()) {
        final AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
        pointcut.setExpression(generateAdvisorPointcutExpression(pointcutExpression));

        advisor = new DefaultPointcutAdvisor(pointcut,
                TraceLoggerConfigurationUtils.createTraceInterceptor(settings));
    }

    return advisor;
}

From source file:org.spring.data.jpa.sample.interceptors.ApplicationConfiguration.java

@Bean
public Advisor traceAdvisor() {

    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression("execution(public * org.springframework.data.repository.Repository+.*(..))");

    return new DefaultPointcutAdvisor(pointcut, interceptor());
}

From source file:com.ryantenney.metrics.spring.AdvisingBeanPostProcessor.java

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) {
    if (bean instanceof AopInfrastructureBean) {
        return bean;
    }//w ww.j a v  a  2s . c  o  m

    final Class<?> targetClass = AopUtils.getTargetClass(bean);

    if (AopUtils.canApply(pointcut, targetClass)) {
        final Advice advice = adviceFactory.getAdvice(bean, targetClass);
        final Advisor advisor = new DefaultPointcutAdvisor(pointcut, advice);

        if (bean instanceof Advised) {
            LOG.debug("Bean {} is already proxied, adding Advisor to existing proxy", beanName);

            ((Advised) bean).addAdvisor(0, advisor);

            return bean;
        } else {
            LOG.debug("Proxying bean {} of type {}", beanName, targetClass.getCanonicalName());

            final ProxyFactory proxyFactory = new ProxyFactory(bean);
            if (proxyConfig != null) {
                proxyFactory.copyFrom(proxyConfig);
            }
            proxyFactory.addAdvisor(advisor);

            final Object proxy = proxyFactory.getProxy(this.beanClassLoader);

            return proxy;
        }
    }

    return bean;
}

From source file:com.github.wnameless.tagwall.aop.TagwallAspectConfig.java

@Bean
public Advisor crudRepositoryDeleteIdOrEntityAdvisor() {
    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression(/*from   www.j  a  v  a 2 s . c  o m*/
            "execution(public void org.springframework.data.repository.CrudRepository+.delete(!Iterable))");

    return new DefaultPointcutAdvisor(pointcut, new MethodInterceptor() {

        @Override
        public Object invoke(MethodInvocation invocation) throws Throwable {
            Type genericType = invocation.getMethod().getGenericParameterTypes()[0];
            Object entity;
            Serializable id;
            if (genericType.equals(crudRepositoryGenericIdType)) {
                id = (Serializable) invocation.getArguments()[0];
                Method m = CrudRepository.class.getMethod("findOne", Serializable.class);
                entity = m.invoke(invocation.getThis(), id);
            } else {
                entity = invocation.getArguments()[0];
                id = getId(entity);
            }

            invocation.proceed();

            removeTags(entity.getClass().getName(), Arrays.asList(id));

            return null;
        }

    });
}

From source file:com.capgemini.boot.trace.TraceLoggerConfiguration.java

@Bean(name = "traceAnnotationAdvisor")
public Advisor traceAnnotationAdvisor() {
    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression(TRACE_ANNOTATION);

    return new DefaultPointcutAdvisor(pointcut, customizableTraceInterceptor());
}

From source file:org.pshow.ecm.security.MethodAuditPostProcessor.java

@Override
public void afterPropertiesSet() throws Exception {
    Pointcut pointcut = new AnnotationMatchingPointcut(this.auditAnnotationType, true);
    Advice advice = new MethodAuditInterceptor();
    this.advisor = new DefaultPointcutAdvisor(pointcut, advice);
}