Search in sources :

Example 46 with DefaultInterceptorChain

use of jp.ossc.nimbus.service.aop.DefaultInterceptorChain in project nimbus by nimbus-org.

the class HttpServletResponseDeflateInterceptorServiceTest method testInvokeFilterNoDef.

/**
 * レスポンス圧縮処理を行わずに、次のインターセプタを呼び出すテスト。
 * <p>
 * 条件:
 * <ul>
 * <li>HttpServletResponseDeflateInterceptorServiceインスタンスを生成する</li>
 * <li>ServletRequest/Responseのモックを生成</li>
 * <li>ServletRequestのInputStreamパラメータに変換元XMLストリームを設定</li>
 * <li>上記インスタンスを使ってコンテキストインスタンスを生成し、<BR>
 * invokeFilter(context, chain)を実行する</li>
 * </ul>
 * 確認:
 * <ul>
 * <li>HttpServletRequestに設定されている変換元のXMLストリームが正しく変換することを確認する</li>
 * </ul>
 */
public void testInvokeFilterNoDef() {
    try {
        if (!ServiceManagerFactory.loadManager("jp/ossc/nimbus/service/aop/interceptor/servlet/service-definitionTestdef.xml")) {
            System.exit(-1);
        }
        final HttpServletResponseDeflateInterceptorService ic = (HttpServletResponseDeflateInterceptorService) ServiceManagerFactory.getServiceObject("HttpServletResponseDeflateInterceptor");
        ic.startService();
        // ServletRequestのInputStreamパラメータに変換元XMLストリームを設定
        String inxml = "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n" + "<dataSet><schema><header name=\"TestHeader\">" + ":name,java.lang.String,,,\n:password,java.lang.String,,," + "</header></schema><header name=\"TestHeader\">" + "<name>TestName</name><password>TestPassWord</password></header></dataSet>";
        // ServletinputStreamのセット
        MockServletInputStream is = new MockServletInputStream(inxml.getBytes());
        // ServletRequest/Responseのモックを生成
        MockHttpServletRequest2 req = new MockHttpServletRequest2(is);
        ServletResponse res = new MockHttpServletResponse();
        MockFilterChain chain = new MockFilterChain();
        // エンコーディングセット
        req.setCharacterEncoding("Shift_JIS");
        // コンテキスト作成
        ServletFilterInvocationContext context = new ServletFilterInvocationContext((ServletRequest) req, res, (javax.servlet.FilterChain) chain);
        // インタセプタインスタンス生成
        DefaultInterceptorChain ichain = new DefaultInterceptorChain();
        // 入力ストリームは非圧縮
        ic.invokeFilter(context, (InterceptorChain) ichain);
    } catch (Throwable e) {
        e.printStackTrace();
        fail("例外発生");
    } finally {
        ServiceManagerFactory.unloadManager("jp/ossc/nimbus/service/aop/interceptor/servlet/service-definitionTestdef.xml");
    }
}
Also used : ServletResponse(javax.servlet.ServletResponse) ServletFilterInvocationContext(jp.ossc.nimbus.service.aop.ServletFilterInvocationContext) DefaultInterceptorChain(jp.ossc.nimbus.service.aop.DefaultInterceptorChain)

Example 47 with DefaultInterceptorChain

use of jp.ossc.nimbus.service.aop.DefaultInterceptorChain in project nimbus by nimbus-org.

the class HttpServletResponseDeflateInterceptorServiceTest method testInvokeFilter.

/**
 * レスポンスを圧縮処理を行うラッパーでラップして、次のインターセプタを呼び出すテスト。
 * <p>
 * 条件:
 * <ul>
 * <li>HttpServletResponseDeflateInterceptorServiceインスタンスを生成する</li>
 * <li>ServletRequest/Responseのモックを生成</li>
 * <li>ServletRequestのInputStreamパラメータに変換元XMLストリームを設定</li>
 * <li>上記インスタンスを使ってコンテキストインスタンスを生成し、<BR>
 * invokeFilter(context, chain)を実行する</li>
 * </ul>
 * 確認:
 * <ul>
 * <li>HttpServletRequestに設定されている変換元のXMLストリームが正しく変換することを確認する</li>
 * </ul>
 */
public void testInvokeFilter() {
    try {
        if (!ServiceManagerFactory.loadManager("jp/ossc/nimbus/service/aop/interceptor/servlet/service-definitionTestdef.xml")) {
            System.exit(-1);
        }
        final HttpServletResponseDeflateInterceptorService ic = (HttpServletResponseDeflateInterceptorService) ServiceManagerFactory.getServiceObject("HttpServletResponseDeflateInterceptor");
        ic.startService();
        // ServletRequestのInputStreamパラメータに変換元XMLストリームを設定
        String inxml = "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n" + "<dataSet><schema><header name=\"TestHeader\">" + ":name,java.lang.String,,,\n:password,java.lang.String,,," + "</header></schema><header name=\"TestHeader\">" + "<name>TestName</name><password>TestPassWord</password></header></dataSet>";
        // ServletinputStreamのセット
        MockServletInputStream is = new MockServletInputStream(inxml.getBytes());
        // ServletRequest/Responseのモックを生成
        MockHttpServletRequest req = new MockHttpServletRequest(is);
        ServletResponse res = new MockHttpServletResponse();
        MockFilterChain chain = new MockFilterChain();
        // エンコーディングセット
        req.setCharacterEncoding("Shift_JIS");
        // コンテキスト作成
        ServletFilterInvocationContext context = new ServletFilterInvocationContext((ServletRequest) req, res, (javax.servlet.FilterChain) chain);
        // インタセプタインスタンス生成
        DefaultInterceptorChain ichain = new DefaultInterceptorChain();
        // 入力ストリームは非圧縮
        ic.invokeFilter(context, (InterceptorChain) ichain);
    } catch (Throwable e) {
        e.printStackTrace();
        fail("例外発生");
    } finally {
        ServiceManagerFactory.unloadManager("jp/ossc/nimbus/service/aop/interceptor/servlet/service-definitionTestdef.xml");
    }
}
Also used : ServletResponse(javax.servlet.ServletResponse) ServletFilterInvocationContext(jp.ossc.nimbus.service.aop.ServletFilterInvocationContext) DefaultInterceptorChain(jp.ossc.nimbus.service.aop.DefaultInterceptorChain)

Aggregations

DefaultInterceptorChain (jp.ossc.nimbus.service.aop.DefaultInterceptorChain)47 DefaultInterceptorChainList (jp.ossc.nimbus.service.aop.DefaultInterceptorChainList)45 InvocationContext (jp.ossc.nimbus.service.aop.InvocationContext)43 DefaultMethodInvocationContext (jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext)40 Interceptor (jp.ossc.nimbus.service.aop.Interceptor)34 Invoker (jp.ossc.nimbus.service.aop.Invoker)33 InterceptorChain (jp.ossc.nimbus.service.aop.InterceptorChain)28 HashMap (java.util.HashMap)20 Map (java.util.Map)10 Context (jp.ossc.nimbus.service.context.Context)9 Properties (java.util.Properties)6 Random (java.util.Random)6 AttributeMetaData (jp.ossc.nimbus.core.AttributeMetaData)6 ServiceName (jp.ossc.nimbus.core.ServiceName)6 MethodInvocationContext (jp.ossc.nimbus.service.aop.MethodInvocationContext)6 Method (java.lang.reflect.Method)5 ServiceMetaData (jp.ossc.nimbus.core.ServiceMetaData)5 DefaultInvocationContext (jp.ossc.nimbus.service.aop.DefaultInvocationContext)5 DefaultContextService (jp.ossc.nimbus.service.context.DefaultContextService)5 MethodReflectionCallInvokerService (jp.ossc.nimbus.service.aop.invoker.MethodReflectionCallInvokerService)4