use of jp.ossc.nimbus.service.aop.InvocationContext in project nimbus by nimbus-org.
the class ExceptionWrapInterceptorServiceTest method test2.
public void test2() throws Throwable {
ServiceManagerFactory.registerManager("Test");
ExceptionWrapInterceptorService interceptor1 = new ExceptionWrapInterceptorService();
ServiceManagerFactory.registerService("Test", "ExceptionWrapInterceptor", interceptor1);
Interceptor interceptor2 = new Interceptor() {
public Object invoke(InvocationContext context, InterceptorChain chain) throws Throwable {
throw new IOException("test");
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
Properties mapping = new Properties();
mapping.setProperty("java.lang.IllegalArgumentException", "java.lang.UnsupportedOperationException");
interceptor1.setWrapExceptionMapping(mapping);
ServiceManagerFactory.findManager("Test").startAllService();
try {
new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor1, interceptor2 }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext());
fail();
} catch (IOException e) {
assertEquals("test", e.getMessage());
}
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.InvocationContext in project nimbus by nimbus-org.
the class ExceptionWrapInterceptorServiceTest method test3.
public void test3() throws Throwable {
ServiceManagerFactory.registerManager("Test");
ExceptionWrapInterceptorService interceptor1 = new ExceptionWrapInterceptorService();
ServiceManagerFactory.registerService("Test", "ExceptionWrapInterceptor", interceptor1);
Interceptor interceptor2 = new Interceptor() {
public Object invoke(InvocationContext context, InterceptorChain chain) throws Throwable {
throw new IllegalArgumentException();
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
Properties mapping = new Properties();
mapping.setProperty("java.lang.RuntimeException", "java.lang.UnsupportedOperationException");
interceptor1.setWrapExceptionMapping(mapping);
interceptor1.setMessage("例外が発生しました。ラップします。");
ServiceManagerFactory.findManager("Test").startAllService();
try {
new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor1, interceptor2 }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext());
fail();
} catch (UnsupportedOperationException e) {
assertEquals("例外が発生しました。ラップします。", e.getMessage());
}
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.InvocationContext in project nimbus by nimbus-org.
the class ExceptionWrapInterceptorServiceTest method test4.
public void test4() throws Throwable {
ServiceManagerFactory.registerManager("Test");
ExceptionWrapInterceptorService interceptor1 = new ExceptionWrapInterceptorService();
ServiceManagerFactory.registerService("Test", "ExceptionWrapInterceptor", interceptor1);
Interceptor interceptor2 = new Interceptor() {
public Object invoke(InvocationContext context, InterceptorChain chain) throws Throwable {
throw new IllegalArgumentException();
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
Properties mapping = new Properties();
mapping.setProperty("java.lang.IllegalArgumentException", "java.lang.UnsupportedOperationException");
interceptor1.setWrapExceptionMapping(mapping);
interceptor1.setMessageKey("WARN");
interceptor1.setMessageArgs(new String[] { "例外が発生しました。ラップします。" });
ServiceManagerFactory.findManager("Test").startAllService();
try {
new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor1, interceptor2 }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext());
fail();
} catch (UnsupportedOperationException e) {
assertEquals("例外が発生しました。ラップします。", e.getMessage());
}
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.InvocationContext in project nimbus by nimbus-org.
the class MethodAsynchronousInterceptorServiceTest method test3.
public void test3() throws Throwable {
ServiceManagerFactory.registerManager("Test");
MethodAsynchronousInterceptorService interceptor = new MethodAsynchronousInterceptorService();
ServiceManagerFactory.registerService("Test", "MethodAsynchronousInterceptor", interceptor);
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor.setResponseTimeout(200);
interceptor.setFailToWaitResponseTimeout(false);
ServiceManagerFactory.findManager("Test").startAllService();
assertNull(new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
Thread.sleep(500);
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext(new Integer(100), Integer.class.getMethod("toString", (Class[]) null), null)));
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.InvocationContext in project nimbus by nimbus-org.
the class MethodAsynchronousInterceptorServiceTest method test1.
public void test1() throws Throwable {
ServiceManagerFactory.registerManager("Test");
MethodAsynchronousInterceptorService interceptor = new MethodAsynchronousInterceptorService();
ServiceManagerFactory.registerService("Test", "MethodAsynchronousInterceptor", interceptor);
try {
ServiceManagerFactory.findManager("Test").createAllService();
ServiceManagerFactory.findManager("Test").startAllService();
final Date invokeTime = new Date();
assertNull(new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
Thread.sleep(500);
invokeTime.setTime(System.currentTimeMillis());
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext(new Integer(100), Integer.class.getMethod("toString", (Class[]) null), null)));
Date returnTime = new Date();
Thread.sleep(1000);
assertTrue(returnTime.before(invokeTime));
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
Aggregations