use of org.apache.openejb.jee.Interceptor in project tomee by apache.
the class CheckInvalidInterceptorTest method testDeclaringInterceptorClass.
/**
* Should not get any failure message, as we explicitly configure the methods in the base class
*
* @return
*/
@Keys
public EjbJar testDeclaringInterceptorClass() {
final EjbJar ejbJar = new EjbJar();
final Interceptor subInterceptor = ejbJar.addInterceptor(new org.apache.openejb.jee.Interceptor(SubInterceptor.class));
subInterceptor.getPostConstruct().add(new LifecycleCallback(BaseInterceptor.class.getName(), "interceptPostConstruct"));
subInterceptor.getPreDestroy().add(new LifecycleCallback(BaseInterceptor.class.getName(), "interceptPreDestroy"));
subInterceptor.getAroundInvoke().add(new org.apache.openejb.jee.AroundInvoke(BaseInterceptor.class.getName(), "interceptAroundInvoke"));
subInterceptor.getAroundTimeout().add(new org.apache.openejb.jee.AroundTimeout(BaseInterceptor.class.getName(), "interceptAroundTimeout"));
return ejbJar;
}
use of org.apache.openejb.jee.Interceptor in project tomee by apache.
the class CheckInvalidInterceptorTest method test.
@Keys({ @Key(value = "interceptor.callback.badReturnType", count = 2), @Key(value = "interceptor.callback.invalidArguments", count = 2), @Key(value = "aroundInvoke.badReturnType", count = 2), @Key(value = "aroundInvoke.invalidArguments", count = 2), @Key("interceptor.callback.missing"), @Key("aroundInvoke.missing"), @Key("interceptorBinding.noSuchEjbName"), @Key("interceptorBinding.ejbNameRequiredWithMethod"), @Key("interceptor.callback.missing.possibleTypo") })
public EjbJar test() throws Exception {
final EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new StatelessBean(FooBean.class));
final Interceptor interceptor = ejbJar.addInterceptor(new org.apache.openejb.jee.Interceptor(CallbackMissingInterceptor.class));
interceptor.addAroundInvoke("wrongMethod");
interceptor.addPostConstruct("foo");
interceptor.addPostConstruct("wrongMethod");
final List<InterceptorBinding> interceptorBindings = ejbJar.getAssemblyDescriptor().getInterceptorBinding();
final InterceptorBinding binding = new InterceptorBinding("wrongEjbName");
// binding.setMethod(new NamedMethod("wrongMethod"));
interceptorBindings.add(binding);
final InterceptorBinding binding1 = new InterceptorBinding();
binding1.setMethod(new NamedMethod("aMethod"));
interceptorBindings.add(binding1);
return ejbJar;
}
use of org.apache.openejb.jee.Interceptor in project tomee by apache.
the class CheckInvalidAroundTimeoutTest method testInvalidAroundTimeoutReturnValue.
@Keys({ @Key(value = "aroundInvoke.badReturnType", count = 2), @Key(value = "aroundInvoke.mustThrowException", count = 2) })
public EjbJar testInvalidAroundTimeoutReturnValue() throws Exception {
final EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new StatelessBean("TestInvalidAroundTimeoutReturnValueBean", TestInvalidAroundTimeoutReturnValueBean.class));
ejbJar.addInterceptor(new Interceptor(TestInvalidAroundTimeoutReturnValueInterceptor.class));
return ejbJar;
}
use of org.apache.openejb.jee.Interceptor in project tomee by apache.
the class ThirdSLSBeanTest method module.
@Module
public EjbJar module() {
final EjbJar ejbJar = new EjbJar();
final StatelessBean bean = ejbJar.addEnterpriseBean(new StatelessBean(ThirdSLSBean.class));
final AssemblyDescriptor assembly = ejbJar.getAssemblyDescriptor();
assembly.addInterceptorBinding(new InterceptorBinding("*", new Interceptor(DefaultInterceptorOne.class)));
assembly.addInterceptorBinding(new InterceptorBinding("*", new Interceptor(DefaultInterceptorTwo.class)));
return ejbJar;
}
use of org.apache.openejb.jee.Interceptor in project tomee by apache.
the class FullyInterceptedTest method module.
@Module
public EjbJar module() {
final EjbJar ejbJar = new EjbJar();
final StatelessBean bean = ejbJar.addEnterpriseBean(new StatelessBean(FullyInterceptedBean.class));
final AssemblyDescriptor assembly = ejbJar.getAssemblyDescriptor();
assembly.addInterceptorBinding(new InterceptorBinding("*", new Interceptor(DefaultInterceptorOne.class)));
assembly.addInterceptorBinding(new InterceptorBinding("*", new Interceptor(DefaultInterceptorTwo.class)));
final InterceptorBinding b = assembly.addInterceptorBinding(new InterceptorBinding(bean));
b.setExcludeDefaultInterceptors(true);
b.setMethod(new NamedMethod("methodWithDefaultInterceptorsExcluded"));
return ejbJar;
}
Aggregations