Example usage for org.springframework.aop.aspectj.annotation AspectJProxyFactory addAspect

List of usage examples for org.springframework.aop.aspectj.annotation AspectJProxyFactory addAspect

Introduction

In this page you can find the example usage for org.springframework.aop.aspectj.annotation AspectJProxyFactory addAspect.

Prototype

public void addAspect(Class<?> aspectClass) 

Source Link

Document

Add an aspect of the supplied type to the end of the advice chain.

Usage

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test(expected = IllegalArgumentException.class)
public void testWithInstanceWithNonAspect() throws Exception {
    AspectJProxyFactory pf = new AspectJProxyFactory();
    pf.addAspect(new TestBean());
}

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test
@SuppressWarnings("unchecked")
public void testSerializable() throws Exception {
    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(new TestBean());
    proxyFactory.addAspect(LoggingAspectOnVarargs.class);
    ITestBean proxy = proxyFactory.getProxy();
    assertTrue(proxy.doWithVarargs(MyEnum.A, MyOtherEnum.C));
    ITestBean tb = (ITestBean) SerializationTestUtils.serializeAndDeserialize(proxy);
    assertTrue(tb.doWithVarargs(MyEnum.A, MyOtherEnum.C));
}

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test
@SuppressWarnings("unchecked")
public void testWithInstance() throws Exception {
    MultiplyReturnValue aspect = new MultiplyReturnValue();
    int multiple = 3;
    aspect.setMultiple(multiple);//  www. j  av a2  s . co m

    TestBean target = new TestBean();
    target.setAge(24);

    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(target);
    proxyFactory.addAspect(aspect);

    ITestBean proxy = proxyFactory.getProxy();
    assertEquals(target.getAge() * multiple, proxy.getAge());

    ITestBean serializedProxy = (ITestBean) SerializationTestUtils.serializeAndDeserialize(proxy);
    assertEquals(target.getAge() * multiple, serializedProxy.getAge());
}

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test(expected = IllegalArgumentException.class)
public void testWithNonSingletonAspectInstance() throws Exception {
    AspectJProxyFactory pf = new AspectJProxyFactory();
    pf.addAspect(new PerThisAspect());
}

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test // SPR-13328
@SuppressWarnings("unchecked")
public void testProxiedVarargsWithEnumArray() throws Exception {
    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(new TestBean());
    proxyFactory.addAspect(LoggingAspectOnVarargs.class);
    ITestBean proxy = proxyFactory.getProxy();
    assertTrue(proxy.doWithVarargs(MyEnum.A, MyOtherEnum.C));
}

From source file:org.springframework.aop.aspectj.annotation.AspectProxyFactoryTests.java

@Test // SPR-13328
@SuppressWarnings("unchecked")
public void testUnproxiedVarargsWithEnumArray() throws Exception {
    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(new TestBean());
    proxyFactory.addAspect(LoggingAspectOnSetter.class);
    ITestBean proxy = proxyFactory.getProxy();
    assertTrue(proxy.doWithVarargs(MyEnum.A, MyOtherEnum.C));
}

From source file:org.unitedinternet.cosmo.event.aop.EventLogAdviceTest.java

/**
 * SetUp./*from  www  .j  a v a2 s  . c  om*/
 * @throws Exception - if something is wrong this exception is thrown.
 */
@Before
public void setUp() throws Exception {
    testHelper = new TestHelper();
    securityManager = new MockSecurityManager();
    storage = new MockDaoStorage();
    calendarDao = new MockCalendarDao(storage);
    contentDao = new MockContentDao(storage);
    eventLogDao = new MockEventLogDao();
    service = new StandardContentService();
    lockManager = new SingleVMLockManager();
    service.setContentDao(contentDao);
    service.setLockManager(lockManager);
    service.setTriageStatusQueryProcessor(new StandardTriageStatusQueryProcessor());
    service.init();

    // create a factory that can generate a proxy for the given target object
    AspectJProxyFactory factory = new AspectJProxyFactory(service);

    // add aspect
    EventLogAdvice eva = new EventLogAdvice();
    eva.setEnabled(true);
    eva.setSecurityManager(securityManager);
    eva.setEventLogDao(eventLogDao);
    eva.init();
    factory.addAspect(eva);

    // now get the proxy object...
    proxyService = factory.getProxy();
}