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

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

Introduction

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

Prototype

public AspectJProxyFactory(Class<?>... interfaces) 

Source Link

Document

Create a new AspectJProxyFactory .

Usage

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

@Test(expected = IllegalArgumentException.class)
public void testWithNonAspect() {
    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(new TestBean());
    proxyFactory.addAspect(TestBean.class);
}

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

@Test
public void testWithSimpleAspect() throws Exception {
    TestBean bean = new TestBean();
    bean.setAge(2);//from   w w w .  j  a va2 s . c  o  m
    AspectJProxyFactory proxyFactory = new AspectJProxyFactory(bean);
    proxyFactory.addAspect(MultiplyReturnValue.class);
    ITestBean proxy = proxyFactory.getProxy();
    assertEquals("Multiplication did not occur", bean.getAge() * 2, proxy.getAge());
}

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

@Test
public void testWithPerThisAspect() throws Exception {
    TestBean bean1 = new TestBean();
    TestBean bean2 = new TestBean();

    AspectJProxyFactory pf1 = new AspectJProxyFactory(bean1);
    pf1.addAspect(PerThisAspect.class);

    AspectJProxyFactory pf2 = new AspectJProxyFactory(bean2);
    pf2.addAspect(PerThisAspect.class);

    ITestBean proxy1 = pf1.getProxy();/*from w  ww  .  ja  v  a2  s. co  m*/
    ITestBean proxy2 = pf2.getProxy();

    assertEquals(0, proxy1.getAge());
    assertEquals(1, proxy1.getAge());
    assertEquals(0, proxy2.getAge());
    assertEquals(2, proxy1.getAge());
}

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);/*from  w w  w . j a  v a2 s. com*/

    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 // 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.//ww w . j  a  v a2  s . c o m
 * @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();
}