package org.jboss.test.aop.bean;
import org.jboss.aop.Advised;
public class CallingPOJO
{
POJO pojo;
NonadvisedPOJO nonpojo;
public CallingPOJO()
{
CallerInterceptor.called = false;
pojo = new POJO();
if (!CallerInterceptor.called)
{
throw new RuntimeException("constructor caller interceptor didn't work from within constructor");
}
CallerInterceptor.called = false;
pojo.someMethod();
if (!CallerInterceptor.called)
{
throw new RuntimeException("caller interceptor didn't work");
}
CallerInterceptor.called = false;
nonpojo = new NonadvisedPOJO("helloworld");
if (!CallerInterceptor.called)
{
throw new RuntimeException("constructor caller interceptor didn't work");
}
CallerInterceptor.called = false;
nonpojo.remoteTest();
if (!CallerInterceptor.called)
{
throw new RuntimeException("caller interceptor didn't work");
}
if (nonpojo instanceof Advised)
{
throw new RuntimeException("nonpojo is Advised when it shouldn't be");
}
}
public void callSomeMethod()
{
CallerInterceptor.called = false;
pojo = new POJO();
if (!CallerInterceptor.called)
{
throw new RuntimeException("constructor caller interceptor didn't work within method");
}
CallerInterceptor.called = false;
pojo.someMethod();
if (!CallerInterceptor.called)
{
throw new RuntimeException("caller interceptor didn't work");
}
}
public void nocallSomeMethod()
{
CallerInterceptor.called = false;
pojo = new POJO();
if (CallerInterceptor.called)
{
throw new RuntimeException("constructor caller interceptor didn't work, interceptor was invoked when it shouldn't have been");
}
pojo.someMethod();
if (CallerInterceptor.called)
{
throw new RuntimeException("caller interceptor didn't work, caller interceptor was invoked when it shouldn't have been");
}
}
public void callUnadvised()
{
CallerInterceptor.called = false;
nonpojo = new NonadvisedPOJO("helloworld");
if (!CallerInterceptor.called)
{
throw new RuntimeException("consturctor caller interceptor didn't work");
}
CallerInterceptor.called = false;
nonpojo.remoteTest();
if (!CallerInterceptor.called)
{
throw new RuntimeException("caller interceptor didn't work");
}
if (nonpojo instanceof Advised)
{
throw new RuntimeException("nonpojo is Advised when it shouldn't be");
}
}
}